当前位置: 首页 > news >正文

Design Compiler:默认配置文件

相关阅读

Design Compilerhttps://blog.csdn.net/weixin_45791458/category_12738116.html?spm=1001.2014.3001.5482


当启动Design Compiler时,它会自动执行三个设置文件中的命令,这些文件具有相同的文件名.synopsys_dc.setup,但位于不同的目录中,它们可以包含初始化变量、命令别名等偏好。Design Compiler按以下顺序读取并执行这三个目录中的设置文件:

Design Compiler安装目录(....../syn/U-2022.12-SP1/admin/setup/.synopsys_dc.setup)

这个系统级的设置文件(默认存在)包含Synopsys定义的系统变量以及为主机的所有用户提供的通用Design Compiler设置信息,只有系统管理员可以修改此文件。

用户家目录(/home/....../.synopsys_dc.setup)

这个用户定义的设置文件(需要用户创建)可以用于定义用户偏好的Design Compiler工作环境的变量。此文件中重复定义的变量会覆盖系统级设置文件中的相应变量。

当前工作目录(./.synopsys_dc.setup)
这个特定于设计的设置文件(需要用户创建)可以包含影响此目录中所有设计的变量。要使用此文件,则必须从此目录启动Design Compiler。此文件中重复定义的变量会覆盖用户定义的设置文件和系统级设置文件中的相应变量。

例1给出了一个.synopsys_dc.setup的例子。

# 定义别名 alias h history alias rc "report_constraint -all_violators"

一些ASIC和EDA供应商会提供一个程序,可以创建.synopsys_dc.setup文件,其中包含适当的命令来将命名转换为符合其规则(类似正则表达式中的捕获替换)。

例2是一个转换命名规则的例子,它是某一布局工具供应商创建的命名规则示例,这些命名规则执行以下操作:

  • 限制标识符只含有字母、数字和下划线(某些情况下,标识符可能会出现其他字符,比如[]和/,这种标识符叫转义标识符)
  • 限制标识符不以下划线开头和结尾.
  • 将DesignWare单元名称更改为有效名称(首先将"*cell*"更改为"U",随后将"*-return"更改为"RET",其中*表示任意零或多个字符)

不同的供应商可能使用不同的命名约定,请与供应商确认需要遵循的命名约定,如果需要更改任何线网或端口名称,使用define_name_rules和change_names命令。

define_name_rules simple_names -allowed "A-Za-z0-9_" \ -last_restricted "_" \ -first_restricted "_" \ -map { {{"\*cell\*","U"}, {"*-return","RET"}} }

提示

这些默认设置文件中只应存在一些便捷设置比如定义alias别名,而不应该存在任何与具体项目相关的设置,以避免发生意外行为。所有具体项目相关的设置可以通过显式执行参考方法(RMgen)所定义的脚本完成。

如果想禁止这三个默认设置文件的读取和执行,在启动dc_shell时添加-no_init选项即可。

某些变量必须在启动工具之前设置。在工具启动之后更改这些变量不会产生任何效果。这样的变量的一个例子是sh_enable_line_editing变量,它用于启用命令行编辑器 。如果该变量设置为false,则无法使用左右方向键移动光标,无法使用上下方向键查询命令历史,无法使用TAB键自动补齐。

查看dc_shell生成的command.log文件,可以看到三个默认设置文件的读取和执行过程,如下所示。

// command.log文件 ***** source /opt/Synopsys/syn/U-2022.12-SP1/admin/setup/.synopsys_dc.setup #@ # -- Starting source /opt/Synopsys/syn/U-2022.12-SP1/admin/setup/.synopsys_dc.setup ***** #@ # -- End source /opt/Synopsys/syn/U-2022.12-SP1/admin/setup/.synopsys_dc.setup source /home/zhangchen/.synopsys_dc.setup #@ # -- Starting source /home/zhangchen/.synopsys_dc.setup ***** #@ # -- End source /home/zhangchen/.synopsys_dc.setup source /home/zhangchen/work/.synopsys_dc.setup #@ # -- Starting source /home/zhangchen/work/.synopsys_dc.setup ***** #@ # -- End source /home/zhangchen/work/.synopsys_dc.setup

GUI界面

当用户以GUI方式启动dc_shell时(即添加-gui选项),除了以上三个默认配置文件外,后续还会从以下文件加载GUI偏好和视图设置:~/.synopsys_dc_gui/preferences.tcl(新版本)或~/.synopsys_dv_prefs.tcl(旧版本)。随后读取位于Design Compiler安装目录、用户家目录和当前工作目录中GUI配置文件.synopsys_dv_gui.tcl。

关于其他EDA工具的默认配置文件,可以参考下面的博客。

IC Compiler:默认配置文件https://chenzhang.blog.csdn.net/article/details/155114390?spm=1011.2415.3001.5331

Spyglass:默认配置文件https://chenzhang.blog.csdn.net/article/details/147862185?spm=1011.2415.3001.5331

PrimeTime:默认配置文件https://chenzhang.blog.csdn.net/article/details/145979432?spm=1011.2415.3001.5331

Formality:默认配置文件https://chenzhang.blog.csdn.net/article/details/144987221?spm=1011.2415.3001.5331

Library Compiler:默认配置文件https://chenzhang.blog.csdn.net/article/details/160090484?spm=1011.2415.3001.5331

http://www.cnnetsun.cn/news/2996683.html

相关文章:

  • 量化模型部署工具llama.cpp
  • Django-Templated-Email测试与调试:确保邮件发送万无一失的终极指南 [特殊字符]
  • 无头浏览器架构重构:Lightpanda如何实现9倍内存效率的技术突破
  • Zircon扩展开发:如何自定义组件和创建插件
  • 开源项目rutracker-proxy深度评测:安全、高效、免费的Rutracker访问工具
  • 950基础矩阵乘法TLA示例
  • PhoneVR项目路线图:未来功能和发展方向展望
  • 终极iOS越狱指南:使用palera1n轻松解锁iPhone系统权限
  • 如何用AI+BI平台在3分钟内让数据开口说话?
  • 从零到一:如何用AFDKO打造专业的OpenType字体?
  • 告别单调终端:3步打造你的专属Terminator主题生态系统
  • 如何让喜欢的角色住进桌面?5分钟快速上手DyberPet桌宠系统
  • 如何快速理解YOLOv7评估指标:新手必读的完整指南
  • Chonky国际化方案:如何实现多语言文件浏览器界面
  • 别再找 Prompt 模板了:提示词的本质,是你和 AI 的任务契约
  • 分布式调度系统 — scheduler-worker执行器详解
  • Linux线程3.0-线程同步与互斥,C/C++互斥锁。
  • 大模型微调灾难性遗忘2026:LoRA+SFT+DPO联合缓解的工程方案
  • 增量量距离保护:破解IBR电网继电保护难题的核心技术
  • Spring AI Agent Skills 工程化实践:解耦、契约与可插拔
  • 4sapi工作流引擎:2026生产级Agent的确定性架构实践
  • Vibe Coding:从指令编程到意图驱动的开发范式革命
  • DESIGN.md:从静态文档到可执行契约的工程实践
  • Spring AI Alibaba:Java企业级大模型集成的基础设施协议
  • Vue3+Vite性能优化实战:构建、响应式与加载链路闭环
  • Python3安装后command not found的根因与解决方案
  • Python3环境搭建的底层原理与四条技术路径
  • Burp Suite实战指南:从入门到精通的Web安全测试工具系统学习
  • AI生成代码如何安全落地:工程化落地流水线实践
  • 自动驾驶感知系统实战:多传感器融合与BEV+Occupancy落地