一、前言
Ultrascale是賽靈思開發的支持包含步進功能的增強型FPGA架構,相比7系列的28nm工藝,Ultrascale采用20nm的工藝,主要有2個系列:Kintex和Virtex。Ultrascale+采用16ns,有3個系列:Artix,Kintex,Virtex。不僅是工藝制程方面,在其他方面也存在較大改進,如時鐘資源與架構,本文將重點介紹Ultrascale的時鐘資源與架構,Ultrascale+和Ultrascale大體上相似。
二、時鐘架構
2.1 全局時鐘輸入
芯片外部的全局時鐘通過FPGA的全局時鐘輸入(GC)進入到成對的差分時鐘引腳。在每個Bank內都有4個GC,可以直接進入到全局時鐘緩沖器,MMCM,PLL等。
2.2I/O bank
每個I/O bank都是處于一個單獨的時鐘區域中,包含了52個I/O引腳,還有4個全局時鐘GC輸入,4個GT。每個全局時鐘輸入引腳都可以連接到一個差分或單個時鐘輸入側,可以配置成任意的I/O標準,包含差分端口標準,并且有一個P側和N側,P側和N側是主從關系,P為主,N為從。
2.3時鐘軌道
從時鐘進入方向兩個角度考慮,分為水平時鐘和垂直時鐘,通過水平時鐘結構圖,看出時鐘架構中組成有普通CR列,特殊CR(帶有PCIE,配置,系統監視器)類,I/O列,GT列,HCS和物理時鐘。其中,CR(Clock Region)為時鐘區域,HCS(Horizontal Clock Spine)為水平時鐘脊。
CR和7系列的時鐘區域類似,包含了可配置邏輯塊CLBs,DSP,塊狀RAM,相關的時鐘。一個CR縱向上包含60個CLBs,24個DSP和12個塊狀RAMs,HSC將會水平穿過中間位置。
HCS包含了水平布線資源和水平分布資源,葉子時鐘緩沖器,時鐘網絡互連資源,根時鐘網絡,時鐘緩沖器直接進入HCS,每個HCS有24個水平分布式軌道和12個水平布線軌道。
鄰近輸入/輸出塊列是物理層塊PHY,它具有CMTs,全局時鐘緩沖器,全局時鐘多路選擇結構,I/O邏輯管理功能。水平時鐘布線軌道和分布軌道在水平方向上驅動進入各個時鐘區域CRs,垂直布線和分布軌道在垂直方向上驅動鄰近的時鐘域CRs,分布軌道可以被布線軌道或PHY中的時鐘單元直接驅動。I/O端口可以直接被PHY中的時鐘驅動或者是通過布線軌道來自鄰近的PHY,CMT包含了一個混合模式時鐘管理器MMCM和2個鎖相環PLLs。

垂直時鐘是在垂直方向上進行驅動,在垂直方向上,沒一列時鐘域的中間位置都存在兩類時鐘軌道貫穿芯片:24條垂直布線軌道和24條垂直分布軌道,但在靠近GT列旁邊CR列中,則是在CR列中間兩側位置各12條垂直布線軌道和12條垂直分布軌道。

三、時鐘緩沖器
Ultrascale器件有三種全局時鐘緩沖器:BUFGCTRL,BUFGCE,BUFGCE_DIV,還有一種本地BUFCE_LEAF時鐘緩沖器,它可以驅動葉子時鐘從水平分布軌道到達器件的不同位置。BUFGCTRL可以生成其他類型如BUFGMUX, BUFGMUX1, BUFGMUX_CTRL和 BUFGCE_1。
PHY的全局時鐘包含了BUFGCTRL,BUFGCE,BUFGCE_DIV三類全局時鐘緩沖器,它們都能被鄰近I/O bank中的4個GC引腳驅動,也可被所屬PHY中的MMCM和PLL驅動。然后這些時鐘緩沖器驅動整個器件的布線軌道和分布軌道。每個PHY包含了24個BUFGCTRL,8個BUFGCE,4個BUFGCE_DIV,但只能同時使用其中的24個。
3類全局時鐘緩沖器的端口差異如下圖

3.1 BUFGCTRL
BUFGCTRL用于在兩個時鐘輸入源間進行切換,結構和選擇邏輯如下圖

控制端口選擇的真值表,其中最后一行Old Input是指在狀態獲取到之前的時鐘有效輸入值。

BUFGCTRL同時支持級聯,可級聯成環,如下圖所示

BUFGCTRL衍生出的其他幾個全局時鐘的原語輸入關系如下表:

3.2 BUFGCE_1
BUFGCE_1的端口相對簡單,只有1個輸入端口I,一個使能端口CE和和1個輸出端口O,BUFGCTRL將相應的一些端口設置為高低電平也可實現BUFGCE_1的功能。

3.3 BUFGMUX和BUFGMUX_1
BUFGMUX有兩個時鐘輸入端口,一個選擇端口和一個時鐘輸出端口,通過將BUFGCTRL的一些輸入引腳連接邏輯高電平或低電平,關系如下圖

BUFGMUX_1是上升沿敏感,高電平保持,BUFGMUX和BUFGMUX_1的位置都可以進行手動約束。
3.4 BUFGMUX_CTRL
BUFGMUX_CTRL也是2個時鐘端口輸入,1個選擇端口,一個時鐘輸出端口的時鐘緩沖器,和BUFGCTRL的關系如下圖,

BUFGMUX_CTRL用S端口作為選擇端口,S端口可以在任何時候切換,也不會造成干擾。 S端口的建立和保持時間取決于輸出端口在切換時鐘前是否通過一個之前選擇時鐘的額外脈沖信號。
3.5 BUFCE_LEAF
BUFCE_LEAF是一個有使能端口CE,可以讓葉子單元驅動水平的HCS行,也是一個葉子時鐘緩沖器的交匯口,驅動帶有單個時鐘輸入的不同區域。當使能端口CE為低電平時輸出為0,高電平時輸出為輸入I
3.6 BUFGCE_DIV
BUFGCE_DIV有3個輸入端口I、使能CE、清零CLR和輸出端口O,可以直接驅動布線軌道和分布軌道,并且可以進行時鐘的1-8分頻。BUFGCE_DIV的輸入端口和屬性如下


BUFG_GT是被高速收發器GT和射頻SOC中的ADC/DAC所驅動,BUFG_GT是這些模塊實現驅動時鐘布線軌道的唯一方式,用于GT時鐘的分頻。BUFG_GT_SYNC是BUFG_GT的同步器,是靠Vivado軟件自動插入,不會在設計文件中體現,可以直接驅動布線軌道和分布軌道,也屬于時鐘緩沖器。
在UltraScale器件中每個GT Quad有24個BUFG_GT和10個BUFG_GT_SYNC,UltraScale+器件中每個GT Quad有24個BUFG_GT和14個BUFG_GT_SYNC。BUFG_GT的端口相對較多,如下圖。

3.7 BUFG_PS
BUFG_PS是只有一個輸入,一個輸出的簡單時鐘緩沖器,屬于Zynq UltraScale+系列中PS的時鐘緩沖器,可以讓時鐘從PS進入到PL中。共有18個PS 時鐘可以驅動BUFG_PS,布局位置處于PS的旁邊。
四、時鐘驅動關系
在一個CR中,垂直布線軌道和水平布線軌道是互通的,垂直分布軌道可以單向通到水平分布軌道,但分布軌道不能通向布線軌道。布線軌道也可以驅動鄰近CR的布線軌道和分布軌道,分布軌道可以驅動鄰近CR的水平分布軌道。
時鐘進入時鐘緩沖器有兩種方式。
方式一:時鐘可以直接通過布線軌道進入到CR的中心位置,即圖中的root,然后可以驅動水平分布軌道和垂直分布軌道。通過這種方式,時鐘緩沖器可以驅動到CR內一個特點位置,時鐘緩沖器在該位置上可以先通過垂直分布軌道,再水平分布軌道進入到時鐘點。時鐘點可以通過當前CR或鄰近CR中帶有使能端口CE的葉子時鐘驅動,這種分布方案可以將根節點移動到指定的位置來改善,降低偏斜。
方式二:時鐘點可以被本區域內或鄰近區域內帶有使能端口CE的葉子時鐘驅動,時鐘點驅動時鐘緩沖器,時鐘緩沖器再進入分布軌道,這將減少時間插入時延。

五、縮略詞
CR: Clock Region 時鐘區域
GT:Gigabit Transceivers G比特收發器
GC:Global Clock 全局時鐘
HCS:Horizontal Clock Spine 水平時鐘脊
MMCM:Mixed-mode Clock Manager 混合模式時鐘管理器
PHY:Physical Layer 物理層
PS: Processor Sytem 處理器系統
SYSMON:System Monitor 系統監視器
-
FPGA
+關注
關注
1656文章
22317瀏覽量
631072 -
Xilinx
+關注
關注
73文章
2195瀏覽量
130128 -
UltraScale
+關注
關注
0文章
125瀏覽量
32237
原文標題:Xilinx之Ultrascale系列時鐘資源與驅動關系
文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
Xilinx UltraScale 系列發布常見問題匯總
Xilinx Ultrascale 16nm FPGA/SoC電源解決方案
直擊關于Xilinx UltraScale架構、Virtex和Kintex UltraScale架構FPGA 和最新的Vivado開發工具的9大要點
Xilinx 7系列FPGA架構的區域時鐘資源介紹
Xilinx全新UltraScale架構介紹
UltraScale/UltraScale+的時鐘資源
Xilinx 7系列與Ultrascale系列FPGA的區別

Xilinx Ultrascale系列FPGA的時鐘資源與架構解析
評論