系列文章目錄:FPGA原理與結(jié)構(gòu)(0)——目錄與傳送門
一、前言
? ? ? ? 在之前的文章中,我們介紹了FPGA的時鐘結(jié)構(gòu)
FPGA原理與結(jié)構(gòu)——時鐘資源https://blog.csdn.net/apple_53311083/article/details/132307564?spm=1001.2014.3001.5502? ? ? ? 在本文中我們將學習xilinx系列的FPGA所提供的時鐘IP核,來幫助我們進一步理解時鐘的原理,從而快速實現(xiàn)我們的設(shè)計需求。
二、時鐘IP核
1、簡介
????????我們本次討論的對象是Xilinx的 Clocking Wizard v6.0 IP核 。時鐘向?qū)В–locking Wizard)幫助我們實現(xiàn)自己需要的輸出時鐘頻率,相位和占空比,它是通過一個混合模式的時鐘管理器(MMCM)(E2/E3/E4)或鎖相環(huán)路(PLL)(E2/E3/E4)原語來實現(xiàn)的。它還有助于驗證仿真中輸出產(chǎn)生的時鐘頻率,提供了一個可在硬件上進行測試的可合成的實例設(shè)計。它還支持擴頻特性,這有助于減少電磁干擾。圖2-1顯示了時鐘向?qū)У姆娇驁D:
2、性能
(1)最大頻率:不同的器件之間有所不同,具體的請查閱手冊
(2)功率:最小化功率特性最小化原件所需的功率,但可能會犧牲頻率、相位偏移或占空比精度。
(3)輸出:可以最多提供7個不同的時鐘輸出。
3、IP核結(jié)構(gòu)
????????時鐘向?qū)稍创aHDL,以實現(xiàn)時鐘網(wǎng)絡(luò)。生成的時鐘網(wǎng)絡(luò)通常包括一個時鐘原語(MMCM(E2/E3)_ADV或PLL(E2/E3)_ADV)和一些附加電路,其中通常包括緩沖器和時鐘引腳。網(wǎng)絡(luò)分為分段,如圖3-12所示。下面的部分將描述這些部分的詳細信息。
三、MMCM和PLL
? ? ? ? 在簡單介紹了時鐘這個IP核后,我們開始今天的重點,在之前的內(nèi)容中,我們一直提到時鐘IP核是通過例化MMCM和PLL這兩個原語來實現(xiàn)的,這究竟是什么,其工作原理是怎么樣的,接下來我們來一探究竟。
1、FPGA的時鐘資源
? ? ? ? 在之前的文章中,我們有介紹過7系列的FPGA中,每個時鐘區(qū)域?qū)粋€CMT(clock management tile),CMT由一個MMCM(mixed-mode clock manager)和一個PLL(phase-locked loop)組成。
??PLL的英文全稱為Phase-Locked Loop,即鎖相環(huán),是一種控制反饋電路。PLL對時鐘網(wǎng)絡(luò)進行系統(tǒng)級別的時鐘管理和偏移控制,具有時鐘倍頻、分頻、相位偏移和可編程占空比的功能。鎖相環(huán)作為一種反饋控制電路,其特點是利用外部輸入的參考信號控制環(huán)路內(nèi)部震蕩信號的頻率和相位。因為鎖相環(huán)可以實現(xiàn)輸出信號頻率對輸入信號頻率的自動跟蹤,所以鎖相環(huán)通常用于閉環(huán)跟蹤電路。鎖相環(huán)在工作的過程中,當輸出信號的頻率與輸入信號的頻率相等時,輸出電壓與輸入電壓保持固定的相位差值,即輸出電壓與輸入電壓的相位被鎖住,這就是鎖相環(huán)名稱的由來。
??MMCM是混合模式時鐘管理器,相當于能夠進行精準相移的PLL。(PLL為模擬電路,動態(tài)調(diào)相位數(shù)字電路)。7系列fpga中的PLL是MMCM功能的一個子集,它基于MMCM,而不一定基于以前的PLL設(shè)計。
??總結(jié):MMCM相對PLL的優(yōu)勢就是相位可動態(tài)調(diào)整,但PLL占用的面積更小。
??MMCM/PLL的參考時鐘輸入可以是IBUFG(CC)即具有時鐘能力的IO輸入、區(qū)域時鐘BUFR、全局時鐘BUFG、GT收發(fā)器輸出時鐘、行時鐘BUFH以及本地布線(不推薦使用本地布線來驅(qū)動時鐘資源)。絕大多數(shù)情況下,MMCM/PLL的參考時鐘輸入為IBUFG(CC)即具有時鐘輸入能力的IO輸入。
? ? ? ? 所以我們進行一個簡單的總結(jié),在FPGA中,PLL和MMCM是時鐘管理單元CMT的組成部分,其主要功能可以概括到以下三點:(1)作為一個頻率范圍很廣的頻率合成器;(2)可作為外部或內(nèi)部時鐘的抖動濾波器;(3)去時鐘傾斜
2、結(jié)構(gòu)對比
????????輸入多路復用器從IBUFG、BUFG、BUFR、BUFH、GTs(僅限CLKIN)或互連(不推薦)中選擇參考和反饋時鐘。每個時鐘輸入都有一個可編程的計數(shù)器分頻器(D)每個時鐘輸入都有一個可編程的計數(shù)器分頻器(D)。
????????下面給出了MMCM和PLL的具體結(jié)構(gòu)分析:
?3、MMCM和PLL的使用示例
????????本節(jié)中的示例顯示了MMCM,但是,它們同樣可以應用于PLL。使用MMCM和/或PLL有幾種設(shè)計方法。ISE或Vivado設(shè)計工具中的時鐘向?qū)Э梢詭椭筛鞣NMMCM和PLL參數(shù)。此外,MMCM還可以手動實例化為一個組件。MMCM也可以與IP核合并。IP核將包含和管理MMCM。
3.1?Clock Network Deskew(時鐘網(wǎng)絡(luò)去偏斜)
????????MMCM的主要用途之一是對時鐘網(wǎng)絡(luò)的去歪斜。一個CLKOUT用來驅(qū)動邏輯資源,而另一個反饋時鐘用來精確控制輸入和輸出時鐘之間的相位關(guān)系,右邊的波形圖展示了輸入和輸出需要相位對齊時的情況(圖中的輸入2和輸出5是對齊的)。反饋計數(shù)器用于控制輸入時鐘和輸出時鐘之間的精確相位關(guān)系(例如:90°的相移)。下圖中的配置是最靈活的,但它需要兩個全局時鐘網(wǎng)絡(luò)(BUFG)。
? ? ? ? 我們也可以通過BUFH來實現(xiàn),原理是相同的
3.2?MMCM with Internal Feedback(MMCM內(nèi)部反饋)
????????當MMCM被用作頻率合成和抖動過濾,并且對輸出和輸入的相位沒有要求時,可以用內(nèi)部信號作為反饋信號。此時MMCM的性能會更好,因為反饋時鐘沒有經(jīng)過其他電源供電的元件,因此,也就沒有其他電源的噪聲。但是從CLKIN和BUFG的噪聲還是照常。
?3.3?Zero Delay Buffer(零緩沖Buffer)
???????????MMCM也能被用來生成一個無延遲的buffer clcok, 如下圖。無延遲的buffer可以把一個時鐘信號扇出給多個目的地,并且信號之間的偏斜很小。它們之間有一個低偏斜的應用程序。此配置如圖3-14所示。在這里,反饋信號驅(qū)動出芯片和板跟蹤反饋被設(shè)計為將跟蹤與外部組件相匹配。在這種配置中,假設(shè)時鐘邊緣在FPGA的輸入和外部組件的輸入處對齊。CLKIN和CLKFBIN的輸入時鐘緩沖區(qū)必須在同一bank中。
文章來源:http://www.zghlxwxcb.cn/news/detail-687008.html
四、總結(jié)
? ? ? ? 在本文中我們對于xilinx系列的FPGA所提供的時鐘IP核:Clocking Wizard v6.0 IP核進行了簡單的介紹,然后對于FPGA中時鐘的CMT結(jié)構(gòu)進行了解讀,介紹了MMCM和PLL的作用與區(qū)別,最后介紹了一些MMCM和PLL的使用示例。理解IP核的原理可以幫助我們更好地使用IP核,在接下來的文章中,我們也將介紹這個IP核的具體使用方式。文章來源地址http://www.zghlxwxcb.cn/news/detail-687008.html
到了這里,關(guān)于FPGA原理與結(jié)構(gòu)——時鐘IP核原理學習的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!