|
本帖最後由 lj0113 於 2011-3-27 10:07 PM 編輯
2 X! E8 z# [; j7 ~% t2 X: ^$ S( x# N0 i8 l/ |; P3 P; ?
各位先輩:2 O% ~. ~& \8 t$ X8 B
6 w+ t F$ y% T* N" L小子目前在處理一個硬體,合成後其輸出waveform經過reset,然後再幾個clock cycle 其輸出就開始呈現unknow狀態
. f, }* P2 \3 z2 i- O由於這個硬體不是我負責 我得負責把它合成出來....造成我不確定原因是否是rtl亦或是我DC constraints下的不夠好
; l& P/ H% j# p" {( I5 _: X1 P) A6 x但我知道有人合成完後,電路是可以function work(不過我實在不太好意思 一直去打擾那人= =)8 }3 N3 Q( L) `% J* @( }4 g3 U' T% @
B9 ~( A9 C( d, f* `7 K% t4 W4 z* t以前我用類似這樣的constraint去合成比較小的電路都是ok的,目前這個電路真的比較大,所以我在想說百分之百一定是DC這邊constraint設定不好= =
, P- {/ B) ^$ n: ^3 K8 g1 ~導致我合成出來的硬體造成輸出都是unknown
# N! y/ g6 x' r" E, x+ N' ~ t, WK了一些資料 但尚未發現一絲一毫哪裡有錯....
o" C3 u9 `; G1 O* P$ w7 N我的constraints大致設定如下東西 使用的製程是TSMC 0.18um:
- Y/ ^2 F: \ E! U+ L! \8 O
0 h! m4 F. ]9 A) }) H( w: L; ?建立clock# g+ b! `1 O. H+ s+ C. k9 `6 d
G* i# p+ O9 q$ _9 l8 }2 @set_wire_load_model -name tsmc18_wl10 -library slow
/ |& x( \$ E# U- B: x& A: Yset_driving_cell -library slow -lib_cell DFFX1 -pin {Q} [remove_from_collection [all_inputs] [get_ports clk]]
8 Z; g% A! x |* V, Z! Yset_driving_cell -library slow -lib_cell BUFX4 -pin {Y} [get_ports clk]# |( H3 _6 S6 O7 B) C! c: X- |( h1 p7 p
set_input_delay [expr $clk_in_delay + $clk_in_pad_delay] -clock clk [remove_from_collection [all_inputs] [get_ports {clk}]]
1 Z3 O) C* S* ]; z' Oset_output_delay [expr $clk_out_delay + $clk_out_pad_delay] -clock clk [all_outputs] Z4 ~4 x0 b, q
set_load [load_of "slow/DFFX2/D"] [all_outputs]) L7 W3 y2 u( y" M8 A
[remove_from_collection [all_inputs] [get_ports {clk rst_n}]] |
|