同步時(shí)序電路設(shè)計(jì)中zui關(guān)鍵的是時(shí)鐘設(shè)計(jì),隨著電路規(guī)模與速度的提高,對(duì)時(shí)鐘的周期、占空比、延時(shí)和抖動(dòng)等方面的要求也越來越高。為了順應(yīng)這需求,Spartan-6系統(tǒng)器件在原有的DCM模塊基礎(chǔ)引入了模擬PLL模塊構(gòu)成了功能強(qiáng)大、控制靈活的時(shí)鐘管理模塊(CMT)。每個(gè)CMT模塊包含兩個(gè)DCM模塊和一個(gè)PLL模塊。
一、器件組成與特性
1.DCM模塊主要有以下功能模塊組成:
a.DLL模塊,主要由延時(shí)線和控制邏輯組成。
b.數(shù)字頻率合成器,為系統(tǒng)產(chǎn)生豐富的頻率合成信號(hào)輸出到CLKFX和CLKFX180??梢蕴峁?~32的倍乘與1~32的分頻系數(shù)。
c.數(shù)字移相器,可提供粗調(diào)的0,90,180,270度移相和具有動(dòng)態(tài)調(diào)節(jié)能力的相位細(xì)調(diào)。
d.數(shù)字頻譜合成器,產(chǎn)生擴(kuò)頻時(shí)鐘減少電磁干擾(EMI)。
Spartan-6DCM模塊提供給用戶的設(shè)計(jì)原語(yǔ)有DCM_SP和DCM_CLKGEN,DCM_SP在Spartan-3EFPGA器件中也有,而DCM_CLKGEN是Spartan-6新增的,可以用產(chǎn)生動(dòng)態(tài)的頻率合成信號(hào)和擴(kuò)頻時(shí)鐘。
2.PLL模塊,有一400MHz~1000MHz壓控振蕩器(VCO),可提供8種移相(0°,45°,90°,135°,180°,225°,270°,315°)和6個(gè)可獨(dú)立編程倍乘與分頻系數(shù)的輸出信號(hào)。提供給用戶的設(shè)計(jì)原語(yǔ)有PLL_BASE和PLL_ADV,PLL_BASE是單獨(dú)使用PLL模塊zui常調(diào)用的原語(yǔ),允許使用PLL的zui常用特性,PLL_ADV包括PLL_BASE所有的特性之外,還提供時(shí)鐘切換及與DCM的連接。可用于以下工作模式:
a.時(shí)鐘網(wǎng)絡(luò)去歪斜
b.頻率合成
c.抖動(dòng)濾波
d.零延時(shí)的緩沖
f.PLL與PLL、DCM的級(jí)聯(lián)
二、使用指南
1.注意時(shí)鐘的輸入與輸出范圍,所有應(yīng)用不能超過范圍.。如器件DCM的DLL模塊的時(shí)鐘輸入范圍如下(以下摘自Spartan-6DATASHEET):
速度等級(jí)為-1L的為器件5MHz~175MHz。
速度等級(jí)為2的為器件5MHz~250MHz。
速度等級(jí)為3和4的為器件5MHz~280MHz。
DCM的DLL模塊的時(shí)鐘輸出范圍如下:
CLKOUT_FREQ_CLK0與CLKOUT_FREQ_CLK180為5MHz~250MHz(等級(jí)2)或5MHz~280MHz(等級(jí)3或4);
CLKOUT_FREQ_CLK90與CLKOUT_FREQ_CLK270為5MHz~200MHz;
CLKOUT_FREQ_2X與CLKOUT_FREQ_2X180為0.3125MHz~166MHz(等級(jí)2)或0.3125MHz~186MHz(等級(jí)3或4);
DCM的DFS模塊的時(shí)鐘輸入范圍如下:
速度等級(jí)為2的為器件0.5MHz~333MHz。
速度等級(jí)為3和4的為器件0.5MHz~375MHz。
DCM的DFS模塊的時(shí)鐘輸出范圍如下:
CLKOUT_FREQ_FX與CLKOUT_FREQ_FX180為5MHz~333MHz(等級(jí)2)或5MHz~375MHz(等級(jí)3或4);
PLL模塊的zui小的輸入時(shí)鐘頻率為19MHz,zui大輸入時(shí)鐘頻率為375MHz(從全局時(shí)鐘輸入,速度等級(jí)2),400MHz(從全局時(shí)鐘輸入,速度等級(jí)3),450MHz(從I/O時(shí)鐘輸入,速度等級(jí)2),525MHz(從I/O時(shí)鐘輸入,速度等級(jí)3)。
PLL模塊的zui小的輸出時(shí)鐘頻率為3.125MHz,zui大輸入時(shí)鐘頻率為從BUFGMUX輸出為375MHz(速度等級(jí)2)或400MHz(速度等級(jí)3或4),從BUFPLL輸出為950MHz(速度等級(jí)2)或1050MHz(速度等級(jí)3)或1080MHz(速度等級(jí)4)。
無論什么時(shí)候都不能使VCO超出范圍,Spartan-6器件VCO的頻率范圍為400MHz~1000MHz(等級(jí)2),400MHz~1050MHz(等級(jí)3),400MHz~1080MHz(等級(jí)4),
2.PLL或DCM的選擇使用問題
PLL和DCM有類似的功能,又有各自的特性,在應(yīng)用中什么時(shí)候選擇使用PLL模塊較好,什么時(shí)候選擇使用DCM模塊較好呢?一般認(rèn)為PLL模塊有六組輸出時(shí)鐘,在多時(shí)鐘的應(yīng)用中使用PLL比較合適,另外PLL對(duì)抖動(dòng)濾波效果比較好,如要實(shí)現(xiàn)抖動(dòng)濾波也推薦使用PLL模塊。Spartan-6PLL模塊還提供時(shí)鐘切換功能,在需要?jiǎng)討B(tài)切換時(shí)鐘源的應(yīng)用中尤為合適。DCM在相位調(diào)整上功能比較全,既有粗調(diào)的0,90,180,270度移相,又有動(dòng)態(tài)調(diào)節(jié)的相位細(xì)調(diào)能力,在實(shí)現(xiàn)時(shí)鐘相位調(diào)整的時(shí)候推薦使用DCM模塊。其它情況如頻率合成、調(diào)整時(shí)鐘占空比,消除時(shí)鐘延時(shí)使用PLL模塊或DCM模塊都可以。
3.DCM除對(duì)輸入時(shí)鐘的頻率有要求外,對(duì)輸入時(shí)鐘的抖動(dòng)也有要求,如果超出限制的話會(huì)導(dǎo)致DCM失鎖,失鎖后需要用戶將DCM復(fù)位。抖動(dòng)主要分兩類:
a.Cycle-to-cyclejitter
b.Periodjitter
Cycle-to-cyclejitter一般為±150ps(FCLKFX>150MHz)或±3000ps(FCLKFX<150MHz),
Periodjitter一般為±1ns.具體參見Spartan-6DATASHEET。
如果輸入時(shí)鐘的抖動(dòng)過大,建議先經(jīng)過PLL模塊進(jìn)行抖動(dòng)濾波。
4.PLL與DCM的級(jí)聯(lián)選擇
a.PLL輸出驅(qū)動(dòng)DCM模塊,優(yōu)點(diǎn)是在輸入DCM模塊前可減少輸入時(shí)鐘的抖動(dòng),同時(shí)又可以使用戶能構(gòu)訪問所有DCM模塊的輸出信號(hào),一個(gè)PLL可以驅(qū)動(dòng)多個(gè)DCM模塊,并不要求PLL與DCM都是在同一CMT模塊內(nèi)。
b.DCM模塊輸出驅(qū)動(dòng)PLL模塊,這種情況可以減少輸入時(shí)鐘和DCM時(shí)鐘輸出的總體抖動(dòng)。如果DCM輸出直接連到PLL輸入,要求PLL與DCM都是在同一CMT模塊內(nèi),這種情況可減少的本地噪聲與布線資源。如果PLL與DCM不在同一CMT模塊內(nèi),DCM輸出必須經(jīng)過BUFG緩沖后連到PLL。由于PLL輸入信號(hào)的限制,zui多只有兩個(gè)DCM輸出信號(hào)可以連到一個(gè)PLL模塊.
c.PLL與PLL的級(jí)聯(lián),級(jí)聯(lián)PLL可以產(chǎn)生更大范圍的時(shí)鐘,兩個(gè)PLL的級(jí)聯(lián)也要通過BUFG緩沖,此時(shí)器件通路的抖動(dòng)zui小。