目录
最近做了一些DC综合的工作,由于目前网内相关资料较少,在这里总结一下综合的大致流程。并且记录一下一些有价值的问题,供后人参考。
有错误的地方请批评指正!
由于各种约束设置等因设计而异,在这里仅按一般的约束方案进行描述,对于其他约束设定一带而过。
DC综合流程
首先,进行综合要有安装好的design compiler和编写好的程序设计文件。以下以dc_shell命令行模式为例。
0、起始
cd进入程序设计文件所在目录下;
输入dc_shell
命令进入综合。
1、设置目标库、链接库和综合库
set_app_var target_library path to/typical.db
set_app_var link_library [list path to/typical.db dw_foundation.sldb]
set synthetic_library dw_foundation.sldb
dw_foundation.sldb
这个库是在使用synopsps的部分IP核时需要设定的,不使用的情况下不用设定。
.db
文件为工艺库,.lib
文件则提供给工程师阅读
一般情况下target library
与link library
是同一个。当已有一个已经综合好但制程工艺不同的网表时则将link library
指向原工艺,target library
指向目标工艺。
2、读取程序设计文件
read_file design.v
读取的时候注意全部读入。使用的IP核文件不用读入,上面链接的库中会包含。读取时先读入子模块文件,最后读入的是top文件。
3、设置时序约束
设置时钟周期为t
纳秒,模块的时钟周期输入信号端口clk
。
create_clock