Chip123 科技應用創新平台
標題:
Design compiler TSMC .18合成的問題
[打印本頁]
作者:
squirrel316
時間:
2009-7-5 12:00 PM
標題:
Design compiler TSMC .18合成的問題
最近在跑合成時
2 t2 E9 Q9 \3 P$ H+ @
發現到DFF用negedge trigger會有問題
1 w. |1 Q# G) k; K2 T& V" Y- w
如下面所寫的code
% o4 I! h6 H& W) b8 T
module DFF (H,clk,reset,H_new);
4 b5 N& E$ p, Y& N
input H,clk,reset;
0 |# ~7 y9 P% ^1 Z9 ~3 _2 m$ }
output H_new;
' X* p; u+ Z6 Z- ]3 j5 N
reg H_new;
4 r# h9 S: ?! i
4 e ^2 w" c1 k0 r
always @ (negedge clk or negedge reset)
4 T3 m+ D% X$ ~# A# ]" `& }6 G
begin
6 I6 X, |- ~+ H: Q
if (reset==1'b0)
; c, w3 z! g G$ }) j, z& y0 Y
H_new<=1'b1;
/ C' G5 \5 `8 t9 H5 t$ E
else
8 g% ?! R4 ~; M" a! N
H_new<=H;
; A* `3 l, J' E. M2 [7 W
end
7 m' L0 F# e: [
endmodule
# n4 h4 U: G% v4 I% Q. I
) W& P& t! y1 ]+ `+ W% ]
我發現到合成出來的檔案
# C3 }! R3 q! b3 N0 N
除了flip-flop外 還會加入一堆DLY4X1的硬體
4 L: Q! W8 a! \, |. @
如果是用posedge clk的話 合出來是正常的
( z z. e5 v: a! m9 \
1 |5 B. y' `% u" S3 h
就算我新生一個clk_bar把clk反向
) J) B0 b3 w/ D6 a
並將clk_bar改成posedge trigger
& ?% Q( _' ^4 n/ L, t
合出來的硬體還是會像原先用negedge clk一樣會多了一些DLY4X1的硬體
* R/ {9 \0 k3 {0 {3 u% Y! m7 D5 `+ ]
由於我需要negedge trigger的function
- Z( M$ s1 U. o1 b% _2 T8 R- |3 J
但在合成時卻無法正確合出來
7 I% h7 C: m6 I: U
請問該問題該如何解決
# f5 G' e& ~+ d9 ~# ^' j
謝謝
作者:
michael6172
時間:
2009-8-17 10:41 PM
一般正常都是用 posedge clk去驅動吧,你可以改用negedge 的cell library去合看看,negedge 的cell library請洽給你cell library的人
作者:
tommywgt
時間:
2009-8-18 12:13 PM
DLYx4我覺得是為了修正setup time violation的問題, 不見得是negtive trigger的問題, 但是確實有可能是使用negtive trigger所造成的
歡迎光臨 Chip123 科技應用創新平台 (http://free.vireal.world/chip123_website/innoingbbs/)
Powered by Discuz! X3.2