|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
比如我有以下3个设计A.v B.v Clock_div.v
A.v是在源时钟clk下工作的,而Clock_div.v是用计数器产生的一个clk64分频时钟。 而B.v是在clk64分频时钟下工作的。
那么我DC应该如何约束这两个clk?除了下面这两个定义和设置源时钟clk的latency transition uncertainty 那么clk64该如何约束呢?他们之间是否要设置false path 但是同步时钟呢?
create_clock [get_ports clk] -period 196 -waveform {0 98}
create_generated_clock [get_pins uut4/clk64_reg/Q] -name clk64 -source [get_ports clk] -divide_by 64
那么在Clock_div.v设计中,存在一条这样的路径 输出clk64反馈到一个组合电路作为寄存器clk64_reg的D输入。
如下图(这个图来之论坛另外一位朋友)
我clk64_reg的D输入我report_constraint -all (DC compiler后)
发现我这个警告 uut4/n43 (dont_touch) 0.00 0.00 0.00 (VIOLATED: increase signficant digits)
我寄存器的D输入已经变成(dont_touch)属性了,这是为什么呢?这个时候我没有去管它,到p&r的时候我CTS时候把所有的ideal net 全部remove的时候,但是:report_constraint -all 出现了一大堆的setup time 错误,我看了timing路径,发现我B.v的setup time 也是在clk下检查的,不是应该在clk64下检查的吗?DC的时候是否要set flash path?还有是 |
|