• 正文
    • 引言:
    •  
    • 1.時鐘資源架構(gòu)概述
    • 2. 7系列FPGA時鐘與6系列FPGA的區(qū)別
    • 3.時鐘連接概述
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

Xilinx 7系列FPGA架構(gòu)之時鐘資源(一)

2021/03/09
1408
閱讀需 23 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

引言:

從本文開始,我們陸續(xù)介紹Xilinx 7系列FPGA的時鐘資源架構(gòu),熟練掌握時鐘資源對于FPGA硬件設(shè)計工程師軟件設(shè)計工程師都非常重要。本章概述7系列FPGA時鐘,比較了7系列FPGA時鐘和前幾代FPGA差異,總結(jié)7系列FPGA中的時鐘連接。有關(guān)7系列FPGA時鐘資源使用的詳細(xì)信息,請關(guān)注后續(xù)文章。

時鐘資源架構(gòu)概述

7系列FPGA與前一代FPGA時鐘資源差異

  • 時鐘資源連接概述

 

1.時鐘資源架構(gòu)概述

1.1 時鐘資源概述

7系列FPGA時鐘資源通過專用的全局和區(qū)域I/O和時鐘資源管理符合復(fù)雜和簡單的時鐘要求。時鐘管理塊(CMT)提供時鐘頻率合成、減少偏移和抖動過濾等功能。非時鐘資源,如本地布線,不推薦用于時鐘功能。

  • 全局時鐘樹允許同步模塊時鐘跨越整個FPGA器件。I/O時鐘和區(qū)域時鐘樹允許最多為三個垂直相鄰的時鐘區(qū)域提供時鐘。每個CMT包含一個混合模式時鐘管理器(MMCM)和一個鎖相環(huán)(PLL),位于I/O列旁邊的CMT列中。

為了提供時鐘,每個7系列器件被劃分為時鐘區(qū)域。

  • 時鐘區(qū)域的數(shù)量隨器件大小而變化,從最小器件的一個時鐘區(qū)域到最大器件中的24個時鐘區(qū)域。時鐘區(qū)域包括50個CLB和一個I/O bank(50個I/O)的區(qū)域中的所有同步模塊(例如:CLB、I/O、串行收發(fā)器、DSP、塊RAM、CMT),其中心有一個水平時鐘行(HROW)。

每個時鐘區(qū)域從HROW向上和向下跨越25個CLB,并水平跨越器件的每一側(cè)。

1.2 時鐘布線資源概述

每個I/O bank包含支持時鐘的輸入引腳,將用戶時鐘帶到7系列FPGA時鐘路由資源上。與專用時鐘緩沖器一起,時鐘輸入管腳將用戶時鐘引入到:

  • 器件相同上/下半部分的全局時鐘線相同I/O Bank和垂直相鄰的I/O Bank的時鐘線相同時鐘區(qū)域和垂直相鄰的時鐘區(qū)域的區(qū)域時鐘線同一時鐘區(qū)域內(nèi)的CMT和有限制的情況下的垂直相鄰的時鐘區(qū)域

每個7系列器件有32條全局時鐘線,可以對整個器件中的所有時序資源進(jìn)行時鐘控制和提供控制信號。全局時鐘緩沖器(BUFGCTRL,在本用戶指南中被簡化為BUFG)驅(qū)動全局時鐘線,用于訪問全局時鐘線。每個時鐘區(qū)域可以使用時鐘區(qū)域中的12條水平時鐘線來支持多達(dá)12條全局時鐘線。

全局時鐘緩沖器:

  • 可用作時鐘使能電路,以使能或禁用跨越多個時鐘區(qū)域的時鐘

 

可用作glitch-free multiplexer:

 

在兩個時鐘源之間選擇

 

通常由CMT驅(qū)動,用于:

 

消除時鐘分布延遲

  • 從故障時鐘源切換
  • 調(diào)整相對于另一個時鐘的時鐘延遲

水平時鐘緩沖器(BUFH/BUFHCE)允許通過水平時鐘行訪問單個時鐘區(qū)域中的全局時鐘線。它也可以作為時鐘使能電路(BUFHCE)獨立地使能或禁用跨越單個時鐘區(qū)域的時鐘。使用每個時鐘區(qū)域中的12條水平時鐘線可以支持多達(dá)12個時鐘。每個7系列FPGA都有區(qū)域時鐘樹和I/O時鐘樹,可以為一個時鐘區(qū)域內(nèi)對所有時序資源提供時鐘。每個器件還具有多時鐘區(qū)域緩沖器(BUFMR),允許區(qū)域和I/O時鐘跨越最多三個垂直相鄰的時鐘區(qū)域。

  • I/O時鐘緩沖器(BUFIO)驅(qū)動I/O時鐘樹,提供對同一I/O bank中所有時序I/O資源的訪問。區(qū)域時鐘緩沖器(BUFR)驅(qū)動區(qū)域時鐘樹,該樹驅(qū)動同一時鐘區(qū)域中的所有時鐘目的地,并可編程輸入時鐘頻率。緊鄰IOB中的可編程串行器/解串器器(請參閱UG471 7系列FPGA SelectIO Resources用戶指南中的高級選擇邏輯資源一章),BUFIO和BUFR時鐘緩沖區(qū)允許源同步系統(tǒng)跨時鐘域,而無需使用額外的邏輯資源。當(dāng)與相關(guān)的BUFR或BUFIO一起使用時,可以使用多時鐘區(qū)域緩沖器(BUFMR)驅(qū)動相鄰時鐘區(qū)域和I/O時鐘樹。在一個時鐘區(qū)域或I/O bank中最多可支持四個唯一的I/O時鐘和四個唯一的區(qū)域時鐘。

高性能時鐘路由將CMT的某些輸出以非常低的抖動、最小的占空比失真的連接到I/O上。

1.3 CMT 概述

每個7系列FPGA最多有24個CMTs,每個CMT由一個MMCM和一個PLL組成。MMCMs和PLL用作頻率合成器,用于非常寬的頻率范圍,用作外部或內(nèi)部時鐘的抖動濾波器,以及低偏移時鐘。

PLL包含MMCM功能的一個子集。7系列FPGA時鐘輸入連接允許多個資源向MMCM和PLL提供參考時鐘。

7系列FPGA MMCMs具有任意方向的無限精細(xì)相移能力,可用于動態(tài)相移模式。MMCMs在反饋路徑或一個輸出路徑中也有一個小數(shù)計數(shù)器,使得頻率合成能力能夠進(jìn)一步細(xì)化。

LogiCORE™ IP時鐘向?qū)Э捎糜趲椭肕MCMs和PLL在7系列FPGA設(shè)計中創(chuàng)建時鐘網(wǎng)絡(luò)。圖形用戶界面用于采集時鐘網(wǎng)絡(luò)參數(shù)。計時向?qū)нx擇適當(dāng)?shù)腃MT資源,并以最佳方式配置CMT資源和關(guān)聯(lián)的時鐘路由資源。

1.1.3 時鐘緩沖、管理和布線

圖1是7系列FPGA時鐘結(jié)構(gòu)的高級視圖。垂直時鐘中心線(①時鐘主干線)將器件劃分為相鄰的左右區(qū)域,而水平中心線(②)將器件劃分為頂部和底部側(cè)面。時鐘主干中的資源被鏡像到水平相鄰區(qū)域的兩側(cè),從而將某些時鐘資源擴(kuò)展到水平相鄰區(qū)域。頂部和底部(③)分隔兩組全局時鐘緩沖器(BUFGs),并對它們的連接方式施加了一些限制。但是,BUFGs不屬于時鐘區(qū)域,可以到達(dá)器件上的任何時鐘點。所有水平時鐘資源包含在時鐘區(qū)域水平時鐘行(HROW)(④)的中心,而垂直的、非區(qū)域的時鐘資源包含在時鐘主干或CMT主干中。

圖1、7系列FPGA高級時鐘結(jié)構(gòu)視圖圖2是一個時鐘區(qū)域內(nèi)可用時鐘資源及其基本連接的高層次概述。

 

圖2、時鐘區(qū)域的基本視圖在圖中,我們可以看到:

 

  • 全局時鐘緩沖器(①)可以通過HROW進(jìn)入每個區(qū)域,即使物理空間上不在該區(qū)域。

水平時鐘緩沖器(②BUFH)通過HROW驅(qū)動該區(qū)域的每個時鐘點。

 

BUFGs和BUFHs在HROW中共享路由路徑(③)。I/O緩沖器(BUFIO)和區(qū)域時鐘緩沖器(BUFR)位于I/O bank內(nèi)部(④)。BUFIO只驅(qū)動I/O時鐘資源,而BUFR驅(qū)動I/O資源和邏輯資源。BUFMR支持BUFIOs和BUFRs的多區(qū)域鏈接。時鐘輸入(芯片*CC管腳⑤)將外部時鐘連接到器件上的時鐘資源。某些資源可以通過CMT主干時鐘網(wǎng)絡(luò)(⑥)連接到頂部和底部的區(qū)域。

圖3顯示了器件右邊緣單個時鐘區(qū)域中時鐘的更詳細(xì)視圖。在該圖中,我們可以看到外部時鐘輸入管腳SRCC和MRCC進(jìn)入I/O Bank后可以驅(qū)動的時鐘資源以及CMT資源與外部互聯(lián)情況。

圖3、單時鐘區(qū)域(器件右側(cè))

 

圖4顯示了更詳細(xì)的全局BUFG和區(qū)域BUFH/CMT/CC引腳連接以及一個區(qū)域內(nèi)可用資源的數(shù)量(此處顯示右側(cè)區(qū)域)。

圖4、BUFG/BUFH/CMT時鐘區(qū)域細(xì)節(jié)在圖4中,我們可以看到:

 

  • SRCC和MRCC時鐘的輸入引腳中的任何一個都可以驅(qū)動CMT和BUFH中的PLL/MMCM。BUFG顯示位于該區(qū)域中,但可以實際位于時鐘主干的其他位置。BUFG和BUFH在HROW中共享12條路由,可以驅(qū)動該區(qū)域內(nèi)的所有時鐘點。BUFGs也可以驅(qū)動BUFHs(圖4中未顯示),允許在其他全局時鐘分布上單獨啟用時鐘(CE)。一個GT Quad有十個專用的通道來驅(qū)動CMT和時鐘緩沖器。位于I/O bank中的BUFRs有四個走線驅(qū)動邏輯、CMT和BUFG中的時鐘點。CMT可以使用CMT主干網(wǎng)驅(qū)動相鄰區(qū)域中的其他CMT,但有局限性。類似地,時鐘輸入管腳可以在相同的限制下驅(qū)動相鄰區(qū)域的CMT。時鐘輸入管腳在器件的同一頂部/底部的任何地方可以驅(qū)動BUFG。CMT主干網(wǎng)中有四條走線支持垂直區(qū)域之間的連接。

邏輯互連驅(qū)動BUFG和BUFH的CE引腳。邏輯互連也可以將時鐘驅(qū)動到相同的緩沖區(qū),但必須小心,因為時間是不可預(yù)測的。圖5顯示了BUFR/BUFMR/BUFIO時鐘區(qū)域詳細(xì)信息。

圖5、BUFR/BUFMR/BUFIO時鐘區(qū)域詳細(xì)信息在圖5中,我們可以了解到:

 

  • 每個I/O bank包含四個BUFIO和四個BUFRs。這些時鐘緩沖器中的每一個可以由專用的輸入時鐘管腳對(_CC管腳)驅(qū)動,或者可以直接由MMCM的特定輸出時鐘驅(qū)動。兩個支持時鐘的輸入管腳對,稱為MRCCs,支持多區(qū)域時鐘方案。一個MRCC管腳對可以驅(qū)動一個特定的BUFMR,而該BUFMR又可以驅(qū)動相同和相鄰區(qū)域中的BUFIOs和BUFRs,從而促進(jìn)多區(qū)域/bank接口。GT Quad也可以驅(qū)動BUFMRs。MMCM<3:0>輸出有一個專用的高性能差分路徑到BUFRs和BUFIO。此功能也稱為高性能時鐘(HPC)。

圖6、7K325T架構(gòu)布局

 

盡管所有7系列器件都具有相同的基本架構(gòu),但系列和系列內(nèi)器件之間存在一些架構(gòu)差異。每7系列FPGA在器件的左邊緣至少有一個完整的I/O列。GT可以是7系列FPGA支持的任何一個串行收發(fā)器(GTP、GTX,或GTH)。帶有GTs的器件要么在器件的右邊緣有一個GTs和I/O的混合列(一些Kintex-7器件和一些Artix-7器件),要么在器件的右邊緣有一個完整的GT列(一些Kintex-7器件和一些Virtex-7器件)和一個完整的I/O列在器件的右側(cè)。其他Virtex-7器件的左右邊緣都有完整的GT列,左右兩側(cè)都有完整的I/O列側(cè)面。Artix-7200t器件在時鐘列的頂部和底部有GTP收發(fā)器。

2. 7系列FPGA時鐘與6系列FPGA的區(qū)別

7系列FPGA時鐘具有與Virtex-6 FPGA類似的結(jié)構(gòu),并支持許多相同的功能。但是,不同的時鐘組件及其功能存在一些架構(gòu)差異和修改。與Spartan-6 FPGA相比,它在結(jié)構(gòu)和功能上都有一些顯著的變化。一些Spartan-6 FPGA時鐘原語不再可用,取而代之的是更強(qiáng)大、更簡單的結(jié)構(gòu)。

2.1 與Virtex-6 FPGA的不同

  • 7系列FPGA基本BUFIO時鐘功能沒有改變,唯一的例外是BUFIO現(xiàn)在只跨越一個Bank。相鄰Bank的直接時鐘被一個新的時鐘緩沖器所取代?,F(xiàn)在每個Bank有四個BUFIO,另外,BUFR的基本目的沒有改變。然而,現(xiàn)在BUFR只直接跨越一個時鐘區(qū)域。現(xiàn)在每個區(qū)域有四個BUFRs和四個區(qū)域時鐘(軌道)。7系列FPGA引入了一種新的緩沖類型:

 

BUFMR/BUFMRCE。BUFMR/BUFMRCEs驅(qū)動BUFIOs和/或BUFRs在同一垂直相鄰位置區(qū)域。他們還提供相同的多時鐘區(qū)域/多組時鐘路由,可用于支持相同三個時鐘區(qū)域/組的Virtex-6 FPGA能力.BUFMRCE具有可選擇的同步或異步切換功能。7系列FPGA不再支持Virtex-6系列中的全局時鐘(GC)輸入引腳。每列4個時鐘輸入引腳/對替換GCs,支持時鐘的輸入引腳的連接性得到了增強(qiáng),以支持以前的GC功能。

全局時鐘多路復(fù)用器BUFGMUX添加了一個屬性CLK_SEL_TYP,用于允許兩個輸入時鐘的同步或異步時鐘切換(以前僅通過忽略端口可用)。

BUFHCE有一個增強(qiáng)的時鐘使能,允許輸入時鐘的同步或異步使能。

CMT現(xiàn)在包含一個MMCM和一個PLL(MMCM的一個子集),而不是兩個MMCM,以及保留的專用內(nèi)存接口邏輯。CMT列位于SelectIO旁邊™ CMT中的列/列組,并具有對I/O的專用訪問權(quán)限以獲得高性能。全局時鐘緩沖區(qū)仍然位于由驅(qū)動的I/O列之間的設(shè)備的垂直中心CMTs.直接不再支持CMT內(nèi)的級聯(lián)。直接級聯(lián)到相鄰的cmt是可能的,但是由于資源有限而受到限制。級聯(lián)到相鄰CMT之外的其他CMT會導(dǎo)致源和目標(biāo)MMCMs/pll之間的相位偏移,并且需要特殊的屬性設(shè)置。

分?jǐn)?shù)除法器不再共享輸出計數(shù)器。這將釋放這些計數(shù)器用于其他用途。分?jǐn)?shù)計數(shù)器增加了靜態(tài)相移功能。時鐘保持功能不再可用MMCMs支持?jǐn)U頻

2.2 與Spartan-6 FPGA的不同

  • Spartan-6體系結(jié)構(gòu)獨有的一些Spartan-6 FPGA時鐘電路拓?fù)?、功能和塊不受支持,已被7系列FPGA時鐘功能所取代。7系列設(shè)備不直接支持DCM_SP,DCM_CLKGEN, BUFIO2, BUFIO2_2CLK, BUFIO2FB, BUFPLL, and BUFPLL_MCB等特性和功能。PLL是MMCM的一個子集,具有相同的性能(最小CLKIN/PFD和最小/最大VCO頻率除外)、一些連接限制和一些降低的功能。與以前的Spartan®FPGA PLL相比,7系列FPGA PLL增加了掉電、輸入時鐘切換和級聯(lián)到相鄰CMT。PLL與BUFIO或BUFR沒有直接連接。在7系列FPGA中,沒有直接替代BUFIO2和BUFIO2 clk原句的方法。使用BUFIO和BUFR代替推薦的連接來驅(qū)動ILOGIC和Logic。Spartan-6 FPGA BUFIO2專用輸入路由從GCLK到CMT和全局時鐘緩沖器不再受支持。要遷移到7系列FPGA,請使用來自CCIO引腳的專用輸入路由。在7系列FPGA中沒有直接等效于Spartan-6 FPGA BUFPLL。要進(jìn)行遷移,請使用BUFIO和BUFR以及ILOGIC和logic的推薦連接。MMCME2 CLKOUT[0:3]的高性能時鐘路由取代了BUFPLL的專用路由。ISERDES和OSERDES電路基于Virtex-6體系結(jié)構(gòu)。在7系列FPGA中,不再需要BUFIO2FB基元。對于MMCM和PLL反饋連接,CLKFBIN可以直接連接到全局時鐘緩沖器、輸入引腳或CLKFBOUT,具體取決于所使用的反饋。Spartan-6 FPGA僅支持BUFH。7系列FPGA BUFHCE原語添加了禁用時鐘的功能,以在由該資源驅(qū)動的時鐘區(qū)域中實現(xiàn)潛在的節(jié)能。7系列FPGA新的緩沖區(qū)BUFMR/BUFMRCE驅(qū)動相同和垂直相鄰時鐘區(qū)域中的BUFIO和/或BUFRs。當(dāng)與BUFIO或BUFR一起使用時,BUFMR/BUFMRCE允許MRCC輸入訪問相鄰時鐘中的BUFIO和BUFR區(qū)域。BUFMRCE具有可選擇的同步或異步切換功能。

Spartan-6 FPGA設(shè)計遷移的一個新原語是BUFR。當(dāng)與BUFIO一起使用時,BUFRs功能將取代BUFIO2、BUFIO2 clk和BUFPLL功能。在每個時鐘區(qū)域中有四個BUFR。

 

Spartan-6 FPGA設(shè)計遷移的另一個新原語是BUFIO。當(dāng)與BUFR一起使用時,BUFIO功能將取代BUFIO2、BUFIO2 clk和BUFPLL功能。與Spartan-6體系結(jié)構(gòu)中的兩個DCM和一個PLL不同,7系列FPGA使用的CMT包含一個MMCM、一個PLL和專用內(nèi)存接口邏輯,這些邏輯在此時保留給Xilinx使用。這些功能現(xiàn)在支持DCM及其相關(guān)功能。CMT位于與SelectIO列相鄰的單獨列中,具有對I/O的專用訪問權(quán)限。DCM_SP和DCM_CLKGEN不再可用,它們的功能現(xiàn)在在MMCMs和PLL中受支持。

 

7系列FPGA不再支持全局時鐘(GCLK)輸入。現(xiàn)在,每一個支持Spartan-6 FPGA GCLK引腳功能的銀行都有四個支持時鐘的輸入引腳。

 

對于Spartan-6 FPGA設(shè)計人員來說,MMCM是一個新的功能塊。MMCM增加了分頻、精細(xì)相移、動態(tài)相移、反向時鐘輸出、CLKOUT6到CLKOUT4級聯(lián)以及其他一些功能。使用CLKOUT[0:3],MMCMs到BUFIO/BUFR的HPC連接取代了到BUFPLL的直接路由連接。還提供了更廣泛的DRP。對于通用高速I/O時鐘,使用PLL不再是推薦的CMT功能。PLL與BUFIO或BUFR沒有直接連接。不再支持CLKOUT0反饋。將MMCM用于高速I/O接口。級聯(lián)連接使用有限的CMT主干資源。還有一種新的斷電模式。完全支持輸入時鐘切換。Spartan-6 FPGA和7系列FPGA的工作范圍不同。DRP功能仍然可用。DRP功能位置和地址已更改。Spartan-6 FPGA DCM_SP不再受支持。要遷移到7系列FPGA,請使用MMCM和PLL.

Spartan-6 FPGA DCM_CLKGEN在7系列FPGA中不受直接支持。使用MMCM或PLL低帶寬輸入抖動濾波。還可以使用MMCM或PLL的DRP參考設(shè)計來完成M/D值的動態(tài)重新編程。

3.時鐘連接概述

表1對7系列FPGA時鐘連接進(jìn)行了總結(jié)。

表1、7系列FPGA時鐘連接總結(jié)

賽靈思

賽靈思

賽靈思(英語:Xilinx)是一家位于美國的可編程邏輯器件的生產(chǎn)商。該公司發(fā)明了現(xiàn)場可編程邏輯門陣列,并由此成名。賽靈思還是第一個無廠半導(dǎo)體公司(Fabless)。28nm時代,賽靈思提出All Programmable 的概念,從單一的FPGA企業(yè)戰(zhàn)略轉(zhuǎn)型為All Programmable FPGA、 SoC 和 3D IC 的全球領(lǐng)先提供商。且行業(yè)領(lǐng)先的器件與新一代設(shè)計環(huán)境以及 IP 完美地整合在一起,可滿足客戶對可編程邏輯乃至可編程系統(tǒng)集成的廣泛需求賽靈思于1984年創(chuàng)建于美國加利福尼亞州的硅谷,總部位于硅谷核心的圣何塞,并在科羅拉多州、愛爾蘭、新加坡 印度、中國、日本擁有分支機(jī)構(gòu)

賽靈思(英語:Xilinx)是一家位于美國的可編程邏輯器件的生產(chǎn)商。該公司發(fā)明了現(xiàn)場可編程邏輯門陣列,并由此成名。賽靈思還是第一個無廠半導(dǎo)體公司(Fabless)。28nm時代,賽靈思提出All Programmable 的概念,從單一的FPGA企業(yè)戰(zhàn)略轉(zhuǎn)型為All Programmable FPGA、 SoC 和 3D IC 的全球領(lǐng)先提供商。且行業(yè)領(lǐng)先的器件與新一代設(shè)計環(huán)境以及 IP 完美地整合在一起,可滿足客戶對可編程邏輯乃至可編程系統(tǒng)集成的廣泛需求賽靈思于1984年創(chuàng)建于美國加利福尼亞州的硅谷,總部位于硅谷核心的圣何塞,并在科羅拉多州、愛爾蘭、新加坡 印度、中國、日本擁有分支機(jī)構(gòu)收起

查看更多

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

專注FPGA技術(shù)開發(fā),涉及Intel FPGA、Xilinx FPGA技術(shù)開發(fā),開發(fā)環(huán)境使用,代碼風(fēng)格、時序收斂、器件架構(gòu)以及軟硬件項目實戰(zhàn)開發(fā),個人公眾號:FPGA技術(shù)實戰(zhàn)。