FPGA設(shè)計(jì)小Tips:如何正確使用FPGA的時(shí)鐘資源
把握DCM、PLL、PMCD和MMCM知識(shí)是穩(wěn)健可靠的時(shí)鐘設(shè)計(jì)策略的基礎(chǔ)。賽靈思在其FPGA中提供了豐富的時(shí)鐘資源,大多數(shù)設(shè)計(jì)人員在他們的FPGA設(shè)計(jì)中或多或少都會(huì)用到。不過(guò)對(duì)FPGA設(shè)計(jì)新手來(lái)說(shuō),什么時(shí)候用DCM、PLL、PMCD和MMCM四大類(lèi)型中的哪一種,讓他們頗為困惑。賽靈思現(xiàn)有的FPGA中沒(méi)有一款同時(shí)包含這四種資源(見(jiàn)表1)。
本文引用地址:http://m.butianyuan.cn/article/189560.htm這四大類(lèi)中的每一種都針對(duì)特定的應(yīng)用。例如,數(shù)字時(shí)鐘管理器(DCM)適用于實(shí)現(xiàn)延遲鎖相環(huán)(DLL)、數(shù)字頻率綜合器、數(shù)字移相器或數(shù)字頻譜擴(kuò)展器。 DCM還是鏡像、發(fā)送或再緩沖時(shí)鐘信號(hào)的理想選擇。另一種時(shí)鐘資源相位匹配時(shí)鐘分頻器(PMCD)可用于實(shí)現(xiàn)相位匹配分配時(shí)鐘或相位匹配延遲時(shí)鐘。
鎖相環(huán)(PLL)和混合模式時(shí)鐘管理器(MMCM)處理的工作有許多是相同的,比如頻率綜合、內(nèi)外部時(shí)鐘抖動(dòng)濾波、時(shí)鐘去歪斜等。這兩種資源也可用于鏡像、發(fā)送或再緩沖時(shí)鐘信號(hào)。
在深思設(shè)計(jì)實(shí)現(xiàn)細(xì)節(jié)時(shí),把這些通常用法記在心里,有助于理清時(shí)鐘選擇的思路。對(duì)于長(zhǎng)期產(chǎn)品發(fā)展規(guī)劃而言,在制定合適的時(shí)鐘策略時(shí),應(yīng)考慮各個(gè)器件系列之間的兼容性。下面讓我們深入了解一下這些時(shí)鐘資源。
您可以使用DCM將時(shí)鐘源的輸入時(shí)鐘信號(hào)相乘,生成高頻率時(shí)鐘信號(hào)。與此類(lèi)似,可以將來(lái)自高頻率時(shí)鐘源的輸入時(shí)鐘信號(hào)相除,生成低頻率時(shí)鐘信號(hào)。
數(shù)字時(shí)鐘管理器
顧名思義,數(shù)字時(shí)鐘管理器(DCM)是一種用于管理時(shí)鐘架構(gòu)并有助于時(shí)鐘信號(hào)成形和操控的模塊。DCM內(nèi)含一個(gè)延遲鎖相環(huán)(DLL),可根據(jù)輸入時(shí)鐘信號(hào),去除DCM輸出時(shí)鐘信號(hào)的歪斜,從而避免時(shí)鐘分配延遲。
DLL 內(nèi)含一個(gè)延遲元件和控制邏輯鏈路。延遲元件的輸出是輸入時(shí)鐘延遲所得。延遲時(shí)間取決于延遲元件在延遲鏈路中的位置。這種延遲體現(xiàn)為針對(duì)原始時(shí)鐘的相位改變或相移,這就是所謂的“數(shù)字相移”。圖1所示的即為Virtex-4器件中的典型DCM模塊。根據(jù)Virtex-4FPGA用戶(hù)指南(UG070,2.6 版本)的介紹,Virtex-4中有三種不同的DCM原語(yǔ)。
一般來(lái)說(shuō),DLL與PLL類(lèi)似。但與PLL不同的是DLL不含壓控振蕩器(VCO)。PLL會(huì)一直存儲(chǔ)相位和頻率信息,而DLL只存儲(chǔ)相位信息。因此,DLL略比PLL穩(wěn)定。DLL和PLL這兩種類(lèi)型都可以使用模擬和數(shù)字技術(shù)設(shè)計(jì),或者混合兩種技術(shù)設(shè)計(jì)。但賽靈思器件中的DCM采用全數(shù)字化設(shè)計(jì)。
由于DCM可以在時(shí)鐘路徑上引入延遲,比如您就可使用DCM可以精確地為DRAM生成行和列訪問(wèn)選通信號(hào)的時(shí)序。與此類(lèi)似,數(shù)據(jù)總線上的各個(gè)數(shù)據(jù)位可以在不同的時(shí)間到達(dá)。為了正確對(duì)數(shù)據(jù)位采樣,接收端的時(shí)鐘信號(hào)必須適當(dāng)?shù)嘏c所有數(shù)據(jù)位的到達(dá)保持同步。如果接收器使用發(fā)射時(shí)鐘,可能會(huì)要求延遲從發(fā)送端到接收端的時(shí)鐘信號(hào)。
有時(shí)設(shè)計(jì)可能需要一個(gè)更高的時(shí)鐘頻率來(lái)運(yùn)行FPGA上的邏輯。但是,只有低頻率輸出的時(shí)鐘源可以用。此時(shí)可以使用DCM將時(shí)鐘源的輸入時(shí)鐘信號(hào)相乘,生成高頻率時(shí)鐘信號(hào)。與此類(lèi)似,可以將來(lái)自高頻率時(shí)鐘源的輸入時(shí)鐘信號(hào)相除,生成低頻率時(shí)鐘信號(hào)。這種技術(shù)稱(chēng)為“數(shù)字頻率綜合”。
設(shè)計(jì)人員使用擴(kuò)頻時(shí)鐘并通過(guò)調(diào)制時(shí)鐘信號(hào)來(lái)降低時(shí)鐘信號(hào)的峰值電磁輻射。未經(jīng)調(diào)制的時(shí)鐘信號(hào)的峰值會(huì)產(chǎn)生高電磁輻射。但經(jīng)調(diào)制后,電磁輻射被擴(kuò)展到一系列時(shí)鐘頻率上,從而降低了所有頻點(diǎn)的輻射。一般來(lái)說(shuō),如果需要滿(mǎn)足一定的最大電磁輻射要求和在FPGA上執(zhí)行高速處理的時(shí)候(比如說(shuō)通信系統(tǒng)中接收器使用的解串器),就需要使用擴(kuò)頻時(shí)鐘。因此,F(xiàn)PGA中的DCM將乘以輸入擴(kuò)頻時(shí)鐘信號(hào),在內(nèi)部生成高頻時(shí)鐘信號(hào)。 DCM的輸出必須準(zhǔn)確地跟隨擴(kuò)頻時(shí)鐘,以保持相位和頻率對(duì)齊并更新去歪斜和相移。DCM相位和頻率對(duì)齊的惡化會(huì)降低接收器的歪斜裕量。
建立時(shí)鐘的鏡像需要將時(shí)鐘信號(hào)送出FPGA器件,然后又將它接收回來(lái)??梢允褂眠@種方法為多種器件的板級(jí)時(shí)鐘信號(hào)去歪斜。DCM能夠把時(shí)鐘信號(hào)從FPGA發(fā)送到另一個(gè)器件。這是因?yàn)镕PGA的輸入時(shí)鐘信號(hào)不能直接路由到輸出引腳,沒(méi)有這樣的路由路徑可用。如果僅需要發(fā)送時(shí)鐘信號(hào),那么使用DCM將時(shí)鐘信號(hào)發(fā)送到輸出引腳,可以確保信號(hào)的保真度。另外也可選擇在時(shí)鐘信號(hào)發(fā)送之前,將DCM輸出連接到ODDR觸發(fā)器。當(dāng)然也可以選擇不使用DCM,僅使用ODDR 來(lái)發(fā)送時(shí)鐘信號(hào)。往往時(shí)鐘驅(qū)動(dòng)器需要將時(shí)鐘信號(hào)驅(qū)動(dòng)到設(shè)計(jì)的多個(gè)組件。這會(huì)增大時(shí)鐘驅(qū)動(dòng)器的負(fù)荷,導(dǎo)致出現(xiàn)時(shí)鐘歪斜及其它問(wèn)題。在這種情況下,需要采用時(shí)鐘緩沖來(lái)平衡負(fù)載。
時(shí)鐘可以連接到FPGA上的一系列邏輯塊上。為確保時(shí)鐘信號(hào)在遠(yuǎn)離時(shí)鐘源的寄存器上有合適的上升和下降時(shí)間(從而將輸入輸出時(shí)延控制在允許的范圍內(nèi)),需要在時(shí)鐘驅(qū)動(dòng)器和負(fù)載之間插入時(shí)鐘緩沖器。DCM可用作時(shí)鐘輸入引腳和邏輯塊之間的時(shí)鐘緩沖器。
最后,還可以使用DCM將輸入時(shí)鐘信號(hào)轉(zhuǎn)換為差分I/O標(biāo)準(zhǔn)信號(hào)。例如,DCM可以將輸入的LVTTL時(shí)鐘信號(hào)轉(zhuǎn)換為L(zhǎng)VDS時(shí)鐘信號(hào)發(fā)送出去。
分頻器相關(guān)文章:分頻器原理
評(píng)論