DC综合完整脚本以及操作实例

  1. 脚本最终成品。.synopsys_dc.setup与syn-script.tcl。前面的文件定义各种库以及各种搜索路径,后者定义综合的约束以及输出结果文件。
  2. 启动dc,dc会自动的加载第一个文件,其中定义了各种路径以及库,默认用的是TSMC90.
  3. 用于综合新的设计大概需要修改后者文件里面的相关信息,注意其中

# list of all HDL files in the design

set myFiles [list add.v]   //此处修改为设计文件,注意前者文件中的搜索路径正确

set fileFormat verilog    ;# verilog or VHDL

set basename add ;# Top-level module name

set myClk clk        ;# The name of your clock

set virtual 0             ;# 1 if virtual clock, 0 if real clock//此处为是否虚拟时钟,纯组合逻辑需要虚拟时钟

# compiler switches...

set useUltra 1          ;# 1 for compile_ultra, 0 for compile

                         # mapEffort, useUngroup are for

                         # non-ultra compile...

set mapEffort1 medium   ;# First pass - low, medium, or high

set mapEffort2 medium   ;# second pass - low, medium, or high

set useUngroup 1        ;# 0 if no flatten, 1 if flatten

# Timing and loading information

set myPeriod_ns 100   ;# desired clock period (sets speed goal)

set myInDelay_ns 0.25 ;# delay from clock to inputs valid

set myOutDelay_ns 0.25;# delay from clock to output valid//此处三个时间设置,第一个周期时间,输入延时,输出延时。

set myInputBuf INVXL ;# name of cell driving the inputs//指定下面指定的target library库中的一个用来给设计驱动输入的单元信号,可以在工艺库文件中找到slow.lib文件,在里面查找可用的cell。注意.lib文件经过处理生成的db文件,db文件是给软件看的,lib文件是给设计者看的

set myLoadLibrary   slow;# name of library the cell comes from,target library//此处定义库文件,注意与target library 对应,但是选择.lib文件,由于格式需要,需要省略后缀,不然无法正确加载。

set myLoadPin Y;# name of pin that outputs drive//上面指定单元cell的一个输出pin

注意综合汇报警告:warning: design rule attributes from the driving cell will be set on the port 。这是由于set了driving cell,在这个port上的drc会使用driving cell的。
如果你确定这么设定是ok的

  1. 注意输出文件的选择,在后者文件中此处选择。需要什么输出在其中选择就行。然后在改work目录中综合完就会有相应的文件,

# should be set to 1 if you want the file, 0 if not

set write_v 1           ;# compiled structural Verilog file

set write_db 0          ;# compiled file in db format (obsolete!)

set write_ddc 1         ;# compiled file in ddc format (XG-mode)

set write_sdf 0         ;# sdf file for back-annotated timing sim

set write_sdc 1         ;# sdc constraint file for place and route

set write_rep 1         ;# report file from compilation

set write_pow 0         ;# report file for power estimate

5综合方法1:dc_shell > source syn-script.tcl,具体原理见桌面的dc笔记.生成的report在work目录下。(再tcl文件中进行约束以及生成文件的选择)

综合方法2:dc_shell > read_verilog -rtl [list add.v add2.v] > link > report area ,report timing。之类。

详情见连接(9条消息) DC使用教程系列1-.synopsys.dc.setup的建立_.synopsys_dc.setup_ciscomonkey的博客-CSDN博客

综合工具-DesignCompiler学习教程 - 知乎 (zhihu.com)

最全面的是连接二里面的那些博客连接。

6 dc的图像化操作见连接https://blog.csdn.net/qq_40223983/article/details/96426938

7.# compiler switches...

set useUltra 1          ;# 1 for compile_ultra, 0 for compile

                         # mapEffort, useUngroup are for

                         # non-ultra compile...

set mapEffort1 medium   ;# First pass - low, medium, or high

set mapEffort2 medium   ;# second pass - low, medium, or high

set useUngroup 1        ;# 0 if no flatten, 1 if flatten

中的第一条的介绍见连接:(9条消息) DC 编译命令_254、小小黑的博客-CSDN博客

comple_ultra跟compile一样,是进行编译的命令。compile_ultra命令适用于时序要求比较严格,高性能的设计。使用该命令可以得到更好的延迟质量( delay QoR ),特别适用于高性能的算术电路优化。该命令非常容易使用,它自动设置所有所需的选项和变量。

8综合的时候把它关了,感觉更占时间,并且把时间约束放宽,综合时间大大减少。

9教材上也有各路工具的使用介绍《数字VLSI芯片设计》。其中附录dc的脚本更加简单。

实例操作流程

1.将上述两个文件放入工作目录中(根据上面的文件内容介绍和实际项目需求修改约束条件和目标文件等信息),终端键入dc_shell命令

2.此时dc会自动加载.synopsys_dc.setup文件中的内容,如图所示

 

3.键入source syn-script.tcl,此时dc会运行tcl文件中的命令,进行dc综合

(相关报告较长,无法截图)

4.完成后可以在该目录下找到报告文件(需要在tcl文件中设置想要生成的报告文件)

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值