Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2009-6-10 19:41:06 | 只看該作者 回帖獎勵 |正序瀏覽 |閱讀模式
因為我的電路需要多種clk( B3 x3 g3 `* A# t. P( b
clk比此之間有延遲的關係
/ [' \: K. |" V) s# ^  d) l4 k例如 clk  clk1  clk2  clk39 @' h! S! O+ x  t1 R* w* |0 B, D
這些clk週期等相關設定都一樣的
, d3 E' H, d% ^! C唯一不同的是  clk1 比 clk  延遲0.375ns) H: {5 I, B' F* V
            clk2 比 clk1 延遲0.375ns  (clk2比 clk 延遲0.75ns)
: Y" H3 Z/ w' e$ B            clk3 比 clk2 延遲0.375ns  (clk3比 clk 延遲1.125ns)
1 S* s, j7 x" N: J但是我只要一個clk port 接出io pad
! V  C# e% v+ s也就是clk1 clk2 clk3 要由 clk產生
* F. N7 F% q  ~6 m( Z; S因此我在verilog 寫一個 clk generator如下
# r) R; P: w, B2 H: o
8 F5 L. r% Y5 Z0 c! [- hmodule clk_generator  (clk, clk1, clk2, clk3);  2 U  F* e( Y0 S0 C) u6 S% |1 c+ |' H
  input clk ;# j* \3 W) a* {5 v
  output clk1, clk2,  clk3 ;
, z& m! f+ z( h9 g6 n' ~  buf BUF_0(clk1,clk);; T1 k/ m# \  I
  buf BUF_2(clk2,clk1);# G9 y6 o% \2 y8 Y
  buf BUF_3(clk3,clk2);
9 W* K. P& B$ U' j" T0 _* P/ dendmodule
: y# U6 z# [# M1 z$ k3 e7 C  x" g- p* [9 {% z' @( P, J8 d
再我主要的module中引用如下
4 R/ k9 g7 V# A* u" V( r$ F) f) Jmodule s4478( GND, VDD, clk,  G1, G2, G3, G4, G5,OUT1, OUT2, OUT3, OUT4, OUT5, error ); # C3 u+ d7 p. s
  input GND, VDD, clk, G1, G2, G3, G4, G5; ) j* w; T; \  S/ Y* ?- B* U% p8 F
  output OUT1, OUT2, OUT3, OUT4, OUT5, error;
/ I  b. W! |9 W2 r  wire   clk1, clk2, clk3 ;
" w$ M2 L# V8 |- s.
' _, ]$ l$ Y$ U8 ^.! H( F. z  [4 M' _7 S
clk_generator clk_generator ( .clk(clk), .clk1(clk1), .clk2(clk2), .clk3(clk3) );    G7 d8 k$ U! t3 i# w
.
1 E- y6 `$ N6 n.; f7 J3 C& z, z1 w. I8 N5 P! @( E
end module& V& c1 p2 g* t

% C' l& ~. D( m' @4 j6 [: T& [0 Y6 qdesign vision 指令 clk部分描述如下
3 J# o3 K" X- _1 x
$ d4 C! n- D9 c4 f8 Ccurrent_design $active_design
5 M6 Q4 i7 k4 b5 E8 Zcreate_clock [get_ports clk] -period 4 -waveform {0 2}
9 u: n: {; P$ S8 R$ M2 R2 }! lset_clock_uncertainty 0.3 [get_ports clk]
% J# t' q% H2 k, n4 k( [set_clock_transition 0.3 [get_ports clk]* b5 v5 I* k1 e/ u# v' j' O/ C
set_fix_hold [get_clocks clk]
: {, C. o* t+ L8 O# H% C. @/ m( wset_dont_touch_network [all_clocks]3 f- R( P) n% U0 b& l
set_drive [drive_of "CCU90mt1_05V_FBB_0909/INVd1/zn"] [get_ports clk]
/ ~6 L' T8 n  G, ?' Tcreate_generated_clock  -name clk1 -source clk -divide_by 1 [get_pins clk_generator/clk1]
+ b  _/ p$ W0 m( a4 ~- C( k5 Vset_clock_latency 0.375  [get_pins clk_generator/clk1]  s  H" h# A4 i; T4 D% s+ z8 a
create_generated_clock  -name clk2 -source clk -divide_by 1 [get_pins clk_generator/clk2]
4 p* z. ?  K0 ~1 hset_clock_latency 0.75  [get_pins clk_generator/clk2]3 f# c- q2 e+ s# D; s
create_generated_clock  -name clk3 -source clk -divide_by 1 [get_pins clk_generator/clk3]
- s; G0 F: N7 g4 A! i8 s; A+ ]( Cset_clock_latency 1.125 [get_pins clk_generator/clk3]8 |# K& @& e2 R( c' e1 a

1 W6 ^% b' F  P6 c( W0 ?* Y結果我的clk tree只有最原始的clk1 w( `7 l/ ?" }# [5 p3 B% d
clk1 clk2 clk3 都沒長出來6 \4 q/ q2 z# @5 m1 P- Q; N$ k$ ]
不知是那裡用錯了或遺漏了
( ]" [/ F- L3 n6 R或是encounter clk沒設定好2 Q% N/ _1 x) r! `$ r
用了很久都用不好$ l4 z( }: ?6 X
只好請教各位
4 D# q9 `) D+ N3 [. B萬分感謝
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2009-6-11 21:59:32 | 只看該作者
試一下
8 ]& Y4 |" R1 \+ [set_clock_latency -source 0.375  [get_pins clk_generator/clk1]
& Z" e" a1 d5 y/ Y) Nset_clock_latency -source 0.75  [get_pins clk_generator/clk2]
- ?- a: m6 s( S8 B& Yset_clock_latency -source 1.125  [get_pins clk_generator/clk3]
' B1 F/ x( q- r8 f; S7 I1 h. y: J# W! j9 F% \8 z
你的寫法是給下一級的constrain0 k4 h6 g) @! m

; V! a" ?$ z3 o7 O有錯請指正
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-18 08:29 AM , Processed in 0.108014 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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