Chip123 科技應用創新平台

標題: Design compiler TSMC .18合成的問題 [打印本頁]

作者: squirrel316    時間: 2009-7-5 12:00 PM
標題: Design compiler TSMC .18合成的問題
最近在跑合成時" d$ [! [' g8 Z! u- _; n" w" K: Q
發現到DFF用negedge trigger會有問題
2 X3 w: V0 O9 h% P( {* m" [如下面所寫的code9 s" y6 B3 D" I/ r$ ^" j" B4 I
module DFF (H,clk,reset,H_new);9 z) b4 r; E( J. O
input H,clk,reset;
- @8 N: ^& [3 A- x  ?0 {& W7 ~output H_new;: _& w  c) H6 ?( B
reg H_new;- D  [4 ^# G$ d0 ~
9 |! ^2 w. w; O5 c5 T9 L1 D4 |
always @ (negedge clk or negedge reset)! |; q5 Q# N6 o; ~* S
begin% F9 U& v7 e! q
  if (reset==1'b0)
* o) D+ i2 u# X0 a% k9 Y0 p% P    H_new<=1'b1;- H& O/ ^3 ?, R' B7 t
  else9 K5 j% @$ L% }/ k# ]3 m
    H_new<=H;* \% E  {1 h- ^! [  d/ A
end, G1 S; `$ b/ O
endmodule
7 X: L) K% R; E% G6 g
% |  x% g4 c  Z# v# S我發現到合成出來的檔案8 y/ ~" B* K. ?2 {
除了flip-flop外 還會加入一堆DLY4X1的硬體* h& Y8 d9 i" }' R
如果是用posedge clk的話 合出來是正常的
: f: r+ @% D3 W! S* y
% ]4 Z) _: _7 M* i9 j) T就算我新生一個clk_bar把clk反向
( P5 f4 t1 A, D" @$ |8 p並將clk_bar改成posedge trigger9 J9 k: S1 R4 |9 Q# ^
合出來的硬體還是會像原先用negedge clk一樣會多了一些DLY4X1的硬體! b* @- C7 J4 {/ `  z
由於我需要negedge trigger的function
, ^1 B/ j, r+ H7 h4 h0 K) e但在合成時卻無法正確合出來/ p- G) s( ?6 e$ R! F
請問該問題該如何解決: N. T; F0 w2 n
謝謝
作者: 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://chip123.com/) Powered by Discuz! X3.2