小弟做第一次DC的时候遇到max_transition和fanout的问题
1.在DC的脚本中我将clk和reset信号全部都设置了dont touch
2.然后也设置了set_max_transition 1 [$top] 和set_max_fanout 4 [$top],为什么在max_transition和max_fanout的违例中括号里面都含有(dont_touch)?既然dont_touch了,为什么还会违例呢?这些违例的net在我的源代码中都没有出现过,都是DC自己综合出来的,我也没办法查错进而修改源代码
3.第一遍编译之后,我又使用了compile -only_design_rule,只优化了一部分
4.我就十分的奇怪,为什么这些net都don't touch了还会报违例呢?难道这些net跟我的reset有关吗?
- max_transition
- Required Actual
- Net Transition Transition Slack
- -----------------------------------------------------------------
- ctl/n58 (dont_touch) 1.00 1.68 -0.68 (VIOLATED)
- max_fanout
- Required Actual
- Net Fanout Fanout Slack
- -----------------------------------------------------------------
- ctl/n23 (dont_touch) 4.00 28.00 -24.00 (VIOLATED)
- ctl/n57 (dont_touch) 4.00 10.00 -6.00 (VIOLATED)
- ctl/n25 (dont_touch) 4.00 9.00 -5.00 (VIOLATED)
- ctl/n58 (dont_touch) 4.00 8.00 -4.00 (VIOLATED)
- ctl/NS[0] (dont_touch) 4.00 6.00 -2.00 (VIOLATED)
- ctl/n26 (dont_touch) 4.00 5.00 -1.00 (VIOLATED)
- ctl/n29 (dont_touch) 4.00 5.00 -1.00 (VIOLATED)
顶一记。
我觉得 dont_touch 只是不对clk、reset作优化而已,一样进行DRC检查
你设置的tran和fanout都是针对整个设计的,而你dont_touch的理解应该是有问题的,dont_touch是不对clk做优化,但是工具对你的约束一样要检查的,有vio之后你又dont_touch不让工具优化当然会有违例。你怕是概念都没弄清楚!
你好,我也是初学,那如果是这样 应该怎么设置才会比较合理呢?
谢谢,问题已经解决了。
那些dont touch的线网是跟reset有关的, 是因为我代码写的有问题,我将reset写进到了一些组合逻辑的输入,所以没有对其进行dont touch
请问小编,我这种情况是为何呢,如何解决
max_transition
Required Actual
Net Transition Transition Slack
-----------------------------------------------------------------
aes_top_inst/n134 (dont_touch) 1.00 1.03 -0.03 (VIOLATED)
PIN : aes_top_inst/wb_ack_o_reg/D 1.00 1.03 -0.03 (VIOLATED)
PIN : aes_top_inst/text_out_reg[102]/RN 1.00 1.03 -0.03 (VIOLATED)
PIN : aes_top_inst/text_out_reg[127]/RN 1.00 1.03 -0.03 (VIOLATED)
PIN : aes_top_inst/text_out_reg[126]/RN 1.00 1.03 -0.03 (VIOLATED)
PIN : aes_top_inst/text_out_reg[125]/RN 1.00 1.03 -0.03 (VIOLATED)
PIN : aes_top_inst/text_out_reg[124]/RN 1.00 1.03 -0.03 (VIOLATED)
PIN : aes_top_inst/text_out_reg[123]/RN 1.00 1.03 -0.03 (VIOLATED)
PIN : aes_top_inst/text_out_reg[122]/RN 1.00 1.03 -0.03 (VIOLATED)
PIN : aes_top_inst/text_out_reg[121]/RN 1.00 1.03 -0.03 (VIOLATED)
PIN : aes_top_inst/text_out_reg[120]/RN 1.00 1.03 -0.03 (VIOLATED)
PIN : aes_top_inst/text_out_reg[119]/RN 1.00 1.03 -0.03 (VIOLATED)
PIN : aes_top_inst/text_out_reg[118]/RN 1.00 1.03 -0.03 (VIOLATED)
PIN : aes_top_inst/text_out_reg[117]/RN 1.00 1.03 -0.03 (VIOLATED)
PIN : aes_top_inst/text_out_reg[116]/RN 1.00 1.03 -0.03 (VIOLATED)
PIN : aes_top_inst/text_out_reg[115]/RN 1.00 1.03 -0.03 (VIOLATED)
PIN : aes_top_inst/text_out_reg[114]/RN 1.00 1.03 -0.03 (VIOLATED)
PIN : aes_top_inst/text_out_reg[113]/RN 1.00 1.03 -0.03 (VIOLATED)