Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2009-6-10 19:41:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
因為我的電路需要多種clk. Z1 }5 p$ P$ {& O3 A: |2 Z
clk比此之間有延遲的關係
' L9 s* o5 h- v( d' Z例如 clk  clk1  clk2  clk3
6 L' ?5 C% C' J" J( a! S這些clk週期等相關設定都一樣的
! O/ z# b# x' h; X' Q3 P1 N唯一不同的是  clk1 比 clk  延遲0.375ns
- N+ b) N+ |: M2 t' }            clk2 比 clk1 延遲0.375ns  (clk2比 clk 延遲0.75ns)
& z3 F8 N' F+ d. H* m            clk3 比 clk2 延遲0.375ns  (clk3比 clk 延遲1.125ns)
9 R6 ]1 e, C3 ~  j但是我只要一個clk port 接出io pad
: @3 S6 b+ b3 A$ S5 K也就是clk1 clk2 clk3 要由 clk產生7 a, X. Z+ v- {. t: G) l
因此我在verilog 寫一個 clk generator如下$ n  w6 K- J* F8 _: R( ], Z
# A6 z/ `" f0 z/ A# a1 P
module clk_generator  (clk, clk1, clk2, clk3);  
% w. m8 B6 {3 B. t; {2 E) R- \  input clk ;! ]4 r8 y, P: a" c" i
  output clk1, clk2,  clk3 ;" s* W( N1 y4 L9 A2 R
  buf BUF_0(clk1,clk);% N. {6 u$ c7 a$ Q; }, h5 G: L* E7 u
  buf BUF_2(clk2,clk1);
# G5 b; P/ m, [6 S2 v  buf BUF_3(clk3,clk2);
( d- s) n8 `- Mendmodule3 }) [+ T' g! l- I6 M( N

% z& l7 C4 |: y: J: p& W( L# J再我主要的module中引用如下7 j3 {2 w4 E" `2 W/ L& T/ c
module s4478( GND, VDD, clk,  G1, G2, G3, G4, G5,OUT1, OUT2, OUT3, OUT4, OUT5, error ); 2 f# ~+ R8 c( P/ S! K
  input GND, VDD, clk, G1, G2, G3, G4, G5; ! b) ]" M. U: p+ V8 q
  output OUT1, OUT2, OUT3, OUT4, OUT5, error;
8 a: ]* A. D; v& p, P+ u  wire   clk1, clk2, clk3 ;
" [& G" Q5 |1 X+ o- K" f6 \.
% Z# j9 u( l/ J; {.$ ^5 f; x: F4 G& V  E
clk_generator clk_generator ( .clk(clk), .clk1(clk1), .clk2(clk2), .clk3(clk3) );  + A8 Z' y+ L# M: I2 I
.
/ Y, _( M; C6 j- N.- B+ }9 p' Z% e' Q$ {, \8 h+ N
end module
+ V9 I$ F: _" h% |7 y: E0 @* z9 f( x0 L6 J( T$ O- i  o
design vision 指令 clk部分描述如下 & g, z5 y3 z, @* k1 [4 x0 _
( [6 O, n. O" n! B7 E$ k
current_design $active_design 4 r+ o2 {: G, o/ J2 J* [( b6 i$ t
create_clock [get_ports clk] -period 4 -waveform {0 2}
) |8 d; f$ b9 p% X7 D7 J" tset_clock_uncertainty 0.3 [get_ports clk]! N( `/ Z2 e$ c. v) V; x, B
set_clock_transition 0.3 [get_ports clk]
0 g) m5 y& z) w# w3 t& T0 A/ Z: [set_fix_hold [get_clocks clk]
( V! o/ ~2 H1 N+ fset_dont_touch_network [all_clocks]
1 n1 I3 i0 j! [" _: K. Sset_drive [drive_of "CCU90mt1_05V_FBB_0909/INVd1/zn"] [get_ports clk]0 t- z$ j3 x0 L' q
create_generated_clock  -name clk1 -source clk -divide_by 1 [get_pins clk_generator/clk1]
1 a4 ^3 Y2 `& P! T- z/ `& vset_clock_latency 0.375  [get_pins clk_generator/clk1]# M) o" O. G: `0 ?, S
create_generated_clock  -name clk2 -source clk -divide_by 1 [get_pins clk_generator/clk2]0 g! T9 @  E0 w* O* U0 q* c( S
set_clock_latency 0.75  [get_pins clk_generator/clk2]
8 n, ^' t, a) y, y" ccreate_generated_clock  -name clk3 -source clk -divide_by 1 [get_pins clk_generator/clk3]
2 v  Q. E0 h  \; P, \1 oset_clock_latency 1.125 [get_pins clk_generator/clk3]
, \4 R) ^( l, X9 I- D
$ T5 x3 R6 I1 H! |; e結果我的clk tree只有最原始的clk
& {2 Z' T( E/ tclk1 clk2 clk3 都沒長出來6 i5 H0 z" N  w3 R) T
不知是那裡用錯了或遺漏了 - W# I& i1 L; K
或是encounter clk沒設定好7 X% e% X6 I5 o$ @
用了很久都用不好
% v2 w9 l* L; A3 L0 W只好請教各位
- f9 P7 p0 v- c, r( h. ^/ S* o萬分感謝
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2009-6-11 21:59:32 | 只看該作者
試一下- k% g( m# T+ w7 Y# d5 |: s" t
set_clock_latency -source 0.375  [get_pins clk_generator/clk1]' v' i# ]5 J7 M: r  n2 k9 t; G
set_clock_latency -source 0.75  [get_pins clk_generator/clk2]
4 K- N, r9 i7 o; n: eset_clock_latency -source 1.125  [get_pins clk_generator/clk3]5 }1 b+ \- S9 V* }

1 ]. x0 j. I7 u+ n) s/ ]' D你的寫法是給下一級的constrain3 V, z$ a; x* `& u2 O
5 G4 S% p6 z' e9 p6 r
有錯請指正
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-6-16 07:15 PM , Processed in 0.120515 second(s), 17 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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