|
本帖最後由 lj0113 於 2011-3-27 10:07 PM 編輯
1 K2 c9 `7 h5 C( g- G
/ J4 R+ ?* ^/ w# q各位先輩:
+ o, { _) a' g# J' i! Z1 T2 t% \/ M! o: m: L! M) ~/ u- Q
小子目前在處理一個硬體,合成後其輸出waveform經過reset,然後再幾個clock cycle 其輸出就開始呈現unknow狀態
8 d) m7 |$ a+ Z由於這個硬體不是我負責 我得負責把它合成出來....造成我不確定原因是否是rtl亦或是我DC constraints下的不夠好- {" N2 O8 ]/ B
但我知道有人合成完後,電路是可以function work(不過我實在不太好意思 一直去打擾那人= =)
1 c. ~& P9 T$ a2 H9 V3 `
) _: L( Z! g+ w0 l/ E以前我用類似這樣的constraint去合成比較小的電路都是ok的,目前這個電路真的比較大,所以我在想說百分之百一定是DC這邊constraint設定不好= =. f) G# s. A7 g
導致我合成出來的硬體造成輸出都是unknown
' o) C# Y5 g& J7 X( WK了一些資料 但尚未發現一絲一毫哪裡有錯....2 }" }' |, F6 F1 \7 R" e% `
我的constraints大致設定如下東西 使用的製程是TSMC 0.18um:0 Z2 L o2 E9 N1 ?+ g
) n+ s1 y# K6 O, a7 D
建立clock
6 c* t3 C7 M3 I0 O. \4 E E3 c( D; p2 c4 D
set_wire_load_model -name tsmc18_wl10 -library slow6 j- K: \6 v; t U3 i( O2 l- h$ z& t
set_driving_cell -library slow -lib_cell DFFX1 -pin {Q} [remove_from_collection [all_inputs] [get_ports clk]]
y, A0 ~# ?% w W Cset_driving_cell -library slow -lib_cell BUFX4 -pin {Y} [get_ports clk]
5 a# q0 r. C# H3 M( mset_input_delay [expr $clk_in_delay + $clk_in_pad_delay] -clock clk [remove_from_collection [all_inputs] [get_ports {clk}]]
5 i" K( Q0 U" f) P. \% l2 Fset_output_delay [expr $clk_out_delay + $clk_out_pad_delay] -clock clk [all_outputs]
/ t1 B8 x& C4 d+ l9 V; b" yset_load [load_of "slow/DFFX2/D"] [all_outputs]
4 v u( p1 K1 { [2 B& c[remove_from_collection [all_inputs] [get_ports {clk rst_n}]] |
|