找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 7473|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

FPGA時(shí)鐘管理—PLL和DLL

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
FPGA內(nèi)部的時(shí)鐘管理就顯得越來(lái)越突出。兩大FPGA廠商 ALTERA 和XILinx ,分別應(yīng)用PLL技術(shù)和DLL技術(shù)來(lái)進(jìn)行時(shí)鐘管理。  
  以Cyclone III 為例,  Cyclone III FPGA含有4個(gè)增強(qiáng)PLL,提供高級(jí)時(shí)鐘管理功能,例如 動(dòng)態(tài)重新配置、 級(jí)聯(lián)能力、 可編
  程相移、 外部時(shí)鐘輸出、 可編程占空比、 鎖定探測(cè)、 擴(kuò)譜輸入時(shí)鐘等,并對(duì)輸入和輸出時(shí)鐘提供高
  速差分支持。圖1是Cyclone III FPGA PLL的結(jié)構(gòu)圖。
  
  Positive、negative指的是差分時(shí)鐘。單端時(shí)鐘接在那個(gè)上面都可以。作為普通輸入接口沒有需要特別考慮的。
  
  

在 Xilinx 系列 FPGA 產(chǎn)品中,全局時(shí)鐘網(wǎng)絡(luò)是一種全局布線資源,它可以保證時(shí)鐘信號(hào)到達(dá)各個(gè)目標(biāo)邏輯單元的時(shí)延基本相同。其時(shí)鐘分配樹結(jié)構(gòu)如圖1所示。

  

  

圖1.Xilinx FPGA全局時(shí)鐘分配樹結(jié)構(gòu)

  

針對(duì)不同類型的器件,Xilinx公司提供的全局時(shí)鐘網(wǎng)絡(luò)在數(shù)量、性能等方面略有區(qū)別,下面以Virtex-4系列芯片為例,簡(jiǎn)單介紹FPGA全局時(shí)鐘網(wǎng)絡(luò)結(jié)構(gòu)。

  

Virtex- 4系列FPGA利用1.2V、90nm三柵極氧化層技術(shù)制造而成,與前一代器件相比,具備靈活的時(shí)鐘解決方案,多達(dá)80個(gè)獨(dú)立時(shí)鐘與20個(gè)數(shù)字時(shí)鐘管理器,差分全局時(shí)鐘控制技術(shù)將歪斜與抖動(dòng)降至最低。以全銅工藝實(shí)現(xiàn)的全局時(shí)鐘網(wǎng)絡(luò),加上專用時(shí)鐘緩沖與驅(qū)動(dòng)結(jié)構(gòu),從而可使全局時(shí)鐘到達(dá)芯片內(nèi)部所有的邏輯可配置單元,且I/O單元以及塊RAM的時(shí)延和抖動(dòng)最小,可滿足高速同步電路對(duì)時(shí)鐘觸發(fā)沿的苛刻需求。
在FPGA設(shè)計(jì)中,F(xiàn)PGA全局時(shí)鐘路徑需要專用的時(shí)鐘緩沖和驅(qū)動(dòng),具有最小偏移和最大扇出能力,因此最好的時(shí)鐘方案是由專用的全局時(shí)鐘輸入引腳驅(qū)動(dòng)的單個(gè)主時(shí)鐘,去鐘控設(shè)計(jì)項(xiàng)目中的每一個(gè)觸發(fā)器。只要可能就應(yīng)盡量在設(shè)計(jì)項(xiàng)目中采用全局時(shí)鐘,因?yàn)閷?duì)于一個(gè)設(shè)計(jì)項(xiàng)目來(lái)說(shuō),全局時(shí)鐘是最簡(jiǎn)單和最可預(yù)測(cè)的時(shí)鐘。

  

在軟件代碼中,可通過調(diào)用原語(yǔ) IBUFGP來(lái)使用全局時(shí)鐘。IBUFGP的基本用法是:

  

IBUFGP U1(.I(clk_in), .O(clk_out));

  

全局時(shí)鐘網(wǎng)絡(luò)對(duì)FPGA設(shè)計(jì)性能的影響很大,所以本書在第11章還會(huì)更深入、更全面地介紹全局時(shí)鐘網(wǎng)絡(luò)以及相關(guān)使用方法。

  

DCM模塊的使用

  

1.DCM模塊的組成和功能介紹
數(shù)字時(shí)鐘管理模塊(Digital Clock Manager,DCM)是基于Xilinx的其他系列器件所采用的數(shù)字延遲鎖相環(huán)(DLL,Delay Locked Loop)模塊。在時(shí)鐘的管理與控制方面,DCM與DLL相比,功能更強(qiáng)大,使用更靈活。DCM的功能包括消除時(shí)鐘的延時(shí)、頻率的合成、時(shí)鐘相位的調(diào)整等系統(tǒng)方面的需求。DCM的主要優(yōu)點(diǎn)在于:①實(shí)現(xiàn)零時(shí)鐘偏移(Skew),消除時(shí)鐘分配延遲,并實(shí)現(xiàn)時(shí)鐘閉環(huán)控制;②時(shí)鐘可以映射到PCB上用于同步外部芯片,這樣就減少了對(duì)外部芯片的要求,將芯片內(nèi)外的時(shí)鐘控制一體化,以利于系統(tǒng)設(shè)計(jì)。對(duì)于DCM模塊來(lái)說(shuō),其關(guān)鍵參數(shù)為輸入時(shí)鐘頻率范圍、輸出時(shí)鐘頻率范圍、輸入/輸出時(shí)鐘允許抖動(dòng)范圍等。

  

DCM共由四部分組成,如圖2所示。其中最底層仍采用成熟的DLL模塊;其次分別為數(shù)字頻率合成器(DFS,Digital Frequency Synthesizer)、數(shù)字移相器(DPS,Digital Phase Shifter)和數(shù)字頻譜擴(kuò)展器(DSS,Digital Spread Spectrum)。不同的芯片模塊的DCM輸入頻率范圍是不同的,例如:。

  

  

圖2 DCM功能塊和相應(yīng)的信號(hào)

  

1)DLL模塊

  

DLL 主要由一個(gè)延時(shí)線和控制邏輯組成。延時(shí)線對(duì)時(shí)鐘輸入端CLKIN產(chǎn)生一個(gè)延時(shí),時(shí)鐘分布網(wǎng)線將該時(shí)鐘分配到器件內(nèi)的各個(gè)寄存器和時(shí)鐘反饋端CLKFB;控制邏輯在反饋時(shí)鐘到達(dá)時(shí)采樣輸入時(shí)鐘以調(diào)整二者之間的偏差,實(shí)現(xiàn)輸入和輸出的零延時(shí),如圖3所示。具體工作原理是:控制邏輯在比較輸入時(shí)鐘和反饋時(shí)鐘的偏差后,調(diào)整延時(shí)線參數(shù),在輸入時(shí)鐘后不停地插入延時(shí),直到輸入時(shí)鐘和反饋時(shí)鐘的上升沿同步,鎖定環(huán)路進(jìn)入“鎖定”狀態(tài),只要輸入時(shí)鐘不發(fā)生變化,輸入時(shí)鐘和反饋時(shí)鐘就保持同步。DLL可以被用來(lái)實(shí)現(xiàn)一些電路以完善和簡(jiǎn)化系統(tǒng)級(jí)設(shè)計(jì),如提供零傳播延遲,低時(shí)鐘相位差和高級(jí)時(shí)鐘區(qū)域控制等。

  

  

圖3 DLL簡(jiǎn)單模型示意圖

  

在Xilinx芯片中,典型的DLL標(biāo)準(zhǔn)原型如圖4所示,其管腳分別說(shuō)明如下:

  
  

圖4 Xilinx DLL的典型模型示意圖

  

CLKIN(源時(shí)鐘輸入):DLL輸入時(shí)鐘信號(hào),通常來(lái)自IBUFG或BUFG。
CLKFB(反饋時(shí)鐘輸入):DLL時(shí)鐘反饋信號(hào),該反饋信號(hào)必須源自CLK0或CLK2X,并通過IBUFG或BUFG相連。
RST(復(fù)位):控制DLL的初始化,通常接地。
CLK0(同頻信號(hào)輸出):與CLKIN無(wú)相位偏移;CLK90與CLKIN 有90度相位偏移;CLK180與CLKIN 有180度相位偏移;CLK270與CL KIN有270度相位偏移。
CLKDV(分頻輸出):DLL輸出時(shí)鐘信號(hào),是CLKIN的分頻時(shí)鐘信號(hào)。DLL支持的分頻系數(shù)為1.5,2,2.5,3,4,5,8 和16。
CLK2X(兩倍信號(hào)輸出):CLKIN的2倍頻時(shí)鐘信號(hào)。
LOCKED(輸出鎖存):為了完成鎖存,DLL可能要檢測(cè)上千個(gè)時(shí)鐘周期。當(dāng)DLL完成鎖存之后,LOCKED有效。

  

在FPGA 設(shè)計(jì)中,消除時(shí)鐘的傳輸延遲,實(shí)現(xiàn)高扇出最簡(jiǎn)單的方法就是用DLL,把CLK0 與CLKFB相連即可。利用一個(gè)DLL可以實(shí)現(xiàn)2倍頻輸出,如圖5所示。利用兩個(gè)DLL 就可以實(shí)現(xiàn)4倍頻輸出,如圖6所示。

  
  

圖5 Xilinx DLL 2倍頻典型模型示意圖

  
  

圖6 Xilinx DLL 4倍頻典型模型示意圖

  

2)數(shù)字頻率合成器

  

DFS 可以為系統(tǒng)產(chǎn)生豐富的頻率合成時(shí)鐘信號(hào),輸出信號(hào)為CLKFB和CLKFX180,可提供輸入時(shí)鐘頻率分?jǐn)?shù)倍或整數(shù)倍的時(shí)鐘輸出頻率方案,輸出頻率范圍為 1.5~320 MHz(不同芯片的輸出頻率范圍是不同的)。這些頻率基于用戶自定義的兩個(gè)整數(shù)比值,一個(gè)是乘因子(CLKFX_ MULTIPLY),另外一個(gè)是除因子(CLKFX_ DIVIDE),輸入頻率和輸出頻率之間的關(guān)系為:

  
  

比如取CLKFX_MULTIPLY = 3,CLKFX_DIVIDE = 1,PCB上源時(shí)鐘為100 MHz,通過DCM 3倍頻后,就能驅(qū)動(dòng)時(shí)鐘頻率在300 MHz的FPGA,從而減少了板上的時(shí)鐘路徑,簡(jiǎn)化板子的設(shè)計(jì),提供更好的信號(hào)完整性。

  

3) 數(shù)字移相器

  

DCM 具有移動(dòng)時(shí)鐘信號(hào)相位的能力,因此能夠調(diào)整I/O信號(hào)的建立和保持時(shí)間,能支持對(duì)其輸出時(shí)鐘進(jìn)行0度、90度、180度、270度的相移粗調(diào)和相移細(xì)調(diào)。其中,相移細(xì)調(diào)對(duì)相位的控制可以達(dá)到1%輸入時(shí)鐘周期的精度(或者50 ps),并且具有補(bǔ)償電壓和溫度漂移的動(dòng)態(tài)相位調(diào)節(jié)能力。對(duì)DCM輸出時(shí)鐘的相位調(diào)整需要通過屬性控制PHASE_SHIFT來(lái)設(shè)置。PS設(shè)置范圍為 -255到+255,比如輸入時(shí)鐘為200 MHz,需要將輸出時(shí)鐘調(diào)整+ 0.9 ns的話,PS =(0.9ns/ 5ns)?56 = 46。如果PHASE_ SHIFT值是一個(gè)負(fù)數(shù),則表示時(shí)鐘輸出應(yīng)該相對(duì)于CLKIN向后進(jìn)行相位移動(dòng);如果PHASE_SHIFT是一個(gè)正值,則表示時(shí)鐘輸出應(yīng)該相對(duì)于 CLKIN向前進(jìn)行相位移動(dòng)。

  

移相用法的原理圖與倍頻用法的原理圖很類似,只用把CLK2X輸出端的輸出緩存移到CLK90、CLK180或者CLK270端即可。利用原時(shí)鐘和移相時(shí)鐘與計(jì)數(shù)器相配合也可以產(chǎn)生相應(yīng)的倍頻。

  

4) 數(shù)字頻譜合成器

  

Xilinx 公司第一個(gè)提出利用創(chuàng)新的擴(kuò)頻時(shí)鐘技術(shù)來(lái)減少電磁干擾(EMI)噪聲輻射的可編程解決方案。最先在FPGA中實(shí)現(xiàn)電磁兼容的EMIControl技術(shù),是利用數(shù)字?jǐn)U頻技術(shù)(DSS)通過擴(kuò)展輸出時(shí)鐘頻率的頻譜來(lái)降低電磁干擾,減少用戶在電磁屏蔽上的投資。數(shù)字?jǐn)U頻(DSS)技術(shù)通過展寬輸出時(shí)鐘的頻譜,來(lái)減少EMI和達(dá)到FCC要求。這一特點(diǎn)使設(shè)計(jì)者可極大地降低系統(tǒng)成本,使電路板重新設(shè)計(jì)的可能性降到最小,并不再需要昂貴的屏蔽,從而縮短了設(shè)計(jì)周期。

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表