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