Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2009-6-10 19:41:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
因為我的電路需要多種clk' y) e0 u! ^9 B
clk比此之間有延遲的關係
3 m3 j8 \% D8 S' G) S例如 clk  clk1  clk2  clk3
9 a1 @0 u  e6 W( C7 c9 W1 j. D這些clk週期等相關設定都一樣的  s) b' q( q+ `. ?6 V  M8 W
唯一不同的是  clk1 比 clk  延遲0.375ns
5 @$ O0 B2 B8 G            clk2 比 clk1 延遲0.375ns  (clk2比 clk 延遲0.75ns)
. H4 r% g6 L, [, F" f            clk3 比 clk2 延遲0.375ns  (clk3比 clk 延遲1.125ns)  V5 r3 ~6 a$ h# g1 }+ L7 o
但是我只要一個clk port 接出io pad
% X$ u8 k7 k6 X& _. p3 M( v也就是clk1 clk2 clk3 要由 clk產生
8 V- D2 I# P0 C* H- x3 q4 H因此我在verilog 寫一個 clk generator如下
5 E  _) L; f( y9 i9 S0 ~4 F1 G1 g& y
8 u  m+ L" C$ W3 @2 z+ l7 m: nmodule clk_generator  (clk, clk1, clk2, clk3);  
) o; A" A! ^, U% E  input clk ;& w( \9 g. M! F& W" k0 U$ q
  output clk1, clk2,  clk3 ;$ e* \% {$ g) A! z/ R9 L+ \" U( J
  buf BUF_0(clk1,clk);
9 j" C+ g) E5 k  buf BUF_2(clk2,clk1);
" Q: w$ s( J1 \' }) O  buf BUF_3(clk3,clk2);
* L& w8 ?0 B; `4 W+ i$ i" jendmodule
6 H) h8 A% I- V' ^
# \: x8 u; H' a0 Z( ]  T/ Y再我主要的module中引用如下, W! f% [1 I* ?2 {5 ~" {
module s4478( GND, VDD, clk,  G1, G2, G3, G4, G5,OUT1, OUT2, OUT3, OUT4, OUT5, error );
+ @( p" D* Q& W; o  input GND, VDD, clk, G1, G2, G3, G4, G5;   H: y4 O8 z& n% F
  output OUT1, OUT2, OUT3, OUT4, OUT5, error;; w  J$ s- a) E% y; o/ u, B2 W
  wire   clk1, clk2, clk3 ;) L, r4 {* j9 N
.
% [' Z, w. z" N7 U1 ]3 L.
, \9 l) J6 S! M8 n& Bclk_generator clk_generator ( .clk(clk), .clk1(clk1), .clk2(clk2), .clk3(clk3) );  
$ c* p& k& H+ ~: i2 M.: }. k: m& z6 C1 n% _  G  V7 d
.' c; U( D1 U$ P3 h, T& j
end module
# {' `3 A' }' Q
" ]( {$ M8 J3 {! s. p1 k9 Gdesign vision 指令 clk部分描述如下
( ]" J' l2 E5 x  C6 N  n' u) B
current_design $active_design 6 G. h- S; f1 k5 D' _
create_clock [get_ports clk] -period 4 -waveform {0 2}
5 g9 W, k4 s+ ]  Qset_clock_uncertainty 0.3 [get_ports clk]
: n% T+ ]8 A6 b+ Bset_clock_transition 0.3 [get_ports clk]% J7 |$ G4 p' _% R
set_fix_hold [get_clocks clk], D1 k7 {/ T- _1 ]
set_dont_touch_network [all_clocks]
" p+ B# w( V6 L* |1 {! i+ f: u& c5 [set_drive [drive_of "CCU90mt1_05V_FBB_0909/INVd1/zn"] [get_ports clk]) z- p- `6 H/ U' s, {% a( b
create_generated_clock  -name clk1 -source clk -divide_by 1 [get_pins clk_generator/clk1]1 D2 b3 G  Y0 O' Z: i2 K
set_clock_latency 0.375  [get_pins clk_generator/clk1]
% M& [3 U) w% F6 F1 ecreate_generated_clock  -name clk2 -source clk -divide_by 1 [get_pins clk_generator/clk2]5 P- K, V" J/ X
set_clock_latency 0.75  [get_pins clk_generator/clk2]* T$ E! z5 C) ^* Q' z( Y
create_generated_clock  -name clk3 -source clk -divide_by 1 [get_pins clk_generator/clk3]7 u. O3 h( x8 ]" \
set_clock_latency 1.125 [get_pins clk_generator/clk3]
8 V5 _' ~; _8 K# A6 C
$ T* m1 W8 [- t結果我的clk tree只有最原始的clk# f8 u! P! n+ I$ X, U& m1 W
clk1 clk2 clk3 都沒長出來
* C0 ]0 p! H( N不知是那裡用錯了或遺漏了 ) b1 x( I1 m/ J: B" h0 E& R
或是encounter clk沒設定好
4 y, k2 b5 w' p2 x/ [$ @4 a用了很久都用不好
( i9 v# J/ p- T$ H+ q5 D: V8 ?/ Y6 P只好請教各位
8 }* z" v8 L" \5 R% G3 E/ C- T萬分感謝
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2009-6-11 21:59:32 | 只看該作者
試一下
' I0 M" s' k" M# B5 j) uset_clock_latency -source 0.375  [get_pins clk_generator/clk1]# F6 L; ?+ j* q+ u$ I
set_clock_latency -source 0.75  [get_pins clk_generator/clk2]
4 a9 v8 g7 A3 y* x: mset_clock_latency -source 1.125  [get_pins clk_generator/clk3]) n% J' D0 A  d* H7 i. W- {3 d' ^
# j$ R1 j; u7 j0 m1 W- J
你的寫法是給下一級的constrain
- U9 Y0 S! y+ k$ b- @+ v) S! n6 x0 q/ O8 f) S: W
有錯請指正
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-21 02:11 PM , Processed in 0.105014 second(s), 17 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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