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" [
如下面所寫的code
9 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
else
9 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 trigger
9 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