|
本帖最後由 lj0113 於 2011-3-27 10:07 PM 編輯 - C$ T# e) B# x" I' c
6 d! y# ]( ]( ]/ u B( k0 x各位先輩:, @4 a+ r2 J! E9 J/ b& @4 s0 Q
* R$ ]* x C: A2 I' L; I' p( C
小子目前在處理一個硬體,合成後其輸出waveform經過reset,然後再幾個clock cycle 其輸出就開始呈現unknow狀態
4 U, T6 y% a4 h- a* y* T2 ^; h由於這個硬體不是我負責 我得負責把它合成出來....造成我不確定原因是否是rtl亦或是我DC constraints下的不夠好
$ `0 E' N% j( h) k但我知道有人合成完後,電路是可以function work(不過我實在不太好意思 一直去打擾那人= =)! W! z x; R- q' ?! P6 n8 ^7 I
' d& R: N9 [! j' F
以前我用類似這樣的constraint去合成比較小的電路都是ok的,目前這個電路真的比較大,所以我在想說百分之百一定是DC這邊constraint設定不好= =
2 S2 Y6 P+ p1 H# |導致我合成出來的硬體造成輸出都是unknown1 w5 F; X6 g0 C9 s$ o
K了一些資料 但尚未發現一絲一毫哪裡有錯....' {) Y8 C% N& v8 n
我的constraints大致設定如下東西 使用的製程是TSMC 0.18um:! N; |4 q, ]9 F) G9 c# R$ D4 ]2 M$ _
6 O) e( a" W! |
建立clock
2 m- I4 O6 h6 H8 [/ Z; b( I6 K- G0 L% h3 {. m% P; F; s$ s
set_wire_load_model -name tsmc18_wl10 -library slow1 X; j3 a* r( ]$ b; I5 R. Y
set_driving_cell -library slow -lib_cell DFFX1 -pin {Q} [remove_from_collection [all_inputs] [get_ports clk]]
$ m" J6 X6 T4 Y' Aset_driving_cell -library slow -lib_cell BUFX4 -pin {Y} [get_ports clk]! N/ {4 S1 k! e6 }, c
set_input_delay [expr $clk_in_delay + $clk_in_pad_delay] -clock clk [remove_from_collection [all_inputs] [get_ports {clk}]]
, g9 m+ i" v7 } C- ^1 ~set_output_delay [expr $clk_out_delay + $clk_out_pad_delay] -clock clk [all_outputs]0 @/ @1 Q% o' H5 Z) z5 J
set_load [load_of "slow/DFFX2/D"] [all_outputs]$ }6 W; E9 ?# N6 X- ?# |8 A+ w
[remove_from_collection [all_inputs] [get_ports {clk rst_n}]] |
|