DFT 出現大VIOLATED
NetTransitionTransitionSlack
-----------------------------------------------------------------
n14.50760.83-756.33(VIOLATED)
PIN :AT/propose/FBF2x4/FBF2_1/DFx/Q_reg[0]/SE
4.50760.83-756.33(VIOLATED)
PIN :AT/propose/FBF2x4/FBF2_1/DFx/Q_reg[1]/SE
4.50760.83-756.33(VIOLATED)
PIN :AT/propose/FBF2x4/FBF2_1/DFx/Q_reg[2]/SE
4.50760.83-756.33(VIOLATED)
PIN :AT/propose/FBF2x4/FBF2_1/DFx/Q_reg[3]/SE
4.50760.83-756.33(VIOLATED)
有很多 ,所有的pin腳位都有這個大延遲,跑出來的圖形檔錯誤的,沒加DFT前是可以動,
查看了一下是DFT se這個訊號,也就是以上錯誤,這有沒有方法解掉?
Scan Enable没做buffer tree的原因
buffer tree的具体做法,自己在坛子里找
感謝小编回應
我找到資料是設定DRV
因此我原先設定是
set_ideal_network -no_propagate [get_ports test_se]
set_false_path -from[get_ports test_se]
之後改為這樣
set_max_capacitance 2 [get_ports test_se]
set_max_transition 0.2[get_ports test_se]
set_max_fanout 6[get_ports test_se]
PIN :AT/Test_M/s_1D_reg/SE
4.50760.61-756.11(VIOLATED)
test_se0.201.44-1.24(VIOLATED)
PORT :test_se0.201.44-1.24(VIOLATED)
請問是類似這樣設定嗎 參數我是按照範例給的
我Pad是用PDIDGZ 但是我找不到它的單元設定參數
1)set_max_fanout 6小了点
2)PIN :AT/Test_M/s_1D_reg/SE依然有问题
感謝小编 其實這個pin很多 我只貼一個 應該是全部的pin 但是問題還是存在
PIN :AT/Test_M/e_n_reg/SE
4.50760.61-756.11(VIOLATED)
PIN :AT/Test_M/en_1D_reg/SE
4.50760.61-756.11(VIOLATED)
PIN :AT/Test_M/en_2D_reg/SE
4.50760.61-756.11(VIOLATED)
PIN :AT/Test_M/eno_reg/SE
4.50760.61-756.11(VIOLATED)
PIN :AT/Test_M/m_sID_reg/SE
4.50760.61-756.11(VIOLATED)
PIN :AT/Test_M/s_1D_reg/SE
4.50760.61-756.11(VIOLATED)
max_fanout
RequiredActual
NetFanoutFanoutSlack
-----------------------------------------------------------------
n120.004583.00-4563.00(VIOLATED)
而且他的錯誤要四千多,我之後修改20還是沒辦法
set_max_capacitance 2 [get_ports test_se]
set_max_transition 0.2[get_ports test_se]
set_max_fanout 20[get_ports test_se]
也是一樣所有的pin
PIN :AT/Test_M/m_o_reg/SE
4.50760.61-756.11(VIOLATED)
PIN :AT/Test_M/e_n_reg/SE
4.50760.61-756.11(VIOLATED)
PIN :AT/Test_M/en_1D_reg/SE
4.50760.61-756.11(VIOLATED)
PIN :AT/Test_M/en_2D_reg/SE
4.50760.61-756.11(VIOLATED)
PIN :AT/Test_M/eno_reg/SE
4.50760.61-756.11(VIOLATED)
PIN :AT/Test_M/m_sID_reg/SE
4.50760.61-756.11(VIOLATED)
PIN :AT/Test_M/s_1D_reg/SE
4.50760.61-756.11(VIOLATED)
test_se0.201.44-1.24(VIOLATED)
PORT :test_se0.201.44-1.24(VIOLATED)
max_fanout
RequiredActual
NetFanoutFanoutSlack
-----------------------------------------------------------------
n120.004583.00-4563.00(VIOLATED)
max_capacitance
RequiredActual
NetCapacitanceCapacitanceSlack
-----------------------------------------------------------------
test_se2.002.69-0.69(VIOLATED)
難道fanout要增加到四千多嗎?請問這樣合理嗎?
你只对这个ports 设定了set_max_fanout 20[get_ports test_se]
其他的问题当然还是没有解决了
一般DRV对整个design设定的,比如
set_max_fanout 20[current_design]
另外,相应net/port/pin上的dont_touch,ideal属性要去掉
感謝版大回應 請問cell相關的也要刪除嗎? 我是用chip_level synthesis
set_dont_touch [get_cells ipad_*]
set_dont_touch [get_cells opad_*]
set_dont_touch_network[get_clocksclk]
set_fix_hold[get_clocksclk]
測試的參數
set_max_capacitance 2[current_design]
set_max_transition 0.2[current_design]
set_max_fanout 30[current_design]
結果
max_delay/setup ('clk' group)
RequiredActual
EndpointPath DelayPath DelaySlack
-----------------------------------------------------------------
AT/propose/even/factor_e/DFF1_4/Q_reg[16]/D
4.334.89 f-0.56(VIOLATED)
AT/propose/even/factor_e/DFr6/Q_reg[16]/D
4.454.97 f-0.52(VIOLATED)
AT/propose/even/factor_e/DFr5/Q_reg[16]/D
4.454.96 f-0.51(VIOLATED)
max_transition
RequiredActual
NetTransitionTransitionSlack
-----------------------------------------------------------------
n30.20760.61-760.41(VIOLATED)
PIN :AT/propose/FBF2x4/FBF2_1/DFx/Q_reg[0]/SE
0.20760.61-760.41(VIOLATED)
PIN :AT/propose/FBF2x4/FBF2_1/DFx/Q_reg[1]/SE
0.20760.61-760.41(VIOLATED)
en_data0.201.44-1.24(VIOLATED)
PIN :ipad_EN/PAD0.201.44-1.24(VIOLATED)
PORT :en_data0.201.44-1.24(VIOLATED)
mode[0]0.201.44-1.24(VIOLATED)
PIN :ipad_MD0/PAD0.201.44-1.24(VIOLATED)
AT/propose/even/a_e/muxHa1/mux_in1[15]
0.200.97-0.77(VIOLATED)
PIN :AT/propose/even/DFF4_4/Q_reg[0]/SI
0.200.97-0.77(VIOLATED)
PIN :AT/propose/even/a_e/muxHa1/U45/A
0.200.97-0.77(VIOLATED)
PIN :AT/propose/even/DFF4_2/Q_reg[17]/Q
max_fanout
RequiredActual
NetFanoutFanoutSlack
-----------------------------------------------------------------
n320.004583.00-4563.00(VIOLATED)
max_capacitance
RequiredActual
NetCapacitanceCapacitanceSlack
-----------------------------------------------------------------
n32.001011.00-1009.00(VIOLATED)
en_data2.002.69-0.69(VIOLATED)
mode[0]2.002.69-0.69(VIOLATED)
mode[1]2.002.69-0.69(VIOLATED)
mode[2]2.002.69-0.69(VIOLATED)
mode[3]2.002.69-0.69(VIOLATED)
pattern[0]2.002.69-0.69(VIOLATED)
pattern[1]2.002.69-0.69(VIOLATED)
pattern[2]2.002.69-0.69(VIOLATED)
pattern[3]2.002.69-0.69(VIOLATED)
pattern[4]2.002.69-0.69(VIOLATED)
pattern[5]2.002.69-0.69(VIOLATED)
pattern[6]2.002.69-0.69(VIOLATED)
pattern[7]2.002.69-0.69(VIOLATED)
pattern[8]2.002.69-0.69(VIOLATED)
pattern[9]2.002.69-0.69(VIOLATED)
pattern[10]2.002.69-0.69(VIOLATED)
pattern[11]2.002.69-0.69(VIOLATED)
rst2.002.69-0.69(VIOLATED)
test_mode2.002.69-0.69(VIOLATED)
test_se2.002.69-0.69(VIOLATED)
test_si2.002.69-0.69(VIOLATED)
在se上设置了set_ideal_network
怎么还会报出来呢. 这种设成ideal的让PR到后面去做吧
设置DRV后,你用APR去fix DRV了吗?
小编的意思是直接用APR修嗎?
我本來的構想是先跑gate-sim看看時序圖過不過的了 之後再做APR
之前沒加DFT跑gate-sim是OK的
感謝回復
這我之前有測試當時合成設定有set_dont_touch_network[get_clocksclk]
set_fix_hold[get_clocksclk]
set_ideal_network -no_propagate [get_ports test_se]
set_false_path -from[get_ports test_se]
之後APR有
**WARN: Skipped set_input_transition constraints on port "clk" due to set_drivespecified on same
**WARN: Skipped set_input_transition constraints on port "test_se" due to set_drive specified on same
這 warn是我上面設定關西嗎?
爆掉了
|Setup mode|all| reg2reg | in2reg| reg2out | in2out| clkgate|
+--------------------+---------+---------+---------+---------+---------+---------+
|WNS (ns):| -4.086| -0.833| -4.086|N/A|N/A|N/A|
|TNS (ns):| -5527.0 |-221.745 | -5437.0 |N/A|N/A|N/A|
|Violating Paths:|3553|925|3064|N/A|N/A|N/A|
|All Paths:|7259|7239|3147|N/A|N/A|N/A
DRV的设定是为APR用的,光有DRV解决不了violation
感謝版大回復 我去做了APR 不過修不回來 cts後跟route都沒辦法
面積已經爆掉了 **ERROR: (ENCOPT-310):Design density (97.30%) exceeds/equals limit (95.00%).
**WARN: Skipped set_input_transition constraints on port "clk" due to set_drive specified on same
------------------------------------------------------------
optDesign Final Summary
------------------------------------------------------------
+--------------------+---------+---------+---------+---------+---------+---------+
|Setup mode|all| reg2reg | in2reg| reg2out | in2out| clkgate |
+--------------------+---------+---------+---------+---------+---------+---------+
|WNS (ns):| -3.752| -1.072| -3.752|N/A|N/A|N/A|
|TNS (ns):| -4120.8 |-182.461 | -4087.8 |N/A|N/A|N/A|
|Violating Paths:|2469|487|2397|N/A|N/A|N/A|
|All Paths:|11840|11819|3148|N/A|N/A|N/A|
+--------------------+---------+---------+---------+---------+---------+---------+
+--------------------+---------+---------+---------+---------+---------+---------+
|Hold mode|all| reg2reg | in2reg| reg2out | in2out| clkgate |
+--------------------+---------+---------+---------+---------+---------+---------+
|WNS (ns):|0.068|0.068|1.674|N/A|N/A|N/A|
|TNS (ns):|0.000|0.000|0.000|N/A|N/A|N/A|
|Violating Paths:|0|0|0|N/A|N/A|N/A|
|All Paths:|11840|11819|3148|N/A|N/A|N/A|
+--------------------+---------+---------+---------+---------+---------+---------+
+----------------+-------------------------------+------------------+
||Real|Total|
|DRVs+------------------+------------+------------------|
||Nr nets(terms)| Worst Vio|Nr nets(terms)|
+----------------+------------------+------------+------------------+
|max_cap|1 (1)|-0.056|23 (45)|
|max_tran|3601 (10868)|-3.185|3640 (11292)|
|max_fanout|76 (76)|-42|113 (113)|
+----------------+------------------+------------+------------------+
可以先加大面积试试
爆掉的原因有很多,找个有经验的人帮你看看,
感謝版大回復
最後我修完 過到route完並且把setup和hold修成正的
------------------------------------------------------------
optDesign Final Summary
------------------------------------------------------------
+--------------------+---------+---------+---------+---------+---------+---------+
|Setup mode|all| reg2reg | in2reg| reg2out | in2out| clkgate |
+--------------------+---------+---------+---------+---------+---------+---------+
|WNS (ns):|0.002|0.002|0.014|N/A|N/A|N/A|
|TNS (ns):|0.000|0.000|0.000|N/A|N/A|N/A|
|Violating Paths:|0|0|0|N/A|N/A|N/A|
|All Paths:|11840|11819|3148|N/A|N/A|N/A|
+--------------------+---------+---------+---------+---------+---------+---------+
+--------------------+---------+---------+---------+---------+---------+---------+
|Hold mode|all| reg2reg | in2reg| reg2out | in2out| clkgate |
+--------------------+---------+---------+---------+---------+---------+---------+
|WNS (ns):|0.100|0.100|0.119|N/A|N/A|N/A|
|TNS (ns):|0.000|0.000|0.000|N/A|N/A|N/A|
|Violating Paths:|0|0|0|N/A|N/A|N/A|
|All Paths:|11840|11819|3148|N/A|N/A|N/A|
+--------------------+---------+---------+---------+---------+---------+---------+
+----------------+-------------------------------+------------------+
||Real|Total|
|DRVs+------------------+------------+------------------|
||Nr nets(terms)| Worst Vio|Nr nets(terms)|
+----------------+------------------+------------+------------------+
|max_cap|0 (0)|0.000|0 (0)|
|max_tran|0 (0)|0.000|0 (0)|
|max_fanout|0 (0)|0|0 (0)|
+----------------+------------------+------------+------------------+
但是我存sdc檔案結果出現warning 說有為負的? 請問這樣怎麼處理?
我cts跟route跑optimize timing都是正的
**WARN: (SDF-802):The sum of the Setup and Hold sides of the SETUPHOLD check on pin AT/Test_M/DDin_3/dout_reg_11_/SI is negative - which is illegal in SDF V3.1. The negative side of the SETUPHOLD will be postively adjusted so that the resulting sum is zero. This will result in a more conservative analysis of the adjusted check.Negative SETUPHOLD sums maybe an indication of a characterization problem in your timing libraries. You can set the timing global timing_write_sdf_allow_negative_setuphold_sum to 'true' to loosen this restriction.
**WARN: (SDF-802):The sum of the Setup and Hold sides of the SETUPHOLD check on pin AT/Test_M/DD_pattern_out/dout_reg_6_/SI is negative - which is illegal in SDF V3.1. The negative side of the SETUPHOLD will be postively adjusted so that the resulting sum is zero. This will result in a more conservative analysis of the adjusted check.Negative SETUPHOLD sums maybe an indication of a characterization problem in your timing libraries. You can set the timing global timing_write_sdf_allow_negative_setuphold_sum to 'true' to loosen this restriction.
提示是说,SDF的sum of the Setup and Hold为负
按照提示的建议,set timing_write_sdf_allow_negative_setuphold_sum true试试
感謝 版大回復
下那指令後 存SDC就沒有warning
之後我跑post-sim
原先我這設計是5ns 合成用4.5ns slow_mode 跑gate-sim是ok的 gate-sim用的是wire-load-mode合成的
但是現在要20ns控制訊號才正常 但是我的架構還是不行動 都是XXX
我檢查一下我的合成,而且又合成幾次發現 沒加DFTslack是正的,這是合成4.9跑5的結果data required time5.03
data arrival time-5.03
--------------------------------------------------------------------------
slack (MET)0.00
但是加完DFT後都有slack差0.15左右,雖然跑gate-sim的資料是對的,請問這可以在enocunter下修掉嗎? 還是一定要slack為0才能跑
data required time4.78
data arrival time-4.93
--------------------------------------------------------------------------
slack (VIOLATED)-0.15
encounter修到正的 我以為就ok說 ,這是clock.ctstch設定
# Clock Root: clk
# Clock Name: clk
# Clock Period : 4.5ns
#------------------------------------------------------------
AutoCTSRootPin clk
Period4.5ns
MaxDelay1.00ns # sdc driven default
MinDelay0ns # sdc driven default
我再强调一遍,你存的那个叫SDF,与SDC是2码事
至于postsim的问题,你给的信息不够,无法判断问题的原因。
依你现在的水平,各种稀奇古怪的原因都有可能造成那个问题,
有可能是某个简单的设定/概念没搞对,
还是那句话,在你附近找个有经验的看看
感謝版大回復 我發現打錯了 是sdf,
我以為只要encounter修過就OK 看來理解還不夠
post-sim有些問題要慢慢看 類似很多這些 ncelab: *W,SDFNEP: Unable to annotate to non-existent path (IOPATH (posedge S0) Y) of instance CHIP_test.CHIP.AT.Test_M.FE_RC_4222_0 of module MX2X2 <./CHIP.sdf, line 78614>.
ncelab: *W,SDFNEP: Unable to annotate to non-existent path (IOPATH (negedge S0) Y) of instance CHIP_test.CHIP.AT.Test_M.FE_RC_4222_0 of module MX2X2 <./CHIP.sdf, line 78615>.
ncelab: *W,SDFNEP: Unable to annotate to non-existent path (IOPATH (posedge S0) Y) of instance CHIP_test.CHIP.AT.Test_M.FE_RC_1107_0 of module MXI2X2 <./CHIP.sdf, line 79575>.
ncelab: *W,SDFNEP: Unable to annotate to non-existent path (IOPATH (negedge S0) Y) of instance CHIP_test.CHIP.AT.Test_M.FE_RC_1107_0 of module MXI2X2 <./CHIP.sdf, line 79576>.
ncelab: *W,SDFNEP: Unable to annotate to non-existent path (IOPATH (posedge S0) Y) of instance CHIP_test.CHIP.AT.Test_M.FE_RC_325_0 of module MXI2X4 <./CHIP.sdf, line 79590>.
再次感謝版大講解