求助dc中如何修正reset经过组合逻辑之后的fanout
时间:10-02
整理:3721RD
点击:
在脚本中对于reset的设置如下
set_drive 0 [find port rstb]
set_dont_touch_network [find port rstb]
set_resistance 0 [find net rstb]
set_ideal_net [find net rstb]
vhdl代码中创建了一个连接至256个寄存器复位端的reg_clr <= '0' when new_iv='1' else rstb;
但是DC不会对此net进行优化,max_fanout设置为了15 ,因此有违例
并且max_transition也有违例,不知道是不是因为fanout过大引起的,如下
max_transition
Required Actual
Net Transition Transition Slack
-----------------------------------------------------------------
reg_clr (dont_touch) 1.50 8.91 -7.41 (VIOLATED)
PIN : s2_0/data_reg_reg/RB
1.50 8.91 -7.41 (VIOLATED)
PIN : s2_1/data_reg_reg/RB
1.50 8.91 -7.41 (VIOLATED)
PIN : s2_2/data_reg_reg/RB
1.50 8.91 -7.41 (VIOLATED)
PIN : s2_3/data_reg_reg/RB
1.50 8.91 -7.41 (VIOLATED)
PIN : s2_4/data_reg_reg/RB
1.50 8.91 -7.41 (VIOLATED)
请问如何对此reg_clr进行优化?谢谢!
set_drive 0 [find port rstb]
set_dont_touch_network [find port rstb]
set_resistance 0 [find net rstb]
set_ideal_net [find net rstb]
vhdl代码中创建了一个连接至256个寄存器复位端的reg_clr <= '0' when new_iv='1' else rstb;
但是DC不会对此net进行优化,max_fanout设置为了15 ,因此有违例
并且max_transition也有违例,不知道是不是因为fanout过大引起的,如下
max_transition
Required Actual
Net Transition Transition Slack
-----------------------------------------------------------------
reg_clr (dont_touch) 1.50 8.91 -7.41 (VIOLATED)
PIN : s2_0/data_reg_reg/RB
1.50 8.91 -7.41 (VIOLATED)
PIN : s2_1/data_reg_reg/RB
1.50 8.91 -7.41 (VIOLATED)
PIN : s2_2/data_reg_reg/RB
1.50 8.91 -7.41 (VIOLATED)
PIN : s2_3/data_reg_reg/RB
1.50 8.91 -7.41 (VIOLATED)
PIN : s2_4/data_reg_reg/RB
1.50 8.91 -7.41 (VIOLATED)
请问如何对此reg_clr进行优化?谢谢!
异步复位在综合阶段不需要跑时序吧,和时钟信号一样需要在PR阶段做,再做静态时序分析看看有没问题!
而且我自己感觉假如复位信号为多周期信号,根本不需要管那么多!
