DC综合的基本步骤
(2011-05-02 16:40:58)
标签:
dc综合 |
分类: EDAtool |
1.指定相关库文件及路径
DC\environment\synopsys_dc.setup
Target_library为逻辑综合目标库,由代工厂提供的*.db文件。
Link_library是链接库,一般和目标库相同。需要保留“*”内容,该项指示DC在链接时首先搜索内存中的内容。
Symbol_library为指定的符号库,一般为*.sdb文件,与单元的库文件对应。
2.读入设计
analyze: 用于读入设计所有的相关代码
elaborate: 用于分析设计,参数传递,提取设计的层次化关系
3.link
design_vision-t> link
对设计和使用到的库文件进行链接。
4.uniquity(实例唯一化)
design_vision-t> uniquify
对实例化时的参考单元唯一化,如果多个实例化模块参考同一个模块,则把这个单元复制多份,以便实例化模块和参考模块一一对应,以便优化设计时能有针对性地进行,提高优化效果。
5.加入环境和设计的约束文件
描述设计工作环境、wire load、load(输出负载)、输入驱动、时钟定义、输入输出延迟、扇出数、跳变时间、面积约束等。
6.check_design
design_vision-t> uplevel #0 check_design
对设计进行所有层次的检查,检查所有约束是否加的正确。
design_vision-t> remove_unconnected_ports [find -hierarchy cell "*"]
删除没有链接的单元端口,方便物理设计时顺利读入网表。
design_vision-t> uplevel #0 check_design
检查是否由于删除端口引入设计错误。
7.加入compile选项,逻辑综合
design_vision-t> compile_u -scan -no_autoungroup
对设计进行从RTL代码向门级代码的映射,并进行高功效、渐进式优化。
8.定义命名规则并换名
因为DC和Astro的命名规则不同,为了避免出现问题,在产生网表之前先要定义一些命名规则。
define_name_rules asic_rules -max_length 32 -type port
# Change name
change_names -hierarchy -rules verilog
change_names -hierarchy -rules asic_rules
9.写出设计和报告
design_vision-t> write -hierarchy -format db
–output
design_vision-t> write -hierarchy -format verilog –output name.v
导出.db格式和.v格式的文件。
report_area > $rpt_area
report_constraint -all_violators >
$rpt_cnst
report_net_fanout -threshold 500 > $rpt_hfanout
report_timing
……