FPGA內(nèi)DCM全局時鐘的使用詳解_第1頁
FPGA內(nèi)DCM全局時鐘的使用詳解_第2頁
FPGA內(nèi)DCM全局時鐘的使用詳解_第3頁
FPGA內(nèi)DCM全局時鐘的使用詳解_第4頁
FPGA內(nèi)DCM全局時鐘的使用詳解_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、在 Xilinx 系列 FPGA 產(chǎn)品中,全局時鐘網(wǎng)絡(luò)是一種全局布線資源,它可以保證時鐘信號到達各個目標邏輯單元的時延基本相同。其時鐘分配樹結(jié)構(gòu)如圖1所示。圖1.Xilinx FPGA全局時鐘分配樹結(jié)構(gòu)針對不同類型的器件,Xilinx公司提供的全局時鐘網(wǎng)絡(luò)在數(shù)量、性能等方面略有區(qū)別,下面以Virtex-4系列芯片為例,簡單介紹FPGA全局時鐘網(wǎng)絡(luò)結(jié)構(gòu)。 Virtex- 4系列FPGA利用1.2V、90nm三柵極氧化層技術(shù)制造而成,與前一代器件相比,具備靈活的時鐘解決方案,多達80個獨立時鐘與20個數(shù)字時鐘管理 器,差分全局時鐘控制技術(shù)將歪斜與抖動降至最低。以全銅工藝實現(xiàn)的全局時鐘網(wǎng)絡(luò),加上專用

2、時鐘緩沖與驅(qū)動結(jié)構(gòu),從而可使全局時鐘到達芯片內(nèi)部所有的邏輯可 配置單元,且I/O單元以及塊RAM的時延和抖動最小,可滿足高速同步電路對時鐘觸發(fā)沿的苛刻需求。 在FPGA設(shè)計中,F(xiàn)PGA全局時鐘路徑 需要專用的時鐘緩沖和驅(qū)動,具有最小偏移和最大扇出能力,因此最好的時鐘方案是由專用的全局時鐘輸入引腳驅(qū)動的單個主時鐘,去鐘控設(shè)計項目中的每一個觸發(fā) 器。只要可能就應(yīng)盡量在設(shè)計項目中采用全局時鐘,因為對于一個設(shè)計項目來說,全局時鐘是最簡單和最可預(yù)測的時鐘。 在軟件代碼中,可通過調(diào)用原語 IBUFGP來使用全局時鐘。IBUFGP的基本用法是: IBUFGP U1(.I(clk_in), .O(clk_ou

3、t); 全局時鐘網(wǎng)絡(luò)對FPGA設(shè)計性能的影響很大,所以本書在第11章還會更深入、更全面地介紹全局時鐘網(wǎng)絡(luò)以及相關(guān)使用方法。 DCM模塊的使用 1DCM模塊的組成和功能介紹 數(shù) 字時鐘管理模塊(Digital Clock Manager,DCM)是基于Xilinx的其他系列器件所采用的數(shù)字延遲鎖相環(huán)(DLL,Delay Locked Loop)模塊。在時鐘的管理與控制方面,DCM與DLL相比,功能更強大,使用更靈活。DCM的功能包括消除時鐘的延時、頻率的合成、時鐘相位的調(diào)整等 系統(tǒng)方面的需求。DCM的主要優(yōu)點在于:實現(xiàn)零時鐘偏移(Skew),消除時鐘分配延遲,并實現(xiàn)時鐘閉環(huán)控制;時鐘可以映射到P

4、CB上用于同步外部芯 片,這樣就減少了對外部芯片的要求,將芯片內(nèi)外的時鐘控制一體化,以利于系統(tǒng)設(shè)計。對于DCM模塊來說,其關(guān)鍵參數(shù)為輸入時鐘頻率范圍、輸出時鐘頻率范 圍、輸入/輸出時鐘允許抖動范圍等。 DCM共由四部分組成,如圖2所示。其中最底層仍采用成熟的DLL模塊;其次分別為數(shù)字頻率合成 器(DFS,Digital Frequency Synthesizer)、數(shù)字移相器(DPS,Digital Phase Shifter)和數(shù)字頻譜擴展器(DSS,Digital Spread Spectrum)。不同的芯片模塊的DCM輸入頻率范圍是不同的,例如:。 圖2 DCM功能塊和相應(yīng)的信號 1)D

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

6、模型示意圖 在Xilinx芯片中,典型的DLL標準原型如圖4所示,其管腳分別說明如下: 圖4 Xilinx DLL的典型模型示意圖 CLKIN(源時鐘輸入):DLL輸入時鐘信號,通常來自IBUFG或BUFG。 CLKFB(反饋時鐘輸入):DLL時鐘反饋信號,該反饋信號必須源自CLK0或CLK2X,并通過IBUFG或BUFG相連。 RST(復位):控制DLL的初始化,通常接地。 CLK0(同頻信號輸出):與CLKIN無相位偏移;CLK90與CLKIN 有90度相位偏移;CLK180與CLKIN 有180度相位偏移;CLK270與CL KIN有270度相位偏移。 CLKDV(分頻輸出):DLL輸出

7、時鐘信號,是CLKIN的分頻時鐘信號。DLL支持的分頻系數(shù)為1.5,2,2.5,3,4,5,8 和16。 CLK2X(兩倍信號輸出):CLKIN的2倍頻時鐘信號。 LOCKED(輸出鎖存):為了完成鎖存,DLL可能要檢測上千個時鐘周期。當DLL完成鎖存之后,LOCKED有效。 在FPGA 設(shè)計中,消除時鐘的傳輸延遲,實現(xiàn)高扇出最簡單的方法就是用DLL,把CLK0 與CLKFB相連即可。利用一個DLL可以實現(xiàn)2倍頻輸出,如圖5所示。利用兩個DLL 就可以實現(xiàn)4倍頻輸出,如圖6所示。 圖5 Xilinx DLL 2倍頻典型模型示意圖 圖6 Xilinx DLL 4倍頻典型模型示意圖 2)數(shù)字頻率合

8、成器 DFS 可以為系統(tǒng)產(chǎn)生豐富的頻率合成時鐘信號,輸出信號為CLKFB和CLKFX180,可提供輸入時鐘頻率分數(shù)倍或整數(shù)倍的時鐘輸出頻率方案,輸出頻率范圍為 1.5320 MHz(不同芯片的輸出頻率范圍是不同的)。這些頻率基于用戶自定義的兩個整數(shù)比值,一個是乘因子(CLKFX_ MULTIPLY),另外一個是除因子(CLKFX_ DIVIDE),輸入頻率和輸出頻率之間的關(guān)系為: 比如取CLKFX_MULTIPLY = 3,CLKFX_DIVIDE = 1,PCB上源時鐘為100 MHz,通過DCM 3倍頻后,就能驅(qū)動時鐘頻率在300 MHz的FPGA,從而減少了板上的時鐘路徑,簡化板子的設(shè)計

9、,提供更好的信號完整性。 3) 數(shù)字移相器 DCM 具有移動時鐘信號相位的能力,因此能夠調(diào)整I/O信號的建立和保持時間,能支持對其輸出時鐘進行0度、90度、180度、270度的相移粗調(diào)和相移細調(diào)。 其中,相移細調(diào)對相位的控制可以達到1%輸入時鐘周期的精度(或者50 ps),并且具有補償電壓和溫度漂移的動態(tài)相位調(diào)節(jié)能力。對DCM輸出時鐘的相位調(diào)整需要通過屬性控制PHASE_SHIFT來設(shè)置。PS設(shè)置范圍為 -255到+255,比如輸入時鐘為200 MHz,需要將輸出時鐘調(diào)整+ 0.9 ns的話,PS =(0.9ns/ 5ns)?56 = 46。如果PHASE_ SHIFT值是一個負數(shù),則表示時鐘

10、輸出應(yīng)該相對于CLKIN向后進行相位移動;如果PHASE_SHIFT是一個正值,則表示時鐘輸出應(yīng)該相對于 CLKIN向前進行相位移動。 移相用法的原理圖與倍頻用法的原理圖很類似,只用把CLK2X輸出端的輸出緩存移到CLK90、CLK180或者CLK270端即可。利用原時鐘和移相時鐘與計數(shù)器相配合也可以產(chǎn)生相應(yīng)的倍頻。 4) 數(shù)字頻譜合成器 Xilinx 公司第一個提出利用創(chuàng)新的擴頻時鐘技術(shù)來減少電磁干擾(EMI)噪聲輻射的可編程解決方案。最先在FPGA中實現(xiàn)電磁兼容的EMIControl技術(shù),是 利用數(shù)字擴頻技術(shù)(DSS)通過擴展輸出時鐘頻率的頻譜來降低電磁干擾,減少用戶在電磁屏蔽上的投資。數(shù)

11、字擴頻(DSS)技術(shù)通過展寬輸出時鐘的頻譜,來 減少EMI和達到FCC要求。這一特點使設(shè)計者可極大地降低系統(tǒng)成本,使電路板重新設(shè)計的可能性降到最小,并不再需要昂貴的屏蔽,從而縮短了設(shè)計周期。 2DCM模塊IP Core的使用 例:在ISE中調(diào)用DCM模塊,完成50MHz時鐘信號到75MHz時鐘信號的轉(zhuǎn)換。 1) 在源文件進程中,雙擊“Create New Source”;然后在源文件窗口,選擇“IP (CoreGen & Architecture Wizard)”,輸入文件名“my_dcm”;再點擊“Next”,在選擇類型窗口中,“FPGA Features and Design &g

12、t;Clocking ->Virtex-4”,然后選擇“Single DCM ADV v9.1i”,如圖7所示。 圖7 新建DCM模塊IP Core向?qū)疽鈭D <2> 點擊“Next”,“Finish”進入Xilinx 時鐘向?qū)У慕⒋翱冢鐖D8所示。ISE默認選中CLK0和 LOCKED這兩個信號,用戶根據(jù)自己需求添加輸出時鐘。在“Input Clock Frequency”輸入欄中敲入輸入時鐘的頻率或周期,單位分別是MHz和ns,其余配置保留默認值。為了演示,這里添加了CLKFX 信號,并設(shè)定輸入時鐘為單端信號,頻率為50MHz,其余選項保持默認值。圖8 DCM模塊配置向

13、導界面 <3> 點擊“Next”,進入時鐘緩存窗口,如圖9所示。默認配置為DCM輸出添加全局時鐘緩存以保證良好的時鐘特性。如果設(shè)計全局時鐘資源,用戶亦可選擇“Customize buffers”自行編輯輸出緩存。一般選擇默認配置即可。圖9 DCM模塊時鐘緩存配置向?qū)Ы缑?lt;4> 點擊“Next”,進入時鐘頻率配置窗口,如圖10所示。鍵入輸出頻率的數(shù)值,或者將手動計算的分頻比輸入。最后點擊 “Next”,“Finish”即可完成DCM模塊IP Core的全部配置。本例直接鍵入輸出頻率為75MHz即可。圖10 指定 DCM 模塊的輸出頻率<5> 經(jīng)過上述步驟,即可

14、在源文件進程中看到“my_dcm.xaw”文件。剩余的工作就是在設(shè)計中調(diào)用該DCM IP Core,其例化代碼如下: module dcm_top( CLKIN_IN, RST_IN, CLKFX_OUT, CLKIN_IBUFG_OUT, CLK0_OUT, LOCKED_OUT); input CLKIN_IN; input RST_IN; output CLKFX_OUT; output CLKIN_IBUFG_OUT; output CLK0_OUT; output LOCKED_OUT; mydcm dcm1( .CLKIN_IN(CLKIN_IN), .RST_IN(RST_IN)

15、, .CLKFX_OUT(CLKFX_OUT), .CLKIN_IBUFG_OUT(CLKIN_IBUFG_OUT), .CLK0_OUT(CLK0_OUT), .LOCKED_OUT(LOCKED_OUT) ); endmodule <6> 上述代碼經(jīng)過綜合Synplify Pro綜合后,得到的RTL級結(jié)構(gòu)圖如圖11所示。圖11 DCM模塊的RTL結(jié)構(gòu)示意圖上 述代碼經(jīng)過ModelSim仿真后,其局部仿真結(jié)果如圖12所示。從中可以看出,當LOCKED_OUT信號變高時,DCM模塊穩(wěn)定工作,輸出時鐘頻率 CLKFX_OUT為輸入時鐘CLK_IN頻率的1.5倍,完成了預(yù)定功能。需要注意的是,復位信號RST_IN是高有效。圖12 DCM的仿真結(jié)果示意圖在 實際中,如果在一片F(xiàn)PGA內(nèi)使用兩個DCM,那么時鐘從一個clk輸入,再引到兩個DCM的clk_in。這里,在DCM模塊操作時,需要注意兩點:首 先,用CoreGen生成DCM模塊的時候,cl

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論