日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

7系列mrcc xilinx_XILINX 7系列FPGA_时钟篇

發(fā)布時間:2024/10/8 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 7系列mrcc xilinx_XILINX 7系列FPGA_时钟篇 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

目錄一覽

  • 0.轉(zhuǎn)載說明
  • 1.時鐘結(jié)構(gòu)簡介
  • 2.時鐘區(qū)域簡介
  • 3.時鐘操作法則
  • 4.CMT簡介

0.轉(zhuǎn)載說明

FPGA開發(fā),不知道所使用組件的特性,怎能開發(fā)出優(yōu)秀的設(shè)計呢!!!

老早就想整理7系列FPGA的時鐘結(jié)構(gòu),發(fā)現(xiàn)“小青菜哥哥”這位博主整理得非常棒,因此就轉(zhuǎn)載整理合并過來,供大家參考,當(dāng)然這篇文章基本就是點到為止,更多細(xì)節(jié)內(nèi)容還需要查閱原文官方文檔

7 Series FPGAs Clocking Resources User Guide?www.xilinx.com

以后有機會總結(jié)Ultrascale+系列的時鐘結(jié)構(gòu),敬請期待。

原文鏈接:

xilinx 7系列FPGA時鐘篇(1)_時鐘結(jié)構(gòu)簡介

xilinx 7系列FPGA時鐘篇(2)_時鐘區(qū)域簡介

xilinx 7系列FPGA時鐘篇(3)_時鐘操作法則

xilinx 7系列FPGA時鐘篇(4)_CMT簡介

原文圖片均參考自

7 Series FPGAs Clocking Resources User Guide?www.xilinx.com

1.時鐘結(jié)構(gòu)簡介

說起XILINX的FPGA時鐘結(jié)構(gòu),7系列FPGA的時鐘結(jié)構(gòu)和前面幾個系列的時鐘結(jié)構(gòu)有了很大的區(qū)別,7系列的時鐘結(jié)構(gòu)如圖所示,理解了這張圖,咱們就對7系列的FPGA時鐘結(jié)構(gòu)了如指掌,下面咱們就聊聊這張圖:

  • Clock Region:FPGA內(nèi)部分成了很多個時鐘區(qū)域。
  • Horizontal Center:FPGA被Horizontal Center分成上下兩個部分,每個部分包含16個BUFG
  • Clock Backbone:全局時鐘線的主干道,將FPGA分成了左右兩部分,所有的全局時鐘布線均要從此經(jīng)過。
  • HROW:水平時鐘線,從水平方向貫穿每個時鐘區(qū)域的中心區(qū)域,將時鐘區(qū)域分成上下完全一致的兩部分。全局時鐘線進(jìn)入每個時鐘區(qū)域的邏輯資源時,必須經(jīng)過水平時鐘線。
  • I/O Column:外部信號/時鐘輸入管腳。
  • CMT Backbone:對于相鄰時鐘區(qū)域的時鐘布線,可以不使用珍貴的全局時鐘網(wǎng)絡(luò),而使用每個時鐘區(qū)域都包含的CMT Backbone通道。
  • CMT Column:每個時鐘區(qū)域都包含一個CMT,一個CMT由一個MMCM和一個PLL組成。
  • GT Column:內(nèi)含高速串行收發(fā)器。
  • 總結(jié)來說,FPGA實際上就是被分成很多個大小一樣時鐘區(qū)域,每個時鐘區(qū)域既可單獨工作又可通過全局時鐘Clock BackBone統(tǒng)一工作,同時水平相鄰的時鐘區(qū)域又可通過HROW來統(tǒng)一工作,上下相鄰的時鐘區(qū)域又可通過CMT Backbone統(tǒng)一工作。

    2.時鐘區(qū)域簡介

    上一章咱們介紹了7系列FPGA的整體時鐘架構(gòu),知道了FPGA是由很多個時鐘區(qū)域組成,時鐘區(qū)域之間可以通過Clock Backbone 和CMT Backbone來統(tǒng)一工作。本篇咱們就說一下時鐘區(qū)域的內(nèi)部結(jié)構(gòu),如下圖所示的虛線框內(nèi)即為一個時鐘區(qū)域:

  • BUFG即為全局時鐘緩沖器,從圖上看到,其輸出時鐘通過Clock
  • Backbone可以到達(dá)任意一個時鐘區(qū)域,而且BUFG通過HROW到達(dá)時鐘區(qū)域內(nèi)部的每個邏輯單元。
  • BUFH即為水平時鐘緩沖器,它相當(dāng)于一個功能受限的BUFG,其輸出時鐘只能通過HROW在左右相鄰的時鐘區(qū)域內(nèi)工作。
  • BUFIO即為IO時鐘緩沖器,其輸出時鐘只能作用在一個時鐘區(qū)域的IO寄存器處,無法在FPGA內(nèi)部邏輯使用。
  • BUFR即為區(qū)域時鐘緩沖器,其輸出只能作用在一個時鐘區(qū)域,相當(dāng)于BUFH的閹割版。
  • BUFMR即為多區(qū)域時鐘緩沖器,其輸出作用在本時鐘區(qū)域,還可以通過CMT Backbone作用在上下相鄰兩個時鐘區(qū)域。
  • MMCM、PLL即時鐘管理模塊,用來消除時鐘的延遲、抖動以及產(chǎn)生各種不同頻率的時鐘。
  • CC即為外部時鐘輸入管腳,其管腳在內(nèi)部可以連接到BUFG、BUFR、BUFIO、BUFH、MMCM、PLL等,看具體的應(yīng)用具體連接。下圖所示為更為細(xì)致的CC管腳連接圖。一個時鐘區(qū)域有4對CC管腳,其中2對SRCC,2對MRCC。SRCC作為區(qū)域時鐘使用時,只能連接本時鐘區(qū)域的BUFR和BUFIO。而MRCC則還可以通過BUFMR作用在上下相鄰的時鐘區(qū)域。
  • 咱們自己結(jié)合這幾張圖好好分析下,就會徹底明白一個時鐘區(qū)域內(nèi)的具體時鐘構(gòu)造了,祝大家好運!利用上述所講,下篇咱們將介紹如何在不同應(yīng)用中來操作時鐘。

    3.時鐘操作法則

    上一章咱們介紹了7系列FPGA的時鐘區(qū)域內(nèi)部結(jié)構(gòu),本篇咱們接著介紹如何實際操作時鐘。不說其它的,直接先上兩張圖,大家如果能看懂這兩張圖,那么就不用浪費時間看我接下來的廢話了。。。。。

  • MRCC:被外部差分/單端時鐘驅(qū)動;可以驅(qū)動本時鐘區(qū)域的4個BUFIO、4個BUFR、2個BUFMR、本時鐘區(qū)域的CMT以及上下相鄰時鐘區(qū)域的CMT、16個BUFG、本時鐘區(qū)域以及水平相鄰時鐘區(qū)域的BUFH。
  • SRCC:和MRCC類似,但只作用在本時鐘區(qū)域;其被外部差分/單端時鐘驅(qū)動;可以驅(qū)動本時鐘區(qū)域的4個BUFIO、4個BUFR、本時鐘區(qū)域的CMT以及上下相鄰時鐘區(qū)域的CMT、16個BUFG、本時鐘區(qū)域以及水平相鄰時鐘區(qū)域的BUFH。
  • BUFIO:在相同的時鐘區(qū)域內(nèi),其可以被MRCC、SRCC、MMCM的CLKOUT0~3、CLKFBOUT驅(qū)動,還可以被本時鐘區(qū)域以及上下相鄰區(qū)域的BUFMR驅(qū)動;其只能驅(qū)動本時鐘區(qū)域內(nèi)的ILOGIC、OLOGIC。
  • BUFR:在相同時鐘區(qū)域內(nèi),其可以被MRCC、SRCC、MMCM的CLKOUT0~3、CLKFBOUT驅(qū)動,還可以被本時鐘區(qū)域以及上下相鄰區(qū)域的BUFMR驅(qū)動;其能驅(qū)動本時鐘區(qū)域內(nèi)的CMT、本時鐘區(qū)域內(nèi)所有邏輯單元、以及16個BUFG(不推薦)。
  • BUFMR:其只能被本時鐘區(qū)域的MRCC以及某些GT時鐘驅(qū)動;其能驅(qū)動本時鐘區(qū)域以及上下相鄰區(qū)域的BUFIO、BUFR。
  • BUFG:其能被每個時鐘區(qū)域內(nèi)的SRCC、MRCC、CMT、GT、BUFR(不推薦)、其他BUFG;其可以驅(qū)動CMT、GT時鐘、其他BUFG、FPGA內(nèi)任何邏輯單元、BUFH。
  • BUFH:其能被本時鐘區(qū)域以及左右相鄰時鐘區(qū)域內(nèi)的SRCC、MRCC、CMT、BUFG、GT時鐘驅(qū)動;其能驅(qū)動本時鐘區(qū)域的CMT、GT時鐘、以及本時鐘區(qū)域內(nèi)的所有邏輯單元。
  • GT時鐘之RXUSERCLK、TXUSERCLK:其能被任何BUFG、以及本時鐘區(qū)域內(nèi)的BUFH驅(qū)動;其只能驅(qū)動專用的串行收發(fā)器模塊。
  • GT時鐘之RXOUTCLK、TXOUTCLK:其被專用的串行收發(fā)器模塊驅(qū)動;其能驅(qū)動BUFG、相同時鐘區(qū)域內(nèi)的CMT、BUFMR、BUFH以及相鄰時鐘區(qū)域內(nèi)的BUFH。
  • MGTREFCLK:其被外部MGT時鐘源驅(qū)動;其能驅(qū)動BUFG、相同時鐘區(qū)域內(nèi)的CMT、BUFMR、BUFH以及相鄰時鐘區(qū)域內(nèi)的BUFH。
  • CMT(PLL&MMCM):其能被BUFG、SRCC(本時鐘區(qū)域以及上下相鄰時鐘區(qū)域)、MRCC(本時鐘區(qū)域以及上下相鄰時鐘區(qū)域)、GT(本時鐘區(qū)域)、BUFR(本時鐘區(qū)域或者上下相鄰時鐘區(qū)域加上BUFMR)、BUFMR、MMCM/PLL.CLKOUT0~3驅(qū)動;其能驅(qū)動BUFG、相同時鐘區(qū)域內(nèi)的BUFIO、BUFR、BUFH以及水平相鄰的時鐘區(qū)域的BUFH、MMCM/PLL。
  • 咱們需要用的到時鐘單元以及用法都在上面完整列出了(沒有列出配置時鐘,配置時鐘不需要咱們操作),需要使用的時候就可以按照上述的方式來操作時鐘。這樣是不是使用起來很方便呢?

    順便提一下,CMT即MMCM和PLL很重要,基本上咱們在使用FPGA時,外部輸入時鐘都需要先用CMT進(jìn)行校正、去抖、分頻等,其輸出時鐘才能被咱們使用。所以下一篇咱們就單獨說一下CMT這個時鐘模塊之中的重中之重!

    4.CMT簡介

    上篇咱們僅僅簡要的介紹了時鐘的用法,并未詳細(xì)的說明,主要是因為很多時鐘用法是針對特定的應(yīng)用需求,無法一一介紹。本篇咱們將重提上篇的CMT時鐘模塊,聊一聊它的用法。可以這么說,每個靠譜的FPGA應(yīng)用里都應(yīng)該用到CMT模塊。

    在7系列FPGA里,每一個時鐘區(qū)域?qū)?yīng)一個CMT(clock management tile),CMT由1個MMCM(mixed-mode clock manager)和1個PLL(phase-locked loop)組成,如圖1所示為其輸入/輸出連接圖。

    MMCM、PLL的功能可以總結(jié)為3點:

    • 頻率綜合:將外部輸入的固定頻率時鐘調(diào)理成多路可調(diào)節(jié)頻率的時鐘。
    • 去抖動(谷歌時鐘抖動的含義,這里不具體介紹)。
    • 去偏斜(谷歌時鐘抖動的含義,這里不具體介紹)。

    咱們這里強調(diào)下,7系列FPGA里的PLL只是MMCM的功能子集。這里咱們先介紹MMCM,如下圖所示為其結(jié)構(gòu)框圖:

    上圖咱們一目了然,MMCM有2個時鐘輸入,使用時任選1路即可,輸入時鐘經(jīng)過PFD(phase-frequency detector),CP(charge pump),LF(loop filter)后產(chǎn)生一定幅度的電壓輸入到VCO,VCO產(chǎn)生頻率與輸入電壓幅度成比例的高頻時鐘,再被除以M倍并反饋到PFD。因此VCO的輸出頻率是一個穩(wěn)定的、輸入頻率M倍的高頻時鐘,該時鐘除以不同的倍數(shù)(用戶可調(diào))即可輸出時鐘clkout0clkout6。另外第0路輸出和反饋輸出是可以被分?jǐn)?shù)除法,且第0路第3路提供反相180度的輸出,VCO的輸出還可以精確調(diào)整相位,這是7系列FPGA特有的。

    咱們再看PLL的結(jié)構(gòu),如下圖所示:

    其結(jié)構(gòu)與MMCM大體一致,但沒有反相輸出、分?jǐn)?shù)倍數(shù)的除法、精確的動態(tài)相位調(diào)整以及CLKOUT6。

    這里強調(diào)一下:MMCM、PLL均可實現(xiàn)時鐘整數(shù)倍的頻率綜合、去抖、去偏斜,但MMCM還可以實現(xiàn)分?jǐn)?shù)倍的頻率綜合、反相時鐘輸出以及動態(tài)的時鐘相位調(diào)整。當(dāng)然,對于咱們一般的應(yīng)用來說,用不到MMCM的這些高端功能,兩者使用沒啥區(qū)別。

    接下來咱們給出xilinx官方推薦的幾種MMCM/PLL的使用方法:

    圖4為最最常用的用法,目前被使用的最多,這種方式設(shè)計保留了輸入與輸出時鐘之間的相位關(guān)系,時鐘性能最高,系統(tǒng)最穩(wěn)定,但需要使用2個BUFG,BUFG在FPGA里面屬于稀缺資源,只有32個,對于某些特別復(fù)雜的系統(tǒng)可能就捉襟見肘了。

    圖5是將BUFG換成了BUFH,其系統(tǒng)性能是優(yōu)于BUFG的,但前一篇咱們提到過,BUFH的使用范圍只有左右相鄰的時鐘區(qū)域,對于邏輯資源使用量超過2個時鐘區(qū)域的應(yīng)用肯定就不合適了。

    圖6為時鐘的內(nèi)部反饋應(yīng)用,由于沒有引入反饋BUFG的噪聲,因此輸出時鐘的噪聲性能更好,但失去了輸入與輸出時鐘之間的相位關(guān)系,所有這種用法適用于高精度的頻率綜合,對相位關(guān)系不太關(guān)注的應(yīng)用。

    圖7為零延遲的時鐘應(yīng)用,這種應(yīng)用適用于單個外部時鐘源供給需要保持相位關(guān)系的多個數(shù)字系統(tǒng)。

    到此咱們的7系列FPGA的時鐘篇就算是簡簡單單的介紹完了,咱們下一部分就介紹7系列FPGA的內(nèi)部邏輯資源吧,所有數(shù)字系統(tǒng)的功能實現(xiàn)都得靠它啦~


    歡迎大家關(guān)注我的微信公眾號——小白倉庫 原創(chuàng)經(jīng)驗資料分享:包含但不僅限于FPGA、ARM、RISC-V、Linux、LabVIEW等軟硬件開發(fā),另外分享生活中的趣事以及感悟。目的是建立一個平臺記錄學(xué)習(xí)過的知識,并分享出來自認(rèn)為有用的與感興趣的道友相互交流進(jìn)步。

    總結(jié)

    以上是生活随笔為你收集整理的7系列mrcc xilinx_XILINX 7系列FPGA_时钟篇的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。