Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

[問題求助] 關於virtex-4的Digital Clock Manager

[複製鏈接]
跳轉到指定樓層
1#
發表於 2008-3-18 14:34:17 | 只看該作者 回帖獎勵 |正序瀏覽 |閱讀模式
各位大大好- z. K8 Y$ N- Z8 {
我目前在使用vietex-4 的板子
. B' ~, \3 m3 Z  A! X: K關於板子上面clock source的訊號要怎麼給有點疑問* w3 U  g- B# d: \" I
使用手冊上有寫說分成differetial,single-ended clock source 兩種$ L: ~- o% y4 j& G. l4 S
這是代表什麼意思
* T9 C1 Y4 c8 n( h. E& @0 e' `另外板子上有一個100M的震盪器,他說要使用DCMs可以產生不同的clock7 o3 s, D4 @3 {0 X  |/ O9 x  G7 z
這是代表說我要另外再寫一些指令去達到我想要的clock嗎
* S* b5 |( N, ]' d8 x有大大寫過這個程式嗎?   不知道要從何下手- p( T3 Y" d, r

1 {6 K  X% s1 y2 u6 E* R$ N$ B另外有一個25M震盪器4 d( I' F8 D5 a3 S4 h: u
好像可以用調撥的方式將M,N兩組開關,調成我們要的clock& S- _+ |: l$ W5 k/ i
out = 25x M/N: e+ p% k$ E! L
這是另外一種方式嗎
# ^9 t" G& {/ }9 `. S) h- n
, v3 }9 W2 t- ?2 K) X% a我有點搞混了...使用手冊上面寫了很多的clock輸入3 B7 X5 k1 L4 P4 }- i+ M
要怎麼分類呢??- u" s- K& n( k/ u  x/ t+ y& z6 d
請使用過的大大指導一下...感謝了
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
13#
發表於 2008-3-24 16:58:28 | 只看該作者
第一個DCM 限制I/P frequency,32M<-->75M,
( x/ ]/ ~& Z5 l/ O不知25M震盪器可否調出來產生32M(M/N=32/25)或64M,再用一個DCM FX o/P 產生256MHz.
12#
 樓主| 發表於 2008-3-24 15:30:36 | 只看該作者

回復 11# 的帖子

但是會出現一個錯誤
) Y  P4 r- t; O% J- Z2 m; n因為我用的DCM是cascade in series
; D, N+ K# ~( N$ e$ R所以好像有限制在low frequency mode# J6 z) |4 U/ A# Z+ B" S/ ?% J
所以在第一個輸出要達到200M會發生錯誤+ l6 @; r  n5 D6 i
: L: v9 k" L7 K( [1 u; d
還是說我選的模式跟大大講的模式不一樣  S$ c2 m! C+ v: v& P* J
你說的也是要用內建的 clock wizard ->2.Cascading  in series  wuth two DCM_ADVs  嗎
11#
發表於 2008-3-24 15:07:53 | 只看該作者
的確第二個DCM不recommend FX o/p,因為jitter 會累加過大,
- w) W  @3 f8 f9 G+ |反過來產生,先用第一個DCM FX O/P,產生128MHz(M/N=32/25),7 K& I- {# X7 o  a/ Z! `5 v5 Q* J
再用第二個DCM 2X output 產生256MHz.2 E/ r2 k" \+ p5 z* h* R7 T
或第一個DCM 2X O/P 產生200MHz,第二個DCM FX O/P M/N=32/25,產生256MHz.
10#
 樓主| 發表於 2008-3-24 13:44:38 | 只看該作者

回復 9# 的帖子

我想問一下
9 R0 K: ]( ]9 g/ e- X" t0 C兩個DCM相接的方法  是直接在裡面可以選擇的模式嗎& X( H0 \2 c5 c2 s/ B& h
因為在clock wizard裡面有四種可以選擇0 S+ o. X: }: z# g  i' _& |6 ]0 g
1.Board  Deskew with an internal  Deskew  p2 r' k8 T9 @) o$ c4 x" m
2.Cascading  in series  wuth two DCM_ADVs
- P* v% g/ V# ~- A6 s8 F3.clock forwarding/board deskew
) p' k6 M! L/ i/ F7 A+ L8 b4.single DCM_ADV" r( R) i* }7 U7 z

: B4 G  H. D; t照你講的方法應該是選擇第二個串接的DCM- T" ?2 y" J% k$ Z
問題是我選完之後有一句話是
. D5 S( p6 h: D) GCLKFX and CLKFX180  are not recommended for either INST1 and INST2 because  of jitter requirement0 P* I9 _7 g* r5 _; F
所以裡面沒有CLKFX的選項, w: E: o. i' G% x6 H! ~
那就沒辦法照著大大的步驟做了
' A) `6 M' S* n7 F* T還是有其他的辦法可以選呢??
9#
發表於 2008-3-24 10:22:16 | 只看該作者
這兩個DCM相接的方塊圖只是一個應用方式,你也可以用第一個DCM FX O/P,產生200MHz,再用第二個DCM FX O/P
+ M0 S. P& @) U2 [# x* B' SM/N=32/25,產生256MHz,要等第一個DCM FX O/P進入LOCK後幾個cycles,才能開始啟動第二個DCM.
8#
 樓主| 發表於 2008-3-23 16:35:08 | 只看該作者

回復 7# 的帖子

對於這兩個DCM相接的方塊圖; E' ~6 t7 s, q' Y) P! s
就是第一個block輸出是CLKDV
9 T7 m0 O9 N8 k4 B  F5 [所以必須是100M除以CLKDV(2,2.5,3,3.5,4........16)0 n8 b) G( G8 d, R7 N2 S
然後再把除完的頻率當作第二個的輸入7 ~, L( A' h; g) y) K. C* j7 c+ @
第二個是使用DFS   輸出是CLK*M/D (M跟D都是2~32)
" H; P+ r/ H  Z0 D7 u5 ~, W
4 X& w$ a; @$ F" r; r+ s我好像湊不出來可以達到256M的參數耶
2 e9 h6 f& K' T$ K是我哪裡沒搞清楚嗎  Y5 ~5 n' `7 P9 q( R& A
麻煩大大在幫我解惑一下~~
7#
發表於 2008-3-21 19:05:27 | 只看該作者
要用2個DCM串在一起的方式.不過使用上要小心Timing及不Locked的問題.
' t; q" F% N- E8 f( B3 s; V2 H. X6 X2 r3 ]* t' v% X0 P

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有帳號?申請會員

x

評分

參與人數 1 +2 收起 理由
小人發 + 2 感謝你的回覆

查看全部評分

6#
 樓主| 發表於 2008-3-21 14:54:32 | 只看該作者

回復 5# 的帖子

我試了一下,大概知道怎麼用了
1 Q* u% F1 t# P) [3 h不過還有一個問題
6 k1 i: T* `7 A1 [在DFS裡面  好像沒辦法產生準確的256M
9 x! N1 a( W/ c3 G) v* v因為它是用clock*M/D  (M跟D都是2~32的正整數)# m  Q# v, t, E1 M3 o& h5 K
clock=100M   那怎麼選M跟D都沒辦法達到256M; j; ^! W! p8 V% Z
這要怎麼辦    其他DCM的方式有辦法達到這個頻率嗎
5#
發表於 2008-3-20 22:10:47 | 只看該作者
要從100M產生一個單純的沒有相位移256M,要用DFS,CLKFX o/p功能,而且不是在做Deskew的話,CLKFB可不接.
1 e9 }- `1 M9 v3 T/ x, Z2 W' [8 ~
參數的設定可在Wizard內設定.以Virtex4-10來看,如果只用DFS o/p(CLKFX/CLKFX180),不用DLL o/p,
% D! R- Y; j& w3 p9 J& Z0 s3 Zinput clock 100M,ouput clock 256M,則只適用Maximum Speed/High Frequency 的Mode. Low frequency mode
+ F; X$ V2 t# o7 a% @) K2 K8 Q最多到210M,不夠用.2 B) q9 _$ v2 ^/ S/ J& g/ |( h
.xaw 檔是Xilinx architecture wizard(XAW)設定檔,像Xilinx coregen 產生memory block的 .XCO檔 一樣,# t' o7 u; |3 p& D
在ISE 的 project manager 裡把他加入跟其他source files 一起即可.然後在你的design source file 要去 instantiate它.可參考上次帖子的例子.
4#
 樓主| 發表於 2008-3-20 18:44:19 | 只看該作者
回復 2# 的帖子, ?5 m3 j  ?' V* w( q- O
) F* f& Y: F+ M% v9 i
我們用的板子是VIRTEX-4  (LX60)' g6 P! V5 m7 ?9 w* K$ b, P
我昨天有去網頁找了些關於DCM的資料來看
- N+ m' P5 t  Q雖然有點複雜$ k8 D, N8 C8 ]8 r$ b# b; ?0 W
不過還是看個大概
) N  ~- O6 O& f
* M; \" H8 n+ ]$ V回復 3# 的帖子0 a: H4 D# f7 H! X. I( h5 K! t
0 h7 A/ \" Z$ N+ @
你講的這些動作0 K2 Y- j* q) y
我昨天都有照著我在網路上找的資料大略的做過一次
6 @; d) \: L" c7 `4 n不過我還是有一些問題' a; {% q9 P" y2 l' {
1.像DCM的輸入   好像是由100M震出來的
' ?9 Q) n8 e5 G  u4 X: q那我需要256M   利用DCM 可以做得到吧??9 X+ w. F0 i0 O; M
還是說只能產生比100M低的時脈
6 @* ~: _; u8 T9 k" X- I. l
# V1 [; T% p5 S7 J7 p2. DCM是分成DLL,PS,DFS嗎??" t; W& l$ Y: s# M- N( k: b
因為我昨天看到DCM組成的block
5 Z5 k5 r# O" u3 B' A0 r裡面含有這些,每個功能都不太一樣6 _4 h- O9 E8 W
如果我今天要產生一個單純的沒有相位移256M
8 l- O6 N8 W+ h# H; z9 ^( n那參數的設定會不會不需要用到全部??
% V" u3 m$ y) o, k4 Y. W% K1 g還是只需要用到DLL就好
5 V" E% g) t& h! v* |) I
- @1 o4 `% P. u) e" u' [3.像你講的   Wizard 會產生 .vhd,.xaw,.ucf檔
" T6 [; V' X& P+ u; W6 `: ~1 P, c   把.xaw加入design的意思是把這個檔也燒到FPGA板子裡嗎?( v3 _9 R  A& J+ Z7 \; q* m# q# g
   那我要設定接角嗎??
# U' @0 A1 y; X3 t& g* }3 A+ G  d   因為xaw的程式不像一般會有input  output1 Y/ _" h- \' g: O) \* O
   所以會有點搞混掉% S; I0 T& I6 f5 f3 r  P5 t6 b
5 W5 s& R' c% r: y$ |+ z$ J
以上是我小小的疑問
& e+ i2 |$ L  Z( O+ _先謝謝各位大大的解答  
: z1 c: ~. o( @" I* W9 S  L# \+ y8 X$ X) o- g2 E( l
[ 本帖最後由 小人發 於 2008-3-20 06:51 PM 編輯 ]
3#
發表於 2008-3-20 12:34:10 | 只看該作者
Single end--->單端輸入(從P端輸入)9 P9 G4 ]$ O& J
Differential--->差動輸入(LVDS,,等)5 h, W, W  B3 B% _) s, h
如果CLOCK頻率不是很高,可採單端輸入GCLK pin,再從內部去除出所要的CLOCK頻率.
5 d; |: w1 X# H$ M- K" [, ~' j1 R7 u2 A' Z% y  o
若要用DCM,從Xilinx Architecture Wizard(在ISE Accessories--->Architecture Wizard)去自動產生所要的CLOCK頻率.Wizard 會產生 .vhd,.xaw,.ucf檔.把.xaw加入design.(利用ISE add source)以下是以單一個DCM instance作例子.$ B9 [3 o$ x* ^, z( p
; K: l: B0 D0 {. R4 a
EX: (輸入75MHz--->>輸出50MHz)3 T5 y; t' I5 I$ ?3 T# |4 R9 d8 g
entity ClockManageris
: U) ~2 l$ t, p; APort ( clk_50mhz : in std_logic;# k, ]( `5 G9 ^* o
clk_75mhz : out std_logic;
' |3 K! L* y% X+ m: kclk_75mhz_180 : out std_logic);
7 F- O/ b7 L0 g" b$ n* L% c# K) y, Hend ClockManager;% ?- U% h2 w$ P  x: R* k
architecture Behavioral of ClockManageris
( N, C8 k9 Q2 |- o$ V5 g  U4 ucomponent clkgen_75mhz
: U) h+ o) p2 ~4 zport ( CLKIN_IN : in std_logic;4 u. R: N+ T& U  l
RST_IN : in std_logic;! k3 P. K; g% d, u' n$ G. `
CLKFX_OUT : out std_logic;( X$ \% X# ?; z+ o( x+ N, Y. K
CLKFX180_OUT : out std_logic;
4 b, X5 x8 M! u) h" Z0 o9 JCLKIN_IBUFG_OUT : out std_logic;
$ r) v% c' j% OLOCKED_OUT : out std_logic);
1 i; g4 @8 {* U+ A7 Cend component;! D. c$ i/ D' f' S  l
begin
! P3 _; k5 h% q9 r- Cgen_75mhz: clkgen_75mhz6 {) c& y$ ~# g. i" V
port map( CLKIN_IN => clk_50mhz,
8 _; R. x. G* l; sRST_IN => '0',5 t/ V3 Z  L4 ^8 O  i
CLKFX_OUT => clk_75mhz,( L7 W$ K& O; Y7 q$ D/ t; ~
CLKFX180_OUT => clk_75mhz_180,/ O: W* O  Q' I- n7 T1 v
CLKIN_IBUFG_OUT => open,! d, u( m2 d: I
LOCKED_OUT => open );
# L  }$ k: m% Lend Behavioral;
2#
發表於 2008-3-20 11:14:56 | 只看該作者
virtex-4的版子不知是原廠網頁上的那塊?http://www.xilinx.com/products/devboards/index.htm
3 ]7 ?% C; t7 D8 W# y- w, {" Y關於DCM功能,建議先看一下Xilinx的clock manangement
8 {" g, v  s& Ihttp://www.xilinx.com/support/do ... sign_clockmanag.htm
* t6 b$ a" f! s& t, q) D: t- a5 Q' }中的 XAPP132 - Using the Virtex Delay-Locked Loop
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2025-1-20 01:17 PM , Processed in 0.187201 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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