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