DC 编译命令
来源:互联网 发布:淘宝网签证 编辑:程序博客网 时间:2024/06/05 02:19
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层次自动地被取消:
set compile_ultra_ungroup_dw true (默认值为true)
也就是说,你调用的一个加法器和一个乘法器,本来他们是以IP核的形式,或者说是以模块的形式进行综合的,但是设置了上面那么变量之后,综合后那个模块的界面就没有了,你不知道哪些门电路是加法器的,哪些是乘法器的。
使用compile_ultra命令时,使用下面的变量设置,如果设计中有一些模块的规模小于或等于变量的值,模块层次被自动取消:
set compile_auto_ungroup_delay_num_cells 100(默认值=500)
也就是说,假设你有一个模块A是一个小的乘法器,并且调用了模块B,一个模块B是一个小的加法器,使用没有设置这条命令的情况综合,那么我们可以看到模块A中乘法器对应的门电路是哪些,同样也可以看到模块B的加法器是由哪些门电路构成的,模块A和模块B之间有层次、有界限;当设置上面的那条命令之后,我们就看不到模块A或者模块B之间的层次关系了,也看不到乘法器是由哪些门电路构成,或者说你看到了某一个与门,但是你并不知道它是构成乘法器的还是构成加法器的。
- DC 编译命令
- DC脚本命令(set_optimize_register)
- DC
- DC
- DC
- DC
- DC
- DC
- dc
- DC
- dc
- DC
- DC
- DC
- DC
- DC
- DC
- DC
- 转载荟萃
- CSS属性值之百分数
- JavaCore-OOP-3-图书管理系统(完善版)
- volatile关键字
- Node.js EJS模板引擎
- DC 编译命令
- python迭代器
- HDU2006
- 缓冲技术之二:缓冲池BufferPool的简单实现
- 自己做一个Android的MQTT客户端
- TensorFlow Wide & Deep Learning 中遇到的bug 主要是为了跑通Wide & Deep Learning。 环境: VMware ubuntu python 3.5
- JavaScript学习(二):原型继承
- 线性代数->向量、方程组总结
- s-域与z-域的各种离散方法区别分析