Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2009-6-10 19:41:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
因為我的電路需要多種clk
, x: ?5 \5 p& e- b8 O; ^clk比此之間有延遲的關係
# w( O9 J% ~) o! O3 M例如 clk  clk1  clk2  clk3# d3 ?& o0 L1 o; o* D
這些clk週期等相關設定都一樣的
! s! L& C+ p) S3 C7 [唯一不同的是  clk1 比 clk  延遲0.375ns* d  m" i& H  p* }" k; X' W7 {
            clk2 比 clk1 延遲0.375ns  (clk2比 clk 延遲0.75ns)0 I8 T; s3 K+ y. R- A
            clk3 比 clk2 延遲0.375ns  (clk3比 clk 延遲1.125ns)5 v. s4 Y! R0 }9 l! d
但是我只要一個clk port 接出io pad& \: ^/ o8 t. J) g2 Z7 \
也就是clk1 clk2 clk3 要由 clk產生
/ @; g6 H& ?' g' `因此我在verilog 寫一個 clk generator如下2 M/ I1 B$ i+ i9 r* ?

) ~& Y# V1 B; F# x8 y/ u' W  V; nmodule clk_generator  (clk, clk1, clk2, clk3);  
& X: L! w4 D  \8 g: j  input clk ;
9 {" J4 J- V3 R  output clk1, clk2,  clk3 ;9 u$ }+ ]& S8 e# J$ v& R0 [
  buf BUF_0(clk1,clk);% }- L/ J% b' Q
  buf BUF_2(clk2,clk1);: G# |$ o; u! @. I% H
  buf BUF_3(clk3,clk2);/ k' L* d! P7 L
endmodule
! Q1 T  p0 \, X: W& U0 e) N' C- g; u: p' V
再我主要的module中引用如下
$ {% m" ?* y4 _5 `* L& t3 h5 _module s4478( GND, VDD, clk,  G1, G2, G3, G4, G5,OUT1, OUT2, OUT3, OUT4, OUT5, error ); 2 m! z4 x  h+ `$ V
  input GND, VDD, clk, G1, G2, G3, G4, G5;
9 n; V! o- i9 q0 |4 _. f& J  output OUT1, OUT2, OUT3, OUT4, OUT5, error;
5 v! @! b& E! f, f& y! q  wire   clk1, clk2, clk3 ;
7 j3 _% c& T2 R- Q: h.
  Y. B4 f. ^( H.3 W% X* c* m: O
clk_generator clk_generator ( .clk(clk), .clk1(clk1), .clk2(clk2), .clk3(clk3) );  
6 _  f- D* V$ j  M: f.2 t0 F+ c- k% {
.
+ x* p# H+ T% V3 C! X  nend module9 u- W& T1 q1 c1 n1 r$ w4 N

! k! e1 M( y* Q, mdesign vision 指令 clk部分描述如下
9 t/ x9 m6 o* S) u* z
1 L" m/ A/ c% e- j* d$ Jcurrent_design $active_design
7 P' ^8 Q7 M7 b% [$ Ccreate_clock [get_ports clk] -period 4 -waveform {0 2}0 b+ r2 G# ]) X' h7 v8 q
set_clock_uncertainty 0.3 [get_ports clk]* u5 M' n: l8 U- N; B
set_clock_transition 0.3 [get_ports clk]7 P% r; Q! |# Y3 {$ Z! P
set_fix_hold [get_clocks clk]
9 v9 O+ p) \, m. Z2 \9 Aset_dont_touch_network [all_clocks]7 X# @* b- w+ [: H! J- @1 \! R$ X
set_drive [drive_of "CCU90mt1_05V_FBB_0909/INVd1/zn"] [get_ports clk]
* ?7 S0 D* h( R. Z) _1 X! E: d! R' [create_generated_clock  -name clk1 -source clk -divide_by 1 [get_pins clk_generator/clk1]
7 V- t% e) f" ^  r" w% Vset_clock_latency 0.375  [get_pins clk_generator/clk1]# ^& ]) J! n- W  r( n& \" i
create_generated_clock  -name clk2 -source clk -divide_by 1 [get_pins clk_generator/clk2]) s3 P4 t1 |1 Q9 O
set_clock_latency 0.75  [get_pins clk_generator/clk2]
( R" K4 H8 Y/ o& s. _! Ccreate_generated_clock  -name clk3 -source clk -divide_by 1 [get_pins clk_generator/clk3]
8 g! t% I1 Q: }' Mset_clock_latency 1.125 [get_pins clk_generator/clk3]
& y7 Z7 z2 q7 H. o1 O, z9 |6 B+ L  C5 f  Z) n. R: l: G1 L- Y* ?
結果我的clk tree只有最原始的clk3 s0 h: j+ x' f  ^$ O
clk1 clk2 clk3 都沒長出來
5 X, }$ |  G# {5 j* A不知是那裡用錯了或遺漏了   _4 J9 R6 B0 P. s1 j
或是encounter clk沒設定好- Z8 U$ V2 x6 u; p- v0 W& J: ]: x
用了很久都用不好
& a2 Y4 _  V+ K) Z3 v; @4 K只好請教各位: {2 }- W0 @0 j
萬分感謝
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2009-6-11 21:59:32 | 只看該作者
試一下
  o0 Z1 B# l$ R6 L" ]set_clock_latency -source 0.375  [get_pins clk_generator/clk1]8 X4 ?* m8 }5 y$ l8 C1 J
set_clock_latency -source 0.75  [get_pins clk_generator/clk2]4 h. @5 {7 r0 Y7 v3 E$ n+ D/ x" k
set_clock_latency -source 1.125  [get_pins clk_generator/clk3]* F1 c) F: w  W* c( m1 k
( U& ]0 ^; O% j7 }. s5 L
你的寫法是給下一級的constrain8 S. q) @* X6 \6 s
3 n6 |' K& u/ M6 k
有錯請指正
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-4-30 06:39 PM , Processed in 0.102006 second(s), 17 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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