如何使用DCM,DCM使用說明
DCM主要功能
1. 分頻倍頻:DCM可以將輸入時(shí)鐘進(jìn)行multiply或者divide,從而得到新的輸出時(shí)鐘。
2. 去skew:DCM還可以消除clock的skew,所謂skew就是由于傳輸引起的同一時(shí)鐘到達(dá)不同地點(diǎn)的延遲差。
3. 相移:DCM還可以實(shí)現(xiàn)對(duì)輸入時(shí)鐘的相移輸出,這個(gè)相移一般是時(shí)鐘周期的一個(gè)分?jǐn)?shù)。
4. 全局時(shí)鐘:DCM和FPGA內(nèi)部的全局時(shí)鐘分配網(wǎng)絡(luò)緊密結(jié)合,因此性能優(yōu)異。
5. 電平轉(zhuǎn)換:通過DCM,可以輸出不同電平標(biāo)準(zhǔn)的時(shí)鐘。
DCM的特點(diǎn)與能力(Spartan-3系列為例)
- 數(shù)量:4 DCM / FPGA(也有例外)
-- 應(yīng)該夠用了 - 數(shù)字頻率綜合器輸入(CLKIN):1-280MHz
- 延遲鎖相環(huán)輸入(CLKIN):18-280MHz
- 時(shí)鐘輸入源(CLKIN):
Global buffer input pad
Global buffer output
General-purpose I/O (no deskew)
Internal logic (no deskew)
-- 上面最后兩個(gè)分別是外部的普通IO口和內(nèi)部的邏輯,沒有deskew,所以時(shí)鐘質(zhì)量不會(huì)很好。 - 頻率綜合器輸出(CLKFX、CLKFX180):是CLKIN的M/D倍,其中
M=2..32
D=1..32
-- 這樣看來最大能倍頻32倍,最小能16分頻。 - 時(shí)鐘dividor輸出(CLKDV):是CLKIN的下列分頻
1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 9, 10, 11, 12, 13, 14, 15, or 16
-- 發(fā)現(xiàn)沒有,最大的分頻也是16。不過能支持半分頻,比用頻率綜合器方便。 - 倍頻輸出(CLK2X、CLK2X180):CLKIN的2倍頻
- 時(shí)鐘conditioning、占空比調(diào)整:這個(gè)對(duì)所有時(shí)鐘輸出都施加,占空比為50%。
- 1/4周期相移輸出(CLK0/90/180/270):是CLKIN的1/4周期相移輸出。
- 半周期相移輸出(CLK0/180、CLK2X/180、CLKFX/180):相差為180度的成對(duì)時(shí)鐘輸出。
- 相移精度:最高精度為時(shí)鐘周期的1/256。
- 時(shí)鐘輸出:9個(gè)
到全局時(shí)鐘網(wǎng)的時(shí)鐘輸出:最多9個(gè)中的4個(gè)
到General purpose互聯(lián):最多9個(gè)
到輸出腳:最多9個(gè)
-- 可見9個(gè)時(shí)鐘輸出可以隨意鏈接內(nèi)部信號(hào)或者外部輸出,但是進(jìn)入全局時(shí)鐘網(wǎng)的路徑最多只有4個(gè)。
DCM的位置在哪?
我們以Spartan3系列為例。
FPGA看上去就是一個(gè)四方形。最邊緣是IO pad了。
除去IO pad,內(nèi)部還是一個(gè)四方形。
四個(gè)角上各趴著一個(gè)DCM。
上邊緣和下邊緣中間則各趴著一個(gè)全局Buffer的MUX。
這樣的好處是四個(gè)DCM的輸出可以直接連接到全局Buffer的入口。
下面是手繪簡(jiǎn)圖,很丑是吧,呵呵。
DCM是全局時(shí)鐘網(wǎng)絡(luò)可選的一部分
一般,時(shí)鐘通過一個(gè)“全局輸入buffer”和“全局時(shí)鐘buffer” 進(jìn)入全局時(shí)鐘網(wǎng)絡(luò)。如下所示
GCLK --->( IBUFG ---> BUFG) ---> low skew global clock network
在需要的時(shí)候,DCM也成為全局時(shí)鐘網(wǎng)絡(luò)的一環(huán)。
評(píng)論