Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2009-6-10 19:41:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
因為我的電路需要多種clk
2 u1 c. {2 O1 U5 \clk比此之間有延遲的關係
) J9 q4 ?) ^- a  ~  n例如 clk  clk1  clk2  clk3
) z7 o* X  k  e3 P3 H- f( ?1 I8 S5 n這些clk週期等相關設定都一樣的
, G1 P6 h9 m) F% D* s唯一不同的是  clk1 比 clk  延遲0.375ns- [9 Z! _9 D2 x$ y* A
            clk2 比 clk1 延遲0.375ns  (clk2比 clk 延遲0.75ns)! G$ _# X3 ?" g9 j$ `+ d1 O* l- a7 ^
            clk3 比 clk2 延遲0.375ns  (clk3比 clk 延遲1.125ns): [5 \% H. }& |" x
但是我只要一個clk port 接出io pad+ D4 v2 s1 f" _+ M; [' d. o$ B
也就是clk1 clk2 clk3 要由 clk產生- A3 K& U" A6 ~. Z* D3 e8 s
因此我在verilog 寫一個 clk generator如下" D, r# U+ f7 i, [

; b" @" ^2 {2 q8 Y5 Jmodule clk_generator  (clk, clk1, clk2, clk3);  $ y  p/ _1 C& c) l/ G$ ~6 ~, ~) W
  input clk ;
8 v( Z# }  Z4 Y/ a3 `( Z  output clk1, clk2,  clk3 ;8 m+ y% F# f) F& L1 K* t* U
  buf BUF_0(clk1,clk);  g4 g$ }* h; O
  buf BUF_2(clk2,clk1);
* b8 U2 u" ?- r( S( e2 v  buf BUF_3(clk3,clk2);
& s+ |& H6 N$ a7 k7 zendmodule
- ^3 ^& j2 {% P$ u5 H6 o, a& t# x
1 Q: |8 P7 W  l再我主要的module中引用如下
# h, K# C+ G/ G- y9 w/ Mmodule s4478( GND, VDD, clk,  G1, G2, G3, G4, G5,OUT1, OUT2, OUT3, OUT4, OUT5, error );
% b1 ~' J; F  N4 \7 C  input GND, VDD, clk, G1, G2, G3, G4, G5; ( I( F- V% a9 g* C' Z3 ^% p
  output OUT1, OUT2, OUT3, OUT4, OUT5, error;8 X3 y* ]! Q- _" e/ U! w
  wire   clk1, clk2, clk3 ;
- _' B/ i8 X# q2 E5 L4 A.
1 @3 B9 n( H: ?) H$ ?% V1 O, K.6 c" u0 e* D! t8 E0 M
clk_generator clk_generator ( .clk(clk), .clk1(clk1), .clk2(clk2), .clk3(clk3) );  6 ^' O6 L* `$ _- |+ g
.
+ Q! j: |; H  a" [8 W.# N6 h" h8 Y+ Z* q8 O: v
end module
0 {+ n- p( y, T! @
& \: j' D- v2 V+ Pdesign vision 指令 clk部分描述如下 + t1 ^. k0 G+ i; z+ p
% X$ \: K# a& O, ~
current_design $active_design ' N& K, x+ `( v1 R+ B; V
create_clock [get_ports clk] -period 4 -waveform {0 2}
, i; f: ]7 o: @% gset_clock_uncertainty 0.3 [get_ports clk]+ e, x$ b# ?2 d* v+ B; a1 f
set_clock_transition 0.3 [get_ports clk]
( |0 ?; E4 R! f# dset_fix_hold [get_clocks clk]
* X1 ^6 s; w9 S' H8 m' t1 oset_dont_touch_network [all_clocks]% R: ^: ^' i. y2 w" U" I; }( I! D
set_drive [drive_of "CCU90mt1_05V_FBB_0909/INVd1/zn"] [get_ports clk]
5 ?3 `8 [' p9 P6 C- Icreate_generated_clock  -name clk1 -source clk -divide_by 1 [get_pins clk_generator/clk1]0 Z. b9 P, P- ?# a" P% _% ]7 T
set_clock_latency 0.375  [get_pins clk_generator/clk1]8 r6 ^9 S; U. B: N
create_generated_clock  -name clk2 -source clk -divide_by 1 [get_pins clk_generator/clk2]" x* q5 K# u$ o+ c* v; S* M$ l) ]% d
set_clock_latency 0.75  [get_pins clk_generator/clk2]
: w; J/ {: i% pcreate_generated_clock  -name clk3 -source clk -divide_by 1 [get_pins clk_generator/clk3]  [6 e2 D' ^, ]6 w/ R# W
set_clock_latency 1.125 [get_pins clk_generator/clk3]
; g& ^/ A4 ^/ i) V8 v
2 N1 u" {" U/ Q6 d0 L- b* l結果我的clk tree只有最原始的clk
' b& _% M+ S: w1 R* I6 V6 V: Wclk1 clk2 clk3 都沒長出來
; v7 k1 R3 K: u7 p. z! b不知是那裡用錯了或遺漏了 9 F' n1 |+ S$ P: V+ D0 h  `. p8 b
或是encounter clk沒設定好
8 d: r  `/ f) l2 R3 e用了很久都用不好
& j* c* A6 X- ?2 K6 n/ c只好請教各位! _. D9 a, R$ C$ t& R
萬分感謝
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2009-6-11 21:59:32 | 只看該作者
試一下' q+ y- V$ k; E, g; M2 w3 u
set_clock_latency -source 0.375  [get_pins clk_generator/clk1]6 L9 V& [! J$ ]* K
set_clock_latency -source 0.75  [get_pins clk_generator/clk2]/ g1 T! C8 s, p0 D! _: e
set_clock_latency -source 1.125  [get_pins clk_generator/clk3]! b4 c6 ]" x/ O  }' G9 k5 w
( C8 Q; i% c. m+ I& `- Q: R
你的寫法是給下一級的constrain
& B. w. o/ J6 c, {
2 `4 H! c$ @$ v& w& K+ i8 U有錯請指正
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-6-8 03:50 AM , Processed in 0.125015 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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