|
本帖最後由 lj0113 於 2011-3-27 10:07 PM 編輯
' U* r% O; c0 Z2 G& d$ S$ h* g( T- r: u
各位先輩:. b6 [* I% g6 }' F7 I1 p' k0 ]- w U
. _3 l' X) }1 W2 ~% ^7 [小子目前在處理一個硬體,合成後其輸出waveform經過reset,然後再幾個clock cycle 其輸出就開始呈現unknow狀態" \# h4 q: T" }% c
由於這個硬體不是我負責 我得負責把它合成出來....造成我不確定原因是否是rtl亦或是我DC constraints下的不夠好6 v1 L2 I, V. |. W1 o
但我知道有人合成完後,電路是可以function work(不過我實在不太好意思 一直去打擾那人= =)
6 b8 b! v# o+ b5 Z
$ @- \& y* c' H( K; G以前我用類似這樣的constraint去合成比較小的電路都是ok的,目前這個電路真的比較大,所以我在想說百分之百一定是DC這邊constraint設定不好= =
! T- C3 N: q- e2 R1 T* a' [/ f9 p* c導致我合成出來的硬體造成輸出都是unknown
4 E) m* h4 C$ V VK了一些資料 但尚未發現一絲一毫哪裡有錯....
; }* T6 N9 Q0 @3 j/ M# w6 y. U% v, J我的constraints大致設定如下東西 使用的製程是TSMC 0.18um:
1 p* H& p* h1 k6 N Y# I0 D! ?3 N6 Z( z4 @4 g
建立clock2 C; B- [2 Z0 k5 k
?) c9 m! z# m& h
set_wire_load_model -name tsmc18_wl10 -library slow; @" t' w5 w; S# Q2 q# E
set_driving_cell -library slow -lib_cell DFFX1 -pin {Q} [remove_from_collection [all_inputs] [get_ports clk]]0 H, F$ S& X& G5 f7 k
set_driving_cell -library slow -lib_cell BUFX4 -pin {Y} [get_ports clk]' @& `; {' |: {
set_input_delay [expr $clk_in_delay + $clk_in_pad_delay] -clock clk [remove_from_collection [all_inputs] [get_ports {clk}]]9 m9 F# u) [# S4 G
set_output_delay [expr $clk_out_delay + $clk_out_pad_delay] -clock clk [all_outputs]0 V/ E. y2 d/ @6 b& x; k' D
set_load [load_of "slow/DFFX2/D"] [all_outputs], B* B7 h1 T- }8 S5 y) d: h
[remove_from_collection [all_inputs] [get_ports {clk rst_n}]] |
|