Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2009-6-10 19:41:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
因為我的電路需要多種clk
' g/ p! Z: |2 c0 }clk比此之間有延遲的關係
$ P  C# q5 b5 |( _3 ^' L1 I7 o& j1 Q例如 clk  clk1  clk2  clk3
8 v! s8 i! d; U1 |, F- |% C這些clk週期等相關設定都一樣的
! V3 D7 l3 s  @0 l/ E3 H唯一不同的是  clk1 比 clk  延遲0.375ns" J8 y! z3 M2 j) r/ }
            clk2 比 clk1 延遲0.375ns  (clk2比 clk 延遲0.75ns)
- c8 U6 w' I) e- |7 J  X. `- ^            clk3 比 clk2 延遲0.375ns  (clk3比 clk 延遲1.125ns)
8 ~5 T; U* d7 m9 z但是我只要一個clk port 接出io pad
* j8 w. c  J7 [5 s! f0 {也就是clk1 clk2 clk3 要由 clk產生
& h) }/ L' W# u3 \因此我在verilog 寫一個 clk generator如下
' i- C$ l% E, ?% [" H: H$ r8 _+ C. X) l* W3 C2 b
module clk_generator  (clk, clk1, clk2, clk3);  
% [6 d0 x  S9 ?. @. B  input clk ;
4 i  O. I5 `( {# |  output clk1, clk2,  clk3 ;
8 L/ Z; k- i) m. u9 t  buf BUF_0(clk1,clk);& [) o( z6 x- v2 e1 t
  buf BUF_2(clk2,clk1);7 o# k4 b! b7 N. P7 z
  buf BUF_3(clk3,clk2);3 k4 e9 ?3 l" r1 k( ~- {
endmodule" }, G$ K. G" N( s# X
* v" A% c2 T% C  l# f& M5 N
再我主要的module中引用如下
& a8 q+ K7 D) R+ f; Y' K! Wmodule s4478( GND, VDD, clk,  G1, G2, G3, G4, G5,OUT1, OUT2, OUT3, OUT4, OUT5, error );
( c1 h( l9 X7 u+ a. M: Q6 Y; G  input GND, VDD, clk, G1, G2, G3, G4, G5; " C9 e0 i! n- L2 w5 J  G  \
  output OUT1, OUT2, OUT3, OUT4, OUT5, error;. w8 Z: e! [  w) D9 }
  wire   clk1, clk2, clk3 ;: m- O/ p. [  t6 H- l7 ~: ~7 O
.
7 K" S  e# e+ }' P.. Q! N3 v4 P1 h& h( B* ?
clk_generator clk_generator ( .clk(clk), .clk1(clk1), .clk2(clk2), .clk3(clk3) );  
8 \# |1 C/ k5 {0 E# |.& J- {4 E8 \- T- _9 u% G, |  l' v
.
) W4 C3 `( s) |! u9 V- M* f: Q5 V6 Q4 eend module
" i( i8 {. B& y! p! q9 i" G4 M- P7 q! ^
design vision 指令 clk部分描述如下 : `9 K) N, o$ ]# F4 D' T

( y$ Q4 |1 o4 K( i' ~5 S% x* jcurrent_design $active_design 0 N- Z5 {8 V' x2 {, j
create_clock [get_ports clk] -period 4 -waveform {0 2}( ~- y* E, v/ x4 M+ f9 T  T
set_clock_uncertainty 0.3 [get_ports clk]
* K1 }2 u9 R1 A4 I& pset_clock_transition 0.3 [get_ports clk]4 x" t9 P- c( x2 L- p  j* b4 o
set_fix_hold [get_clocks clk]; F# Y- U1 V" d& Y. d! F; t# J
set_dont_touch_network [all_clocks]7 }0 _2 ~6 j! X1 m% T/ [; ?  e$ h
set_drive [drive_of "CCU90mt1_05V_FBB_0909/INVd1/zn"] [get_ports clk]. A- d$ ~) J  [0 f
create_generated_clock  -name clk1 -source clk -divide_by 1 [get_pins clk_generator/clk1]; i& F. [- @1 }5 q
set_clock_latency 0.375  [get_pins clk_generator/clk1]; c3 M& Q" }% H% |. `! \
create_generated_clock  -name clk2 -source clk -divide_by 1 [get_pins clk_generator/clk2]
7 ]9 ?9 P/ ]3 k& c. w- r( g# Jset_clock_latency 0.75  [get_pins clk_generator/clk2]0 d5 o( }6 q! v$ Y( P. [
create_generated_clock  -name clk3 -source clk -divide_by 1 [get_pins clk_generator/clk3]' v9 C5 k1 Z' v; \- B
set_clock_latency 1.125 [get_pins clk_generator/clk3]
8 g, i2 Y: O7 C4 y5 l% ]+ N) Q) U
/ k, i9 W0 p9 T' {6 u/ U! G結果我的clk tree只有最原始的clk5 T  p/ B2 F- I3 p! ~4 Q: g$ Y
clk1 clk2 clk3 都沒長出來
. V; o' U0 |% {4 n8 Y  j- a- f不知是那裡用錯了或遺漏了 ! U/ q* C3 g4 H- q
或是encounter clk沒設定好+ V7 I3 \' }2 U
用了很久都用不好
$ x- J3 B( K$ x" S3 `- x9 f只好請教各位
% L/ _# j4 L  l* c9 m9 P; x% }$ l4 }萬分感謝
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2009-6-11 21:59:32 | 只看該作者
試一下$ f. n/ @: R; r7 Z
set_clock_latency -source 0.375  [get_pins clk_generator/clk1]1 }( Y7 T( d' ^, t) E
set_clock_latency -source 0.75  [get_pins clk_generator/clk2]" I/ ]8 [" C; u8 X: W
set_clock_latency -source 1.125  [get_pins clk_generator/clk3]
& j% G7 t3 K! U/ [2 L* {% _
# U4 w9 b- _' ~: N. A* X& Y5 m你的寫法是給下一級的constrain2 n3 b+ r  A; x$ i; h) B

. T6 M$ `/ h& n有錯請指正
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2025-2-22 04:26 PM , Processed in 0.156009 second(s), 17 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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