|
本帖最後由 lj0113 於 2011-3-27 10:07 PM 編輯
5 r! _6 c8 A, b* ^7 R) k) S: Y$ p% v! N5 c
各位先輩:" B, B# r) Q0 Q- o% J" Q8 _7 {- N
: ?( H) h9 Y8 v! N' ?: {) q4 n
小子目前在處理一個硬體,合成後其輸出waveform經過reset,然後再幾個clock cycle 其輸出就開始呈現unknow狀態4 Z7 [! `2 ?* n3 m* n# v# ?: |1 U7 W
由於這個硬體不是我負責 我得負責把它合成出來....造成我不確定原因是否是rtl亦或是我DC constraints下的不夠好
' ?+ [; `! H7 Z. |/ V0 d但我知道有人合成完後,電路是可以function work(不過我實在不太好意思 一直去打擾那人= =)
7 q( {0 j. g3 v9 I1 Y3 b* k/ V2 a5 Y% I& C* T
以前我用類似這樣的constraint去合成比較小的電路都是ok的,目前這個電路真的比較大,所以我在想說百分之百一定是DC這邊constraint設定不好= =
' f+ r7 {. X0 d# J7 ~" T/ d導致我合成出來的硬體造成輸出都是unknown
. T( o" A8 F- j" o& H2 q3 u1 tK了一些資料 但尚未發現一絲一毫哪裡有錯....& h+ y4 A! h j8 [7 w6 c: E
我的constraints大致設定如下東西 使用的製程是TSMC 0.18um:
' `1 |3 j8 V \0 s j6 `8 J% ]
- I Y0 E: y' Z6 ~2 ^; B建立clock1 a* w4 O# [6 ?6 B
+ `1 c9 f3 K3 }# q2 u
set_wire_load_model -name tsmc18_wl10 -library slow
+ A D- `3 Z Yset_driving_cell -library slow -lib_cell DFFX1 -pin {Q} [remove_from_collection [all_inputs] [get_ports clk]]1 N6 A1 @) k/ M/ R6 c4 A2 P
set_driving_cell -library slow -lib_cell BUFX4 -pin {Y} [get_ports clk]
) u+ X+ M% J. t+ ^3 tset_input_delay [expr $clk_in_delay + $clk_in_pad_delay] -clock clk [remove_from_collection [all_inputs] [get_ports {clk}]]$ W+ A7 L$ Z0 F8 a) o& ]5 o
set_output_delay [expr $clk_out_delay + $clk_out_pad_delay] -clock clk [all_outputs]
& L& E1 ~( W/ ^set_load [load_of "slow/DFFX2/D"] [all_outputs]
& |: z5 i5 ^) R6 E3 A! v2 j. |[remove_from_collection [all_inputs] [get_ports {clk rst_n}]] |
|