加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

DC综合的基本步骤

(2011-05-02 16:40:58)
标签:

dc综合

分类: EDAtool

1.指定相关库文件及路径

DC\environment\synopsys_dc.setup  //用于在DC环境下进行analyze和elaborate的环境文件

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

 -timing_high_effort_script

对设计进行从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  name.db

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

……

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有