Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2009-6-10 19:41:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
因為我的電路需要多種clk/ y7 j8 P+ y3 o2 k! C1 k
clk比此之間有延遲的關係" f! _* ?! y' C  u4 u# @# o
例如 clk  clk1  clk2  clk3: [0 C4 y3 m: `5 F1 [- E0 v3 }
這些clk週期等相關設定都一樣的( C  R; b2 b6 k3 D  ^
唯一不同的是  clk1 比 clk  延遲0.375ns
- T% ?3 W/ F8 O2 w# C- a            clk2 比 clk1 延遲0.375ns  (clk2比 clk 延遲0.75ns)
; H, T3 W/ W" W! D( a5 M            clk3 比 clk2 延遲0.375ns  (clk3比 clk 延遲1.125ns), q( v1 m3 v! ]) }( _
但是我只要一個clk port 接出io pad' i. ^/ C; |3 `8 Y" ^. F  O
也就是clk1 clk2 clk3 要由 clk產生7 B7 G; c: y2 `
因此我在verilog 寫一個 clk generator如下8 ^+ V% n; Z. A  b5 i; ?

. }# T' l( v% Fmodule clk_generator  (clk, clk1, clk2, clk3);  0 r1 \7 n4 I8 u5 f) B5 d
  input clk ;8 n! W6 ~" f: ?3 S
  output clk1, clk2,  clk3 ;
, U9 \% q  ~) t: _7 N( _, e5 E  buf BUF_0(clk1,clk);9 E7 U& o* @* }! G: R1 z' l% h
  buf BUF_2(clk2,clk1);1 U+ ]: C- K$ B! {. m
  buf BUF_3(clk3,clk2);- f% H' F- k- q$ Q5 N
endmodule
- E' o; B6 z9 A. L
! `2 x9 \* t; A( U再我主要的module中引用如下' V) c2 u$ l: |
module s4478( GND, VDD, clk,  G1, G2, G3, G4, G5,OUT1, OUT2, OUT3, OUT4, OUT5, error );
( }0 d6 G4 z3 y( K: L, M) C  input GND, VDD, clk, G1, G2, G3, G4, G5;
+ B9 w9 ~( ~7 ?  output OUT1, OUT2, OUT3, OUT4, OUT5, error;
: R2 O& J" z. F/ c6 U9 U  wire   clk1, clk2, clk3 ;
& V/ o. {2 c! ?., s% R1 I! R1 z4 Q( z
.* k: i  g8 A. L  f3 c
clk_generator clk_generator ( .clk(clk), .clk1(clk1), .clk2(clk2), .clk3(clk3) );  ( A/ S( t  L: l" w. R
.
2 T1 A  x' g7 M.1 q: w. q5 Y; ^( V/ V
end module9 T1 ?% d" `$ i$ k' ]' R- s
. L+ F* w5 d2 S( |
design vision 指令 clk部分描述如下 ' l4 V9 g1 X( D

, e1 P4 v3 S* o" {( ~current_design $active_design
- _! ~/ y/ v1 S# Acreate_clock [get_ports clk] -period 4 -waveform {0 2}
* q/ h8 w1 R- l" Lset_clock_uncertainty 0.3 [get_ports clk]
2 n8 f0 J* W/ Aset_clock_transition 0.3 [get_ports clk]7 M/ `  E8 f( L* l# a
set_fix_hold [get_clocks clk]
) I; D9 `6 \8 ?: E. u& k3 p: i; o1 \9 aset_dont_touch_network [all_clocks]
6 E' l" |4 w( ^6 L1 X; ?6 \set_drive [drive_of "CCU90mt1_05V_FBB_0909/INVd1/zn"] [get_ports clk]
: T3 U& g0 Y: e" i6 k% j& qcreate_generated_clock  -name clk1 -source clk -divide_by 1 [get_pins clk_generator/clk1]7 Y0 h! _' `9 L$ \: L
set_clock_latency 0.375  [get_pins clk_generator/clk1]+ l# f, R2 U; b3 O( T6 X" x
create_generated_clock  -name clk2 -source clk -divide_by 1 [get_pins clk_generator/clk2]7 ?  h. ]/ x" y; ?# T$ L$ \1 c2 Y
set_clock_latency 0.75  [get_pins clk_generator/clk2]+ l9 R. R/ H: j4 y* O0 m
create_generated_clock  -name clk3 -source clk -divide_by 1 [get_pins clk_generator/clk3]: f9 q( f' w4 T
set_clock_latency 1.125 [get_pins clk_generator/clk3]
  f4 X9 u% H/ }# \  T! w" [; g1 k7 E6 T# |
結果我的clk tree只有最原始的clk
3 I0 |- H; r5 [clk1 clk2 clk3 都沒長出來
1 b% u/ H8 J' R不知是那裡用錯了或遺漏了 - K5 a" ~9 n' q+ M3 d
或是encounter clk沒設定好0 o" H% v/ T  z0 \0 D) l0 L
用了很久都用不好, d' W% D+ i  b- E1 V$ E# l
只好請教各位3 G: b# R' e" G9 B3 V
萬分感謝
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2009-6-11 21:59:32 | 只看該作者
試一下
7 C/ _9 Q  Z) W: |; b) F$ P. Zset_clock_latency -source 0.375  [get_pins clk_generator/clk1]
' {: j4 m) a+ N# u7 m4 m; d. Mset_clock_latency -source 0.75  [get_pins clk_generator/clk2]
# t% c3 r- }2 W: B0 `& Lset_clock_latency -source 1.125  [get_pins clk_generator/clk3]5 m% }8 q3 R; _. s

2 @8 \, w: e$ Z: u2 ^. ?你的寫法是給下一級的constrain2 C3 K1 q! H# q' z1 z

& i+ F* _9 K, @7 I9 o+ }0 @有錯請指正
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-23 04:23 AM , Processed in 0.110014 second(s), 17 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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