Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

搜索
1 2 3 4
查看: 5959|回復: 3
打印 上一主題 下一主題

[問題求助] 關於 合成 指令 clk_latence 的請益

[複製鏈接]
跳轉到指定樓層
1#
發表於 2009-6-10 19:41:06 | 只看該作者 回帖獎勵 |正序瀏覽 |閱讀模式
因為我的電路需要多種clk
, o4 r7 a4 M/ l" Rclk比此之間有延遲的關係5 d  P# j% y% ]' [  ~5 h0 D
例如 clk  clk1  clk2  clk3
' d2 i' |/ ~5 o, L5 o( A! h2 T這些clk週期等相關設定都一樣的6 ^3 ^- ?% M! R* I& O
唯一不同的是  clk1 比 clk  延遲0.375ns* U0 s; ^+ o2 R+ q% F; ?
            clk2 比 clk1 延遲0.375ns  (clk2比 clk 延遲0.75ns)
% d, y& V4 p3 u3 E            clk3 比 clk2 延遲0.375ns  (clk3比 clk 延遲1.125ns)1 h2 x7 Z- Q' }: i+ m6 V0 o! T
但是我只要一個clk port 接出io pad
4 v, r$ |# Q. ^- c/ U- S6 L也就是clk1 clk2 clk3 要由 clk產生
/ o% x2 q4 g+ ^, H# T0 @因此我在verilog 寫一個 clk generator如下
0 `4 ?4 G$ q" D, Y9 ?7 l) M: f6 A4 @  N- B! t
module clk_generator  (clk, clk1, clk2, clk3);  4 N# I) @6 j! N* G" {
  input clk ;1 `+ H+ }" n6 X7 e. m4 o3 g
  output clk1, clk2,  clk3 ;9 ^) g3 u  s, ]+ D  v& E
  buf BUF_0(clk1,clk);! I7 X# \& p* ~' f$ t: l
  buf BUF_2(clk2,clk1);
& R0 ?! m9 c4 c+ Q9 Q' ]  buf BUF_3(clk3,clk2);& ]2 i+ m9 k1 w) K5 D
endmodule
; F  w6 |/ C9 u0 k) a: S2 ^& u
. ?1 X4 Z! S+ s' D7 j再我主要的module中引用如下
  Y+ i- v% o0 V, Gmodule s4478( GND, VDD, clk,  G1, G2, G3, G4, G5,OUT1, OUT2, OUT3, OUT4, OUT5, error );
' U; z" i3 e/ W( x  input GND, VDD, clk, G1, G2, G3, G4, G5;
; [( ~' W" u0 S# g  output OUT1, OUT2, OUT3, OUT4, OUT5, error;
# J6 e. K0 n& W8 L8 e  wire   clk1, clk2, clk3 ;
7 ?9 {# {+ Q- N& }* q) J.
) Y! s  g4 `6 O& o" m  B1 z: u.+ \( G- w: K' B" ^8 o
clk_generator clk_generator ( .clk(clk), .clk1(clk1), .clk2(clk2), .clk3(clk3) );  
7 G% {! p% j2 v# r! o.
1 j4 j$ N9 `- H. z5 t.0 l# K; s7 N0 m2 Q9 v! `& p" D
end module  D' n5 O5 h9 M- u; C7 s, o4 h
+ x3 H1 I* |7 E, v
design vision 指令 clk部分描述如下 % I2 U/ p6 e2 D" j- e

5 E0 I" W: ]( s! j  j! j; f8 _, I! U+ gcurrent_design $active_design ; B+ G9 x; P$ |' X! H* D; w
create_clock [get_ports clk] -period 4 -waveform {0 2}
9 l" f# F3 V# k% x4 mset_clock_uncertainty 0.3 [get_ports clk]
! ^/ a# u4 Z) H7 }set_clock_transition 0.3 [get_ports clk]& k/ _. N$ N  \
set_fix_hold [get_clocks clk]4 b2 M. i2 ~% @" S+ E( _
set_dont_touch_network [all_clocks]
6 D' A1 Y! K5 P$ l" r7 d* Eset_drive [drive_of "CCU90mt1_05V_FBB_0909/INVd1/zn"] [get_ports clk]
9 n3 F! X3 K2 z5 mcreate_generated_clock  -name clk1 -source clk -divide_by 1 [get_pins clk_generator/clk1]+ y3 h8 S2 u+ w# D& d3 T
set_clock_latency 0.375  [get_pins clk_generator/clk1]' X) Z9 M# E, f
create_generated_clock  -name clk2 -source clk -divide_by 1 [get_pins clk_generator/clk2]. ?* ~2 W( d: B6 M, o" b
set_clock_latency 0.75  [get_pins clk_generator/clk2]
& @( _. B% }+ C' x! zcreate_generated_clock  -name clk3 -source clk -divide_by 1 [get_pins clk_generator/clk3]/ q5 {1 a* O( r* b5 u+ F
set_clock_latency 1.125 [get_pins clk_generator/clk3]
' K4 C# S7 W0 U2 C  `+ {( P  R- O9 g
結果我的clk tree只有最原始的clk5 g0 [0 w  V) X8 O. ^
clk1 clk2 clk3 都沒長出來0 Q, @+ r7 I0 L0 z& c( R- o- r$ ?
不知是那裡用錯了或遺漏了 % k9 q5 `3 J2 F8 i9 w7 t
或是encounter clk沒設定好+ x  f! f0 K% X; K
用了很久都用不好9 p+ M1 L4 q6 z, d0 x
只好請教各位
6 R) R# r7 G! `1 p8 K+ C萬分感謝
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2009-6-11 21:59:32 | 只看該作者
試一下5 I$ M+ J" O7 P) Y+ q8 V+ ~8 m$ Y( b
set_clock_latency -source 0.375  [get_pins clk_generator/clk1]3 a. J8 s$ G* X$ N9 H7 @
set_clock_latency -source 0.75  [get_pins clk_generator/clk2]
* |/ |8 H  }) N5 m  gset_clock_latency -source 1.125  [get_pins clk_generator/clk3]1 g" I, r, p+ X. ?! L; a" J: o
5 @* }1 X' V9 F" g
你的寫法是給下一級的constrain
. q- l$ H; t2 i
2 K0 m+ Q& w1 }% K# ~7 ~有錯請指正
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

首頁|手機版|Chip123 科技應用創新平台 |新契機國際商機整合股份有限公司

GMT+8, 2024-9-27 06:58 PM , Processed in 0.173010 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表