Xilinx之7系列時鐘資源與時鐘架構(gòu)
一、前言
????????賽靈思7系列器件是之前使用較廣的器件,工藝制程為28nm,包含四類:Spartan,Artix,Kintex,Virtex,都支持低功耗,本文內(nèi)容主要是參考官網(wǎng)7系列的時鐘手冊UG472,部分增加了自己的理解。
二、時鐘架構(gòu)
2.1?時鐘區(qū)域
????????整個芯片被劃分成了不同的時鐘區(qū)域Clock region。
時鐘區(qū)域數(shù)量:不同的系列數(shù)量不同,最少1個,最多24個
時鐘區(qū)域組成:包含了所有的同步單元,例如可編程邏輯塊CLB,I/O,串行收發(fā)器,數(shù)字信號處理DSP,塊狀RAM,時鐘管理單元CMT,在縱向上跨越50個CLB,包含了1個I/O bank,水平方向中間位置包含了一個水平時鐘行HROW。因此,在HROW的上下兩側(cè)各有25個CLB,下圖為Kintex器件的一個時鐘區(qū)域圖,圖中數(shù)量最多小正方形單元格就是CLB,左側(cè)紅色方框的為I/O bank區(qū)域,水平中間位置有明顯間距的為HROW。

2.2 時鐘緩沖器
? ? 2.2.1?全局時鐘緩沖器BUFG/BUFGTRL
????全局時鐘緩沖器BUFGCTRL驅(qū)動全局時鐘線,也只能用于全局時鐘線中,BUFGCTRL可簡化為BUFG,全局時鐘緩沖器主要功能有以下幾點
a.可以作為一個時鐘使能電路讓允許或禁止時鐘跨域多個時鐘區(qū)域
b.可以在兩個時鐘源中作為一個抗干擾的多路選擇器,也可將失敗的時鐘源切換掉
c.可以被CMT驅(qū)動,從而減小時鐘分布時延,并且可以調(diào)節(jié)和相關(guān)時鐘間的時延
? ? 2.2.2?水平時鐘緩沖器BUFH/BUFHCE
????????水平時鐘緩沖器BUFH/BUFHCE可以通過HROW讓全局時鐘線進入到單個的時鐘區(qū)域中,BUFHCE是帶有使能端口CE,端口CE控制BUFHCE是否跨越一個單獨的時鐘區(qū)域,每個時鐘區(qū)域支持12個水平時鐘線。
????????全局時鐘可例化的原語有7種,通過原因可以直接進行例化使用時鐘緩沖器。輸入輸出端口區(qū)別如下表。

? ? ? 2.2.3?I/O時鐘緩沖器BUFIO
????? 每個I/O時鐘緩沖器可以驅(qū)動I/O時鐘樹,I/O時鐘樹可以讓時鐘不斷地進入該I/O bank內(nèi)的I/O資源。在每個區(qū)域中,有4個獨有的I/O時鐘可以驅(qū)動該區(qū)域的I/O bank。
? ? ? ?2.2.4?區(qū)域時鐘緩沖器BUFR
????????區(qū)域時鐘緩沖器可以驅(qū)動區(qū)域時鐘樹,區(qū)域時鐘樹可以驅(qū)動該區(qū)域的所有時鐘單元,也可以通過代碼進行分頻。在每個區(qū)域中,有4個獨有的區(qū)域時鐘可以驅(qū)動該區(qū)域。
? ? ? ? 2.2.5?多時鐘區(qū)域緩沖器BUFMR
????????BUFMR可以驅(qū)動垂直方向上3個相鄰區(qū)域內(nèi)的BUFR和BUFIO。
2.3 時鐘布線資源
? ? ????每個I/O bank包含時鐘輸入引腳,能夠?qū)⑼獠坑脩魰r鐘帶進FPGA的時鐘布線資源上,在時鐘布線資源上有時鐘緩沖器,時鐘緩沖器又可將時鐘引入全局時鐘線和I/O時鐘線,區(qū)域時鐘線和CMT。全局時鐘線一般位于芯片中間位置,I/O時鐘線在I/O bank內(nèi),不同I/O bank在垂直方向上相鄰,不同時鐘區(qū)域內(nèi)的區(qū)域時鐘線在垂直方向上是相鄰的。每個時鐘區(qū)域可支持12個全局時鐘線,12個全局時鐘線再到達該區(qū)域的12個水平時鐘線。
????????時鐘架構(gòu)如下圖,時鐘主干Clock backbone將芯片分為了左右兩部分,BUFG位于時鐘主干道上。水平中心線將時鐘區(qū)域分為了頂側(cè)和底側(cè),同時也將bufg劃分為了上半?yún)^(qū)和下半?yún)^(qū),每個半?yún)^(qū)個16個BUFG,這個規(guī)則將會帶來一些跨半?yún)^(qū)的限制。但BUFG不屬于任何一個時鐘區(qū)域,并且可以到達芯片各處。所有的水平時鐘資源是位于每個時鐘區(qū)域水平中間位置的HROW上。垂直方向上非區(qū)域內(nèi)的時鐘資源必屬于時鐘主干或CMT上

2.4 時鐘區(qū)域資源圖
????單個時鐘區(qū)域內(nèi)的時鐘緩沖器關(guān)系如下圖。BUFG雖然不在時鐘區(qū)域內(nèi),但可以通過BUFH驅(qū)動每一個時鐘區(qū)域。BUFH通過HROW可以驅(qū)動區(qū)域內(nèi)的任意一個時鐘單元,BUFH和BUFG共享HROW布線軌道。BUFR和BUFIO位于I/O bank內(nèi)部,BUFIO只能驅(qū)動區(qū)域內(nèi)的I/O時鐘資源,但BUFR即可驅(qū)動I/O時鐘資源,也可驅(qū)動區(qū)域內(nèi)其他邏輯資源。BUFMR可以通過CMT backbone驅(qū)動本區(qū)域,上下鄰近區(qū)域,共3個時鐘區(qū)域的BUFR和BUFIO。

????????更詳細的區(qū)域內(nèi)部驅(qū)動關(guān)系可看Figure 1-3,左側(cè)可看出有2個SRCC引腳和2個MRCC引腳,共4個外部時鐘輸入端口。MRCC和SRCC的區(qū)別是MRCC可以連接到BUFMR從而驅(qū)動上下鄰近區(qū)域的BUFR,BUFI/O,SRCC只能驅(qū)動本區(qū)域的BUFR,BUFI/O。

????????圖Figure 1-4更加詳細展示了時鐘區(qū)域內(nèi)部中各種時鐘緩沖器的時鐘源和驅(qū)動關(guān)系,圖中帶斜杠和數(shù)字的表示線路的數(shù)量,如BUFG有32路。
????????每個區(qū)域內(nèi)的4個時鐘輸入端口CC可以驅(qū)動CMT內(nèi)的PLL,MMCM,BUFH。
????????一個GT 有10條軌道驅(qū)動CMT和時鐘主干道上的時鐘緩沖器。
????????BUFR有4條軌道驅(qū)動邏輯單元的時鐘,CMT和BUFG
????????CMT可以通過CMT Backbone驅(qū)動鄰近的CMT,也可以通過BUFH驅(qū)動水平相鄰的時鐘區(qū)域,以及所有的BUFG。

????????圖Figure 1-5展示了區(qū)域內(nèi)BUFR/BUFMR/BUFIO的驅(qū)動關(guān)系,每個I/O bank包含了4個BUFIO和4個BUFR,這些時鐘緩沖器都可以被區(qū)域內(nèi)4個外部時鐘輸入端口CC或者是MMCM的時鐘輸出口直接驅(qū)動。2個MRCC輸入端口可以驅(qū)動BUFMR,從而驅(qū)動上下相鄰區(qū)域的BUFR和BUFIO。同時,GT也可以驅(qū)動BUFMR。

三、時鐘管理單元
? ? ? ??時鐘架構(gòu)不僅需要時鐘緩沖器,還需要時鐘管理單元,對時鐘進行相關(guān)的處理,從而符合設(shè)計的需要。時鐘管理單元CMT具有分頻,倍頻,對內(nèi)部或外部時鐘去偏斜,去抖動的功能,7系列的FPGA有多大24個CMT,每個CMT包含一個混合模式時鐘管理器MMCM和一個鎖相環(huán)PLL,PLL可看做一個功能簡化的MMCM,位于I/O列旁邊的CMT列中。MMCM和PLL從IBUFG、BUFG、BUFR、BUFH、GT(僅僅針對CLKIN1/CLKIN2)中通過多路選擇器選擇2路參考時鐘和反饋時鐘。PLL和MMCM的驅(qū)動源如下圖Figure 3-1。

?????????MMCM的內(nèi)部結(jié)構(gòu)如下圖,時鐘輸入都有一個可編程的計數(shù)除法器D,鑒相器PFD會比較輸入?yún)⒖紩r鐘和反饋時鐘的上升沿的相位和頻率。鑒相器用于在兩個時鐘間生成一個和相位頻率成比例的信號。PFD輸出的信號驅(qū)動充電泵CP和環(huán)路濾波器LF生成參考電壓到VCO,通過生成高低電平信號到CP和LF來控制環(huán)路濾波器是否應(yīng)該在更高或更低的頻率。當(dāng)VCO的頻率過高時,PFD會激勵出一個更低的信號從而降低VCO的頻率。VCO生成8個輸出信號和一個相位可變的信號,每個輸出信號的相位可以隨著參考信號的變化而變化,并且每個設(shè)計中計數(shù)器都可以單獨地編程。特殊的計數(shù)器M控制MMCM和PLL的反饋時鐘,可以生成更大范圍的頻率。除了整數(shù)分頻輸出,CLKOUT0和CLKFBOUT還可以進行分數(shù)分頻的輸出。

????????PLL的結(jié)構(gòu)如下圖Figure 3-3,相比MMCM,輸出端口少了很多,無反向端口輸出,以及不支持分數(shù)除法分頻,動態(tài)相位控制等,

四、縮略詞
BUFH/BUFHCE:Horizontal Clock Buffer 水平時鐘緩沖器、帶使能端口CE的水平時鐘緩沖器
BUFMR:Multi-clock Region Buffer 多時鐘區(qū)域緩沖器
BUFR:Region Clock Buffer 區(qū)域時鐘緩沖器
BUFG:Global Clock Buffers 全局時鐘緩沖器
CLB:Configurable Logic Blocks 可編程邏輯塊
CMT:Clock Management Tiles 時鐘管理單元
CR:? Clock Region 時鐘區(qū)域
GT:Gigabit Transceivers G比特收發(fā)器
GC:Global Clock 全局時鐘
HROW:Horizontal Clock Row 水平時鐘行
LF:Loop Filter 環(huán)路濾波器?
MMCM:Mixed-mode Clock Manager 混合模式時鐘管理器
PHD:phase-frequency Detector 鑒相器
PHY:Physical Layer 物理層
PLL:Phase Locked Loop 鎖相環(huán)
PS:? ?Processor Sytem 處理器系統(tǒng)
SYSMON:System Monitor 系統(tǒng)監(jiān)視器
五、參考
用戶手冊:ug472_7Series_Clocking.pdf
鏈接:https://pan.baidu.com/s/1LWsNg7PA5IHutv280Fkmkw?
提取碼:ai89