bottom-up 子设计单独约束;当子设计成功编译后;被设置为 dont_touch 属性;防止在之后的编译过程中被修改; 所有同层子设计编译完成后;再编译之上的父设计;直至顶层设计编译完成。 Bottom-up 策略允许大规模设计;因为该策略不需要所有设计同时驻入内存。DC工具版本 ...
ungroup是取消层次的依次,设置为true就是要进行取消层次结构;因此我们要设置为false 根据6,I_DONT_PIPELINE模块的寄存器不能被流水线移动,根据前面的讲解,我们可以这样约束: set_dont_retime [get_cells I_MIDDLE/I_DONT_PIPELINE] true 然后检查是不是约束成功,或者约束对了: get_attribute [get_cells I_MIDDLE/...
DC综合简单总结(1) ***set_dont_touch和set_dont_touch_network*** ? 在综合的过程中,为了不让DC工具自动优化一些我们不希望其优化的模块(比如CLK)我们通常都会设置set_ideal_network和set_dont_touch,我理解为前者在timing_report的时候忽略延迟,后者阻止DC插入buffer。 那么dont_touch的属性,能不能穿过logic? ...
1:top-down 层次化结构,只对顶层设计进行全面约束,针对个别模块有特殊约束;比如管理模块(clock模块,reset模块等)的综合不会与工作模块(顶层模块)放在一起综合的。 2:bottom-up 对底层的各个模块定为current_design,进行综合,加上dont touch属性;若各层之间有group logic(如与门),还需要对group logic约束;这种风格...
balance_registers命令不会对具有dont_touch属性的实例进行ungroup, 也不会将任何寄存器放在具有dont_touch属性的实例中。 balance_registers命令包括延迟建模功能。 为了可预测性,算法从目标库中选择一个触发器,与库中的其他寄存器相比,该触发器具有较小的setup time,在输出端有良好的驱动,以及低输入负载。该寄存器被...
DC综合简单总结(1) set_dont_touch 和set_dont_touch_network ?在综合的过程中,为了不让DC工具自动优化一些我们不希望其优化的模块(比如CLK)我们通常都会设置set_ideal_network和set_dont_touch,我理解为前者在timing_report的时候忽略延迟,后者阻止DC插入buffer。那么dont_touch的属性,能...
在 bottom up 策略中,子设计单独约束,当子设计成功编译后,被设置为 dont_touch 属性,防止在之后的编译过程中被修改,所有同层子设计编译完成后,再编译之上的父设计,直至顶层设计编译完成。Bottom up 策略允许大规模设计,因为该策略不需要所有设计同时驻入内存。
在 bottom up 策略中,各个子设计单独约束,当子设计成功编译后,被设置为dont_touch 属性,防止在之后的编译过程中被修改,所有同层子设计编译完成后,再编译之上的父设计,直至顶层设计编译完成。Bottom up 策略允许大规模设计,因为该策略不需要所有设计同时驻入内存。
在顶层文件中,我的时钟(sclk)复位(rst)信号设置为:set_dont_touch_network.但dc综合显 示有违列,该怎么去解决?Information: Updating design information... (UID-85)Warning: set_dont_touch_network is used for clock 'ANALOG/fs_clk', for which no sources are specified. (UID-997)Warning...
#1:set_dont_touch_network:在net或port上设置don’t touch属性,主要用于clock 和reset信号,使DC不对这些nets插buffer,留到布局布线时综合。 #2:set_dont_touch:用于对current_design, cells, references, nets设置don’t t ouch属性,阻止DC对它们进行映射或优化,一般在分模块综合和综合后优化时使用。 例:set_...