Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2008-3-18 14:34:17 | 只看該作者 回帖獎勵 |正序瀏覽 |閱讀模式
各位大大好
/ N' g. s, _8 h/ p/ n我目前在使用vietex-4 的板子
& W. r3 b. b4 \& U0 |* U- _2 @關於板子上面clock source的訊號要怎麼給有點疑問
2 ~: V  W& z* T, J  o使用手冊上有寫說分成differetial,single-ended clock source 兩種
4 d" L8 W. v6 q+ U這是代表什麼意思
( y1 W- E( ]8 x6 _" K另外板子上有一個100M的震盪器,他說要使用DCMs可以產生不同的clock
# L3 q/ \% w) K1 d5 N6 e這是代表說我要另外再寫一些指令去達到我想要的clock嗎
5 b* j6 J$ k7 D3 A有大大寫過這個程式嗎?   不知道要從何下手
9 N! q5 q0 V" J" V" y0 c* Z+ D) q
另外有一個25M震盪器
+ I' v: b% K2 T3 c/ F' F- |好像可以用調撥的方式將M,N兩組開關,調成我們要的clock
6 U" w6 x# F! `out = 25x M/N
8 P, S9 O! Z; d/ {9 N, W% P這是另外一種方式嗎
/ `% ]; Z+ [3 ]3 V8 Z& h- {
4 v9 H( a7 t- L  a& h$ O3 [; t# {% Y我有點搞混了...使用手冊上面寫了很多的clock輸入
& N/ T" W0 m8 B' I要怎麼分類呢??8 V% V' F! O/ ~& M2 G  S
請使用過的大大指導一下...感謝了
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
13#
發表於 2008-3-24 16:58:28 | 只看該作者
第一個DCM 限制I/P frequency,32M<-->75M,
: y2 z6 n( V! m$ ^$ Y" F0 i不知25M震盪器可否調出來產生32M(M/N=32/25)或64M,再用一個DCM FX o/P 產生256MHz.
12#
 樓主| 發表於 2008-3-24 15:30:36 | 只看該作者

回復 11# 的帖子

但是會出現一個錯誤
! h0 |7 L  y: G( y因為我用的DCM是cascade in series/ g2 `7 D5 s& y1 b1 U8 b3 z$ M
所以好像有限制在low frequency mode% T* F8 d& e" L# f/ v  U; f
所以在第一個輸出要達到200M會發生錯誤
7 _, t+ o0 a6 l1 O' W/ Z7 {
( O3 O; \) C# ~& O還是說我選的模式跟大大講的模式不一樣
  D7 x; F. i2 W) w你說的也是要用內建的 clock wizard ->2.Cascading  in series  wuth two DCM_ADVs  嗎
11#
發表於 2008-3-24 15:07:53 | 只看該作者
的確第二個DCM不recommend FX o/p,因為jitter 會累加過大,; W: E3 V1 N# C+ E7 U
反過來產生,先用第一個DCM FX O/P,產生128MHz(M/N=32/25),
: b5 k8 P& N, b. Z3 k! A再用第二個DCM 2X output 產生256MHz.( f  o4 P4 |; i2 @; N: t* J! F
或第一個DCM 2X O/P 產生200MHz,第二個DCM FX O/P M/N=32/25,產生256MHz.
10#
 樓主| 發表於 2008-3-24 13:44:38 | 只看該作者

回復 9# 的帖子

我想問一下* Y  ]/ h* g7 N7 T
兩個DCM相接的方法  是直接在裡面可以選擇的模式嗎
( a. j7 I1 v+ Q' ?4 i7 g. S因為在clock wizard裡面有四種可以選擇
2 a8 }; @" b5 i: c* D+ Y# @1.Board  Deskew with an internal  Deskew7 G) m& c8 u' z& ^
2.Cascading  in series  wuth two DCM_ADVs5 |8 P+ }* E# ~/ v4 E
3.clock forwarding/board deskew
7 |- @' I3 S( H  G; @4.single DCM_ADV* X# B/ h6 [$ `4 T
  ], e9 K5 j% l9 c  N7 i
照你講的方法應該是選擇第二個串接的DCM/ l- \9 }  ^* x9 b7 P, V
問題是我選完之後有一句話是
# X' Y- A8 i; t: d6 Y& \) LCLKFX and CLKFX180  are not recommended for either INST1 and INST2 because  of jitter requirement6 Z5 v5 y( c, ~
所以裡面沒有CLKFX的選項
6 w- Q4 O* F. n0 C$ o0 W' y0 _那就沒辦法照著大大的步驟做了1 ]& n5 J! C" E+ ~; V
還是有其他的辦法可以選呢??
9#
發表於 2008-3-24 10:22:16 | 只看該作者
這兩個DCM相接的方塊圖只是一個應用方式,你也可以用第一個DCM FX O/P,產生200MHz,再用第二個DCM FX O/P , x1 R8 U# m! L5 |2 h
M/N=32/25,產生256MHz,要等第一個DCM FX O/P進入LOCK後幾個cycles,才能開始啟動第二個DCM.
8#
 樓主| 發表於 2008-3-23 16:35:08 | 只看該作者

回復 7# 的帖子

對於這兩個DCM相接的方塊圖
& \# w. U$ H& H1 H( I8 D, j就是第一個block輸出是CLKDV
2 a  M9 _! u" ^0 f8 M所以必須是100M除以CLKDV(2,2.5,3,3.5,4........16)  v: J3 k8 A& [* l
然後再把除完的頻率當作第二個的輸入
7 B. U7 {3 Z# B1 J" }* H第二個是使用DFS   輸出是CLK*M/D (M跟D都是2~32)
( m: ?3 H" {5 ^9 K# R. o; ^
# h4 _: e, o1 g1 p% n我好像湊不出來可以達到256M的參數耶3 T8 h4 c. Q7 S  ]
是我哪裡沒搞清楚嗎& F" i' C8 E% _7 Z# p$ T* Q
麻煩大大在幫我解惑一下~~
7#
發表於 2008-3-21 19:05:27 | 只看該作者
要用2個DCM串在一起的方式.不過使用上要小心Timing及不Locked的問題.
% p' J) S* q8 Y; ^2 I4 b
4 w& ^, h" p2 O  j3 Y; p

本帖子中包含更多資源

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

x

評分

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

查看全部評分

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

回復 5# 的帖子

我試了一下,大概知道怎麼用了3 ]# h5 z% t. }" k, [4 d5 `
不過還有一個問題9 \; K9 w3 n4 K+ _, r; j
在DFS裡面  好像沒辦法產生準確的256M% K( R7 I. M8 A; x
因為它是用clock*M/D  (M跟D都是2~32的正整數)
5 L  q" y) j4 b0 eclock=100M   那怎麼選M跟D都沒辦法達到256M* x2 W8 N2 {, a  }! o  l
這要怎麼辦    其他DCM的方式有辦法達到這個頻率嗎
5#
發表於 2008-3-20 22:10:47 | 只看該作者
要從100M產生一個單純的沒有相位移256M,要用DFS,CLKFX o/p功能,而且不是在做Deskew的話,CLKFB可不接." l+ d. F  C0 V0 h; @, |* R

6 [9 z# V9 p8 @( Z$ a參數的設定可在Wizard內設定.以Virtex4-10來看,如果只用DFS o/p(CLKFX/CLKFX180),不用DLL o/p,: b2 Y8 `4 v( e% c
input clock 100M,ouput clock 256M,則只適用Maximum Speed/High Frequency 的Mode. Low frequency mode
4 H9 G4 x4 s9 b6 W6 v8 ]' f& ~  M最多到210M,不夠用.& k" V# O: c! @( `; o+ ?
.xaw 檔是Xilinx architecture wizard(XAW)設定檔,像Xilinx coregen 產生memory block的 .XCO檔 一樣,
) W* [' h* n6 B8 M: Q) W0 [' V在ISE 的 project manager 裡把他加入跟其他source files 一起即可.然後在你的design source file 要去 instantiate它.可參考上次帖子的例子.
4#
 樓主| 發表於 2008-3-20 18:44:19 | 只看該作者
回復 2# 的帖子% R, T7 V9 h! ], T7 L# |( W+ I
3 F" s; u3 S6 x. I
我們用的板子是VIRTEX-4  (LX60)
& N, ]3 P# O$ O; a) b% V+ a我昨天有去網頁找了些關於DCM的資料來看
; e) d+ |+ B) C0 T雖然有點複雜( [% [% R; X+ I1 {- l* m
不過還是看個大概6 @$ L- G, |( [

, a9 i% a* j6 o. m5 l1 o8 V回復 3# 的帖子
8 G) W; ~1 W& g6 }
9 p7 c4 `! }& o你講的這些動作
9 e5 M( O, c9 i/ W我昨天都有照著我在網路上找的資料大略的做過一次, W8 [" y; l1 H. o% N& B
不過我還是有一些問題' U2 i+ G: a6 x" b8 f( B
1.像DCM的輸入   好像是由100M震出來的
$ x# L& T7 H( m  }* i那我需要256M   利用DCM 可以做得到吧??$ j1 C0 I% P$ A0 A2 V& W
還是說只能產生比100M低的時脈
& Z( T# D/ A0 h$ X
4 L7 n4 d9 A, E4 \" A; T0 h( Y2. DCM是分成DLL,PS,DFS嗎??
0 q2 e8 o+ s; |' n% O+ a因為我昨天看到DCM組成的block' Z+ q* T  M) j1 K
裡面含有這些,每個功能都不太一樣3 h3 P3 a/ s3 W$ E; c. X$ x/ I6 [
如果我今天要產生一個單純的沒有相位移256M
6 {# T, Y8 D5 m4 t4 r+ O那參數的設定會不會不需要用到全部??9 y; c: j& k3 q- @7 @3 D0 k
還是只需要用到DLL就好( Q( ^  a4 m- Y" P/ ^/ F4 ]( D& t4 {
* i6 N3 B# I9 W& h3 y$ h  e0 N
3.像你講的   Wizard 會產生 .vhd,.xaw,.ucf檔! ]/ _6 N) x1 i* y
   把.xaw加入design的意思是把這個檔也燒到FPGA板子裡嗎?8 Q9 I* o4 E0 h  n* Z1 [1 k% r
   那我要設定接角嗎??
, h+ P  ?) t% ]; B   因為xaw的程式不像一般會有input  output
8 v) E0 \8 u8 R; Z- {( b   所以會有點搞混掉
7 o( u& }7 R1 F( w5 c- v! S
/ m% _8 d- W, w, i9 O) C+ v8 E2 q" [以上是我小小的疑問. C& W5 D" U  n- g* U+ }$ m
先謝謝各位大大的解答  
. e$ d2 l$ `( s. L8 h
6 H: a0 `) Q3 h$ p6 |[ 本帖最後由 小人發 於 2008-3-20 06:51 PM 編輯 ]
3#
發表於 2008-3-20 12:34:10 | 只看該作者
Single end--->單端輸入(從P端輸入)$ d7 `1 P  ^, {4 m, D- T
Differential--->差動輸入(LVDS,,等)
; u; e5 ]& C2 s6 W  r. g如果CLOCK頻率不是很高,可採單端輸入GCLK pin,再從內部去除出所要的CLOCK頻率.+ z' g0 B& p' F" {, q; C  ]7 f1 ]

/ T: a+ g( o2 s# H若要用DCM,從Xilinx Architecture Wizard(在ISE Accessories--->Architecture Wizard)去自動產生所要的CLOCK頻率.Wizard 會產生 .vhd,.xaw,.ucf檔.把.xaw加入design.(利用ISE add source)以下是以單一個DCM instance作例子.+ R8 U: |1 d4 w) Y6 F, o7 n, A

) o6 }0 G0 ]0 a; p* N; ~0 ?) @EX: (輸入75MHz--->>輸出50MHz)- I' F8 Y0 p. B  w: ]
entity ClockManageris% s1 b7 x* K: C$ }
Port ( clk_50mhz : in std_logic;! x; t. G' h6 a8 \/ V: ~
clk_75mhz : out std_logic;
: o4 c6 a8 T7 a+ {1 b( A* i! gclk_75mhz_180 : out std_logic);
( @  e: s8 Q2 I) G* m5 E6 `end ClockManager;
# W- ]. m* {/ Darchitecture Behavioral of ClockManageris
2 a3 y0 f% i. n3 `2 c1 |+ w5 Bcomponent clkgen_75mhz# k, V* D9 e8 ]; j
port ( CLKIN_IN : in std_logic;: T* _/ k7 ~6 X/ U' a' h5 d6 t
RST_IN : in std_logic;( n+ x  V. s5 V( f6 P/ L3 }9 W  M3 r
CLKFX_OUT : out std_logic;! x! R+ H8 c/ H, T( q
CLKFX180_OUT : out std_logic;3 G; ]  q! f# h$ d' i. {
CLKIN_IBUFG_OUT : out std_logic;3 A2 t6 k/ V) Y' D+ d4 S/ \1 p
LOCKED_OUT : out std_logic);& q: h3 s$ U8 Y- d, ^! R
end component;
0 M4 |& e% @+ s9 Q4 I1 Zbegin
4 _" G& W* [% U/ \& K/ Agen_75mhz: clkgen_75mhz% B4 d4 m  a6 R$ |4 J4 O
port map( CLKIN_IN => clk_50mhz,. a1 J; }5 O. U, T: t
RST_IN => '0',
* j" k. A* b* U# cCLKFX_OUT => clk_75mhz,
3 s7 g0 O+ I$ w4 pCLKFX180_OUT => clk_75mhz_180,4 C6 V! Y! V* ^4 r! e
CLKIN_IBUFG_OUT => open,
# m8 J. u3 w1 C/ Y4 _9 i9 `LOCKED_OUT => open );
0 W* q/ r# v1 D" v% gend Behavioral;
2#
發表於 2008-3-20 11:14:56 | 只看該作者
virtex-4的版子不知是原廠網頁上的那塊?http://www.xilinx.com/products/devboards/index.htm
, G$ G* V7 B3 W關於DCM功能,建議先看一下Xilinx的clock manangement' Q! m% l$ s! I, D
http://www.xilinx.com/support/do ... sign_clockmanag.htm
" y! ]* p+ |2 j- {% F- l# f中的 XAPP132 - Using the Virtex Delay-Locked Loop
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-6-3 03:23 AM , Processed in 0.144518 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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