Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2009-6-10 19:41:06 | 只看該作者 回帖獎勵 |正序瀏覽 |閱讀模式
因為我的電路需要多種clk
9 E( J- f( D1 H4 C  d8 h! A/ Oclk比此之間有延遲的關係
0 D& s* h2 v3 H# a4 X* t- K例如 clk  clk1  clk2  clk3  l6 T% Z, U  Y5 b& v
這些clk週期等相關設定都一樣的9 h! c; x1 T3 L! H/ C$ a
唯一不同的是  clk1 比 clk  延遲0.375ns# w% J/ ^$ {+ ]( v! S4 `
            clk2 比 clk1 延遲0.375ns  (clk2比 clk 延遲0.75ns)$ |0 ?' A6 B8 A3 T
            clk3 比 clk2 延遲0.375ns  (clk3比 clk 延遲1.125ns)+ x( |4 l" Z$ j. w9 i
但是我只要一個clk port 接出io pad
! _, [7 ^) I1 W* S) h也就是clk1 clk2 clk3 要由 clk產生  }$ c* Q% k. V  X: z' j
因此我在verilog 寫一個 clk generator如下# m$ C5 z) H. R0 v$ E5 @  r

* o8 t+ I. f5 U4 Q# Y* H6 h1 Dmodule clk_generator  (clk, clk1, clk2, clk3);  
5 S+ Z2 H* `$ U5 V  input clk ;
% E+ j  r6 ~2 m! F% H  output clk1, clk2,  clk3 ;8 v6 S1 Y( T6 c) F4 H
  buf BUF_0(clk1,clk);: C1 T; C5 d; D+ h! g' v5 ?
  buf BUF_2(clk2,clk1);7 L: }+ O6 E; l
  buf BUF_3(clk3,clk2);8 ]" x- h) n3 y. x5 H& V$ E: @
endmodule9 Y  C; p/ y( t( H  L( L, _

3 h) ?' z; N5 I8 U再我主要的module中引用如下$ v* I3 u. S/ N7 k5 S  v
module s4478( GND, VDD, clk,  G1, G2, G3, G4, G5,OUT1, OUT2, OUT3, OUT4, OUT5, error ); ' K* @0 x: f" U& _. `8 n
  input GND, VDD, clk, G1, G2, G3, G4, G5;
/ y8 A! S/ E1 Y8 D# A1 b  output OUT1, OUT2, OUT3, OUT4, OUT5, error;: k( x9 e  \/ O2 b$ w" M
  wire   clk1, clk2, clk3 ;
6 }1 r, r. j: s" g% F2 z, `& W.8 X  W! I, ?% |/ q! F
.: H" R1 j+ j4 V
clk_generator clk_generator ( .clk(clk), .clk1(clk1), .clk2(clk2), .clk3(clk3) );  ! d" c" ~/ `  H1 c$ a7 p3 Z
.
  h  Q. g% m6 z" g., f2 Z$ ?. j. n+ v! O
end module  v0 B6 m3 L- ^  J- G% i# w7 ]
$ m# ]1 }  V2 z* t/ N
design vision 指令 clk部分描述如下 " h  u' ?) d0 z

. M- p/ k4 h. {) c/ Jcurrent_design $active_design " Y1 ?. D7 `, U- d
create_clock [get_ports clk] -period 4 -waveform {0 2}
1 R! e5 g( \  a% T( X; ~; m6 s- Y. ?set_clock_uncertainty 0.3 [get_ports clk]8 ]9 Y. u" [! G  I; c# d4 d% S( f7 i
set_clock_transition 0.3 [get_ports clk]2 [0 _, V% ~' \0 m6 q
set_fix_hold [get_clocks clk]
* F1 p9 X# V0 cset_dont_touch_network [all_clocks]- e; E" [( m- B  S# {* _! n; r
set_drive [drive_of "CCU90mt1_05V_FBB_0909/INVd1/zn"] [get_ports clk]
8 r& d2 |8 W1 ^5 N( M" m: |create_generated_clock  -name clk1 -source clk -divide_by 1 [get_pins clk_generator/clk1]% M2 ]* S5 ~, S: K' u- @
set_clock_latency 0.375  [get_pins clk_generator/clk1]
" D$ ?5 h% b$ f" S1 Ncreate_generated_clock  -name clk2 -source clk -divide_by 1 [get_pins clk_generator/clk2]
6 F' _1 }" ~* cset_clock_latency 0.75  [get_pins clk_generator/clk2]
8 |" v; h" U0 n7 P4 screate_generated_clock  -name clk3 -source clk -divide_by 1 [get_pins clk_generator/clk3]* k: r" c' o$ ^2 s* q9 ^  V4 ?6 `
set_clock_latency 1.125 [get_pins clk_generator/clk3]
4 |) h5 {" S# ]& P% e5 ^  L  ~* U7 N$ ?
結果我的clk tree只有最原始的clk% [& R$ l9 [& M0 @7 B7 J
clk1 clk2 clk3 都沒長出來8 l7 _) U6 `5 R' Y
不知是那裡用錯了或遺漏了
" F0 Z/ ~; {5 z; u- X/ _; I& _或是encounter clk沒設定好
2 h; i) ~5 X+ A# S2 l: r用了很久都用不好
8 M* c9 `3 o# ?只好請教各位- W- Q* o) h, U5 a, j
萬分感謝
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2009-6-11 21:59:32 | 只看該作者
試一下
. @7 a0 f0 `/ N9 v- _0 Z$ Sset_clock_latency -source 0.375  [get_pins clk_generator/clk1]# Z, z3 M4 r- `' a
set_clock_latency -source 0.75  [get_pins clk_generator/clk2]3 ?- P& f. g) s$ V9 |7 k. w7 J6 V
set_clock_latency -source 1.125  [get_pins clk_generator/clk3]' |7 E$ ^. ^! C- N
3 i& n7 B- M8 U* m2 m7 ~
你的寫法是給下一級的constrain
) [, x$ Q2 v# u, T2 S9 }1 B. ~2 \
% S8 \% |2 P2 L/ K. r) v* `有錯請指正
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-18 01:11 AM , Processed in 0.114014 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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