UltraScale是基于20nm工藝制程的FPGA,而UltraScale+則是基于16nm工藝制程的FPGA。盡管兩者工藝制程不同,但內(nèi)部結(jié)構(gòu)是一致的。若無(wú)特殊聲明,下文闡述的UltraScale架構(gòu)也適用于UltraScale+。
全局時(shí)鐘管腳
在UltraScale中,每個(gè)輸入/輸出區(qū)域(I/O Bank)都位于單一的時(shí)鐘區(qū)域CR(Clock Region)內(nèi),且都包含52個(gè)輸入/輸出管腳。在這52個(gè)管腳中,有4對(duì)(8個(gè))全局時(shí)鐘管腳GC(GlobalClock I/O)。其使用方法與7系列FPGA是一致的。
不同之處在于,這4對(duì)GC地位是等同的,不再有MRCC和SRCC之分。UltraScale+新增了高密度輸入/輸出區(qū)域(HD I/O Bank, High Density I/O Bank),位于此區(qū)域內(nèi)的全局時(shí)鐘管腳HDGC只能通過(guò)BUFGCE連接到MMCM或PLL。
時(shí)鐘緩沖器
7系列FPGA既包含全局時(shí)鐘緩沖器,又包含區(qū)域時(shí)鐘緩沖器。UltraScale簡(jiǎn)化了時(shí)鐘緩沖器,即只有全局時(shí)鐘緩沖器。包含輸入/輸出列的時(shí)鐘區(qū)域內(nèi)有24個(gè)BUFGCE、4個(gè)BUFGCE_DIV和8個(gè)BUFGCTRL,但同時(shí)只能使用其中的24個(gè),如下圖所示。
這些全局時(shí)鐘緩沖器位于時(shí)鐘列,可驅(qū)動(dòng)水平時(shí)鐘布線/分發(fā)軌道和垂直時(shí)鐘布線/分發(fā)軌道,其中分發(fā)軌道是7系列FPGA所沒(méi)有的。這些軌道均位于時(shí)鐘區(qū)域的中心位置,如下圖所示(有的芯片只有一側(cè)會(huì)有高速收發(fā)器)。不難看出,每個(gè)時(shí)鐘區(qū)域的寬度相比于7系列FPGA有所縮減,不再是半個(gè)芯片的寬度,高度由7系列中的50個(gè)CLB變?yōu)?0個(gè)CLB。時(shí)鐘區(qū)域的粒度更加細(xì)化。
無(wú)論是水平時(shí)鐘布線/分發(fā)軌道還是垂直時(shí)鐘布線/分發(fā)軌道,都是以時(shí)鐘區(qū)域作為邊界,這意味著如果某個(gè)時(shí)鐘區(qū)域內(nèi)的資源未使用時(shí)鐘,工具就會(huì)關(guān)閉相應(yīng)的軌道,從而節(jié)省功耗。布線軌道可驅(qū)動(dòng)相鄰時(shí)鐘區(qū)域內(nèi)的布線軌道和分發(fā)軌道,但分發(fā)軌道只能驅(qū)動(dòng)相鄰時(shí)鐘區(qū)域內(nèi)的水平分發(fā)軌道。
布線軌道的目的是將時(shí)鐘從全局時(shí)鐘緩沖器布線到某個(gè)中心點(diǎn)。在這個(gè)中心點(diǎn),時(shí)鐘經(jīng)分發(fā)軌道連接到其負(fù)載的時(shí)鐘端口。分發(fā)軌道可進(jìn)一步移動(dòng)這個(gè)點(diǎn)以改善時(shí)鐘的局部偏移。這個(gè)點(diǎn)我們稱之為時(shí)鐘根節(jié)點(diǎn)(ClockRoot)。
每個(gè)時(shí)鐘區(qū)域有24個(gè)水平時(shí)鐘布線/分發(fā)軌道和24個(gè)垂直時(shí)鐘布線/分發(fā)軌道。在水平時(shí)鐘分發(fā)軌道上,有32個(gè)BUFCE_LEAF,稱之為葉時(shí)鐘緩沖器。時(shí)鐘從水平時(shí)鐘分發(fā)軌道上下來(lái)之后經(jīng)BUFCE_LEAF到達(dá)邏輯資源的時(shí)鐘端口,如下圖所示。BUFCE_LEAF只能由Vivado自動(dòng)使用,而不能在代碼中實(shí)例化。
UltraScale有獨(dú)立的BUFGCE,無(wú)需通過(guò)BUFGCTRL配置而成。但BUFGCTRL仍是可配置的,例如,BUFGCE_1、BUFGMUX和BUFGMUX_1都是通過(guò)BUFGCTRL配置生成的。BUGCE_DIV取代了BUFR,但比BUFR具有更強(qiáng)大的驅(qū)動(dòng)能力,因?yàn)樗殉蔀槿謺r(shí)鐘緩沖器。
同時(shí),BUFGCE_DIV還具有分頻功能,分頻因子可以是1~8(包含1和8)的整數(shù)。只是當(dāng)分頻因子為奇數(shù)時(shí),輸出時(shí)鐘的占空比將不再是50%。UltraScale新增了BUFG_GT。BUFG_GT只可以由高速收發(fā)器或RFSoC中的ADC/DAC模塊驅(qū)動(dòng)。
BUFG_GT_SYNC是BUFG_GT的同步器,當(dāng)Vivado推斷出BUFG_GT時(shí)會(huì)自動(dòng)在設(shè)計(jì)中插入BUFG_GT_SYNC。和BUFGCE_DIV類似,BUFG_GT也具有分頻功能,可用的分頻因子為1~8(包含1和8)之間的整數(shù)。分頻因子由DIV端口輸入。
DIV位寬為3,當(dāng)其為3’b000時(shí),對(duì)應(yīng)分頻因子為1。在包含高速收發(fā)器的時(shí)鐘區(qū)域內(nèi)有24個(gè)BUFG_GT。 在Zynq UltraScale+ MPSoC中新增了一種全局時(shí)鐘緩沖器BUFG_PS(Zynq 7000系列FPGA中是沒(méi)有的)。該緩沖器位于內(nèi)部ARM處理器的旁邊。
PS側(cè)的輸出時(shí)鐘需經(jīng)此緩沖器訪問(wèn)PL(Programmatic Logic)側(cè)的時(shí)鐘布線資源,從而驅(qū)動(dòng)PL側(cè)的邏輯資源。BUFG_PS的個(gè)數(shù)因不同的芯片而異。例如ZU4EG有96個(gè)BUFG_PS,而ZU2CG有72個(gè)BUFG_PS。
應(yīng)用案例:使用BUFG_GT執(zhí)行簡(jiǎn)單分頻
BUFG_GT具有分頻功能,可支持的分頻因子為1~8(包含1和8)的整數(shù),分頻因子控制字由位寬為3的輸入端口DIV提供。當(dāng)DIV為3’b000時(shí),對(duì)應(yīng)分頻因子為1。借助BUFG_GT的分頻功能可生成分頻時(shí)鐘,從而節(jié)省了MMCM,如下圖所示。使用BUFG_GT時(shí)要注意其時(shí)鐘源。
?
同樣具有分頻功能的時(shí)鐘緩沖器還包括BUFGCE_DIV,如下圖所示。BUFGCE_DIV的輸入可來(lái)自于MMCM的輸出,圖中clk2x的頻率是clk1x的2倍。使用BUFGCE_DIV可有效降低同步跨時(shí)鐘域路徑的時(shí)鐘偏移(Clock Skew)。?
審核編輯:劉清
-
FPGA
+關(guān)注
關(guān)注
1644文章
21993瀏覽量
615533 -
緩沖器
+關(guān)注
關(guān)注
6文章
2039瀏覽量
46783 -
時(shí)鐘緩沖器
+關(guān)注
關(guān)注
2文章
142瀏覽量
51273 -
時(shí)鐘
+關(guān)注
關(guān)注
11文章
1887瀏覽量
132973
原文標(biāo)題:時(shí)鐘資源(2):UltraScale/UltraScale+ FPGA
文章出處:【微信號(hào):Lauren_FPGA,微信公眾號(hào):FPGA技術(shù)驛站】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
唱響2013,20nm FPGA背后蘊(yùn)藏的巨大能量
蘋(píng)果A8處理器最新消息:采用TSMC 20nm制程工藝
Xilinx Ultrascale系列FPGA的時(shí)鐘資源與架構(gòu)解析

評(píng)論