引言:本文我們介紹區(qū)域時(shí)鐘資源。區(qū)域時(shí)鐘網(wǎng)絡(luò)是獨(dú)立于全局時(shí)鐘的時(shí)鐘網(wǎng)絡(luò)。不像全局時(shí)鐘,一個(gè)區(qū)域時(shí)鐘信號(hào)(BUFR)的跨度被限制在一個(gè)時(shí)鐘區(qū)域,一個(gè)I/O時(shí)鐘信號(hào)驅(qū)動(dòng)一個(gè)單一的Bank。這些網(wǎng)絡(luò)對(duì)于源同步接口設(shè)計(jì)特別有用。7系列器件中的I/O Bank與時(shí)鐘區(qū)域的大小相同。為了理解區(qū)域時(shí)鐘是如何工作的,理解區(qū)域時(shí)鐘信號(hào)的信號(hào)路徑是很重要的。7系列設(shè)備中的區(qū)域時(shí)鐘資源和網(wǎng)絡(luò)由以下路徑和組件組成:
時(shí)鐘輸入I/O
I/O時(shí)鐘緩沖器:BUFIO
區(qū)域時(shí)鐘緩沖器:BUFR
區(qū)域時(shí)鐘網(wǎng)絡(luò)
多區(qū)域時(shí)鐘緩沖器:BUFMR/BUFMRCE
水平時(shí)鐘緩沖器:BUFH/BUFHCE
高性能時(shí)鐘
1.時(shí)鐘輸入I/O
每個(gè)時(shí)鐘區(qū)域在每個(gè)I/O Bank有四個(gè)專用時(shí)鐘I/O輸入管腳。當(dāng)用作時(shí)鐘輸入時(shí),可以驅(qū)動(dòng)BUFIO、BUFMR和BUFR。每個(gè)I/O列都支持區(qū)域時(shí)鐘緩沖區(qū)(BUFR)。每個(gè)器件中有兩個(gè)I/O列。當(dāng)時(shí)鐘管腳不用作時(shí)鐘輸入時(shí),可以作為普通I/O使用。
當(dāng)用作單端時(shí)鐘引腳時(shí),則如全局時(shí)鐘緩沖器中所述,必須使用引腳對(duì)的P側(cè),因?yàn)闀r(shí)鐘直接連接僅存在于該引腳上。
2.I/O時(shí)鐘緩沖器:BUFIO
BUFIO在I/O Bank中驅(qū)動(dòng)一個(gè)專用的時(shí)鐘網(wǎng)絡(luò),獨(dú)立于全局時(shí)鐘資源。因此,BUFIOs非常適合于源同步數(shù)據(jù)捕獲(發(fā)送/接收器時(shí)鐘分布)。BUFIO由位于同一組的具有時(shí)鐘功能的I/O、來(lái)自MMCM的HPC或相同和相鄰區(qū)域的BUFMR驅(qū)動(dòng)。在一個(gè)時(shí)鐘區(qū)域中,每個(gè)Bank有四個(gè)BUFIO。每個(gè)BUFIO可以驅(qū)動(dòng)同一區(qū)域/Bank中的單個(gè)I/O時(shí)鐘網(wǎng)絡(luò)。BUFIOs不能驅(qū)動(dòng)邏輯資源(CLB、塊RAM、DSP等),因?yàn)镮/O時(shí)鐘網(wǎng)絡(luò)只到達(dá)同一個(gè)Bank/時(shí)鐘區(qū)域中的I/O列。
2.1 BUFIO原句
BUFIO原句示意圖如圖1所示。輸入和輸出存在相位延遲。
圖1、BUFIO原句
2.2 BUFIO使用模式
BUFIO使用時(shí)鐘輸入I/O驅(qū)動(dòng)I/O邏輯,如圖2所示。這種實(shí)現(xiàn)在源同步應(yīng)用中經(jīng)常使用,在這些應(yīng)用中,前向時(shí)鐘用于捕獲傳入數(shù)據(jù)。
圖2、BUFIO驅(qū)動(dòng)I/O邏輯
圖2中,可以看到BUFIO只能驅(qū)動(dòng)I/O邏輯資源,不能驅(qū)動(dòng)FPGA邏輯資源。
3.區(qū)域時(shí)鐘緩沖器BUFR
BUFRs將時(shí)鐘信號(hào)驅(qū)動(dòng)到時(shí)鐘區(qū)域內(nèi)的專用時(shí)鐘網(wǎng)絡(luò),獨(dú)立于全局時(shí)鐘樹(shù)。每個(gè)BUFR可以驅(qū)動(dòng)它所在區(qū)域的四個(gè)區(qū)域時(shí)鐘網(wǎng)絡(luò)。與BUFIOs不同,BUFRs可以驅(qū)動(dòng)I/O邏輯和邏輯資源(CLB、塊RAM等)。BUFRs可以由具有時(shí)鐘功能的管腳、本地互連和MMCMs HPC(CLKOUT0到CLKOUT3)或相同和相鄰區(qū)域中的BUFMR驅(qū)動(dòng)。此外,BUFR能夠產(chǎn)生分頻時(shí)鐘輸出。分頻值是1到8之間的整數(shù)。BUFRs是理想的源同步應(yīng)用需要跨時(shí)鐘域或串并轉(zhuǎn)換。
每個(gè)I/O列都支持區(qū)域時(shí)鐘緩沖區(qū)。BUFRs還可以直接驅(qū)動(dòng)MMCM時(shí)鐘輸入和BUFG。
3.1 BUFR原句
BUFR原句如圖3所示。
圖3、BUFR原句示意圖BUFR是時(shí)鐘輸入或輸出緩沖器,且可以對(duì)輸入時(shí)鐘頻率分頻。7系列FPGA BUFRs可以直接驅(qū)動(dòng)MMCM時(shí)鐘輸入和BUFGs。
在圖3中可以,看到,BUFR原句附加使能信號(hào)CE和清零CLR信號(hào),該控制信號(hào)為異步控制信號(hào)。當(dāng)全局復(fù)位信號(hào)(GSR)為高時(shí),BUFR無(wú)論CE處于何邏輯,BUFR均處于復(fù)位,直到GSR復(fù)位信號(hào)為低電平。
3.2 BUFR使用模式
BUFR分頻功能通過(guò)其屬性進(jìn)行設(shè)置。
圖4、BUFR Verilog原句BUFRs是需要跨時(shí)鐘域或串并轉(zhuǎn)換的源同步應(yīng)用的理想選擇。與BUFIOs不同,BUFRs能夠?qū)Τ齀OB之外的FPGA中的邏輯資源進(jìn)行時(shí)鐘驅(qū)動(dòng)。圖5是BUFR設(shè)計(jì)示例。
圖5、BUFR設(shè)計(jì)示例
4.區(qū)域時(shí)鐘網(wǎng)絡(luò)
除全局時(shí)鐘樹(shù)和網(wǎng)絡(luò)外,7系列器件還包含區(qū)域時(shí)鐘樹(shù)和網(wǎng)絡(luò)。區(qū)域時(shí)鐘樹(shù)也設(shè)計(jì)用于低偏斜和低功耗操作。未使用分支斷開(kāi)。當(dāng)使用所有邏輯資源時(shí),區(qū)域時(shí)鐘樹(shù)還管理加載/扇出。
區(qū)域時(shí)鐘網(wǎng)絡(luò)不會(huì)在整個(gè)7系列設(shè)備中傳輸。相反,它們僅限于一個(gè)時(shí)鐘區(qū)域。一個(gè)時(shí)鐘區(qū)域包含四個(gè)獨(dú)立的區(qū)域時(shí)鐘網(wǎng)絡(luò)。要訪問(wèn)區(qū)域時(shí)鐘網(wǎng)絡(luò),必須實(shí)例化BUFRs
5.多區(qū)域時(shí)鐘緩沖器:BUFMR/BUFMRCE
BUFMR取代了以前Virtex架構(gòu)中對(duì)BUFR和BUFIO的多區(qū)域/Bank支持。每個(gè)Bank中有兩個(gè)BUFMR,每個(gè)緩沖區(qū)可以由同一個(gè)Bank中的一個(gè)特定MRCC驅(qū)動(dòng)。MRCC管腳在管腳對(duì)的P管腳和N管腳的管腳名稱中都用MRCC標(biāo)記(IO_L12P_T1_MRCC_12 or IO_L12N_T1_MRCC_12)。BUFMR驅(qū)動(dòng)同一地區(qū)的BUFIO和/或BUFRs/Bank和地區(qū)/以上和以下Bank。BUFR和BUFIO原語(yǔ)必須單獨(dú)實(shí)例化。當(dāng)使用BUFR分頻(不在旁路中)時(shí),必須通過(guò)插入CE引腳的來(lái)禁用BUFMR,必須重置BUFR(通過(guò)插入CLR來(lái)清除),然后使能CE信號(hào)。此順序確保所有BUFR輸出時(shí)鐘相位對(duì)齊。如果不使用BUFRs中的分頻功能,那么電路拓?fù)渲恍枰褂肂UFMR。BUFMR輸入包括:
MRCC管腳
同一時(shí)鐘區(qū)域的GT收發(fā)器時(shí)鐘
5.1 BUFMR/BUFMRCE原句
BUFMR/BUFMRCE原句如圖6所示。
圖6、BUFMR/BUFMRCE原句
圖7、BUFMR例化語(yǔ)句
圖8、BUFMRCE例化語(yǔ)句要將BUFMR或BUFMRCE與BUFIOs一起使用,接口引腳必須在三個(gè)匹配Bank范圍內(nèi)。同樣,如果與BUFRs一起使用,則邏輯必須最多適合三個(gè)區(qū)域(如果使用三個(gè)BUFRs)。如果內(nèi)存接口放在BUFRs/BUFIOs所在的同一個(gè)Bank或區(qū)域中,那么從BUFMR到該Bank或區(qū)域中的那些BUFHs/BUFIOs的連接可能會(huì)受到限制。圖9顯示了BUFMRCE的拓?fù)浣Y(jié)構(gòu)。
CE_TYPE屬性應(yīng)始終設(shè)置為SYNC,以確保時(shí)鐘輸出無(wú)故障。如果BUFMRCE的時(shí)鐘輸出停止(例如,通過(guò)取消CE),則必須在再次啟用BUFMRCE后重置BUFR(CLR)。BUFMRCE上的CE的主要目的是為BUFRs和BUFIOs提供同步的、相位對(duì)齊的時(shí)鐘。
6.水平時(shí)鐘緩沖器:BUFH/BUFHCE
水平時(shí)鐘緩沖器(BUFH)在單個(gè)區(qū)域驅(qū)動(dòng)水平全局時(shí)鐘骨干(圖2-26)。每個(gè)地區(qū)有12個(gè)BUFH可用。每個(gè)BUFH都有一個(gè)時(shí)鐘啟用引腳(CE),允許動(dòng)態(tài)關(guān)閉時(shí)鐘。BUFHs可通過(guò)以下方式驅(qū)動(dòng):
相同區(qū)域MMCM/PLL輸出
BUFG輸出
相同或者水平相鄰時(shí)鐘GT輸出時(shí)鐘
本地內(nèi)部互聯(lián)
來(lái)自相同水平相鄰的區(qū)域或者Bank的左側(cè)或者右側(cè)I/O Bank的時(shí)鐘輸入
圖10、BUFH和BUFHCE原句
圖11、BUFHCE例化語(yǔ)句如圖12所示,要使用BUFH,邏輯必須適合水平相鄰的兩個(gè)區(qū)域(左和右)。時(shí)鐘使能引腳可以完全關(guān)閉時(shí)鐘,從而實(shí)現(xiàn)潛在的節(jié)能。與驅(qū)動(dòng)兩個(gè)相鄰區(qū)域的BUFG相比,BUFH的功耗和抖動(dòng)更低。
圖12、水平時(shí)鐘緩沖示例
7.高性能時(shí)鐘
7系列FPGA每個(gè)I/O Bank包含四個(gè)HPC。這些時(shí)鐘與I/O中的BUFIOs和BUFRs直接短差分連接。因此,這些時(shí)鐘表現(xiàn)出非常低的抖動(dòng)和最小的占空比失真。在I/O列中,HPC連接到BUFIO/BUFRs并驅(qū)動(dòng)I/O邏輯。由于CMT列位于I/O列旁邊,HPC直接驅(qū)動(dòng)器進(jìn)入I/O列旁邊的I/O Bank CMT.HPCs由MMCM的CLKOUT[3:0]驅(qū)動(dòng)(僅限)。
7.1時(shí)鐘門(mén)控節(jié)能
7系列FPGA時(shí)鐘體系結(jié)構(gòu)提供了一種實(shí)現(xiàn)時(shí)鐘選通的簡(jiǎn)單方法,用于關(guān)閉部分設(shè)計(jì)。大多數(shù)設(shè)計(jì)包含幾個(gè)未使用的BUFGCE或BUFHCE資源。時(shí)鐘可以驅(qū)動(dòng)BUFGCE或BUFHCE輸入,BUFGCE輸出可以驅(qū)動(dòng)不同的邏輯區(qū)域,BUFHCE可以驅(qū)動(dòng)單個(gè)區(qū)域。例如,如果所有需要始終運(yùn)行的邏輯都被限制在幾個(gè)時(shí)鐘區(qū)域,那么BUFGCE輸出可以驅(qū)動(dòng)這些區(qū)域?;蛘?,如果BUFHCE驅(qū)動(dòng)單個(gè)區(qū)域中的接口,則該接口可能在非操作期間關(guān)閉。切換BUFGCE或BUFHCE的enable提供了一種簡(jiǎn)單的方法來(lái)停止可用于節(jié)能的邏輯區(qū)域中的所有動(dòng)態(tài)功耗。
原文標(biāo)題:Xilinx 7系列FPGA架構(gòu)之時(shí)鐘資源(四)
文章出處:【微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
責(zé)任編輯:haq
-
FPGA
+關(guān)注
關(guān)注
1629文章
21738瀏覽量
603464 -
Xilinx
+關(guān)注
關(guān)注
71文章
2167瀏覽量
121444
原文標(biāo)題:Xilinx 7系列FPGA架構(gòu)之時(shí)鐘資源(四)
文章出處:【微信號(hào):zhuyandz,微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論