DC编译命令
compile_ultra
具体使⽤⽅法参考DC manual
五副春联潺潺什么意思compile_ultra跟compile⼀样,是进⾏编译的命令。compile_ultra命令适⽤于时序要求⽐较严格,⾼性能的设计。使⽤该命令可以得到更好的延迟质量( delay QoR ),特别适⽤于⾼性能的算术电路优化。该命令⾮常容易使⽤,它⾃动设置所有所需的选项和变量。下⾯是这个命令的⼀些介绍:
compile_ultra命令包含了以时间为中⼼的优化算法,在编辑过程中使⽤的算法有:
A、以时间为驱动的⾼级优化(Timing driven high-level optimization);
B、 为算术运算选择适当的宏单元结构;花样男子最终章
C、从DesignWare库中选择最好的数据通路实现电路;
祖字开头的成语D、映射宽扇⼊(Wide-fanin)门以减少逻辑级数;
E、积极进取地使⽤逻辑复制进⾏负载隔离;
F、在关键路径⾃动取消层次划分(Auto-ungrouping of hierarchies)。
compile_ultra命令⽀持DFT流程,此外compile_ultra命令⾮常简单易⽤,它的开关选项有:
-scan :做可测试(DFT)编辑;
-no_autoungroup :关掉⾃动取消划分特性;
-no_boundary_optimization :不作边界优化;
-no_uniquify : 加速含多次例化模块的设计的运⾏时间
-area_high_effort_script : ⾯积优化
-timinq_high_effort_script : 时序优化
书法的特点
上⾯的开关部分说明如下所⽰:武文斌
什么样的人死后还会出现
使⽤compile_ultra命令时,如使⽤下⾯变量的设置,所有的DesignWare层次⾃动地被取消:
t compile_ultra_ungroup_dw true (默认值为true)
也就是说,你调⽤的⼀个加法器和⼀个乘法器,本来他们是以IP核的形式,或者说是以模块的形式进⾏综合的,但是设置了上⾯那么变量之后,综合后那个模块的界⾯就没有了,你不知道哪些门电路是加法器的,哪些是乘法器的。
使⽤compile_ultra命令时,使⽤下⾯的变量设置,如果设计中有⼀些模块的规模⼩于或等于变量的值,模块层次被⾃动取消:t compile_auto_ungroup_delay_num_cells 100(默认值=500)
开髋的好处
也就是说,假设你有⼀个模块A是⼀个⼩的乘法器,并且调⽤了模块B,⼀个模块B是⼀个⼩的加法器,使⽤没有设置这条命令的情况综合,那么我们可以看到模块A中乘法器对应的门电路是哪些,同样也可以看到模块B的加法器是由哪些门电路构成的,模块A和模块B之间有层次、有界限;当设置上⾯的那条命令之后,我们就看不到模块A或者模块B之间的层次关系了,也看不到乘法器是由哪些门电路构成,或者说你看到了某⼀个与门,但是你并不知道它是构成乘法器的还是构成加法器的。