Xilinx 7系列時鐘結構
來源:瓜大三哥
xilinx 的 FPGA 時鐘結構,7 系列 FPGA 的時鐘結構和前面幾個系列的時鐘結構有了很大的差別,7系列的時鐘結構如下圖所示。
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5CMkFGNmZDO3UDNwEmNiFGO4MmY1UWO2YGMjVjZmJjN18CX0JXZ252bj91Ztl2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
- Clock Region:FPGA 内部分成了很多個時鐘區域。
- Horizontal Center:FPGA被 Horizontal Center 分成上下兩個部分,每個部分包含16個 BUFG 。
- Clock Backbone:全局時鐘線的主幹道,将 FPGA 分成了左右兩部分,所有的全局時鐘布線均要從此經過。
- HROW:水準時鐘線,從水準方向貫穿每個時鐘區域的中心區域,将時鐘區域分成上下完全一緻的兩部分。全局時鐘線進入每個時鐘區域的邏輯資源時,必須經過水準時鐘線。
- I/O Column:外部信号/時鐘輸入管腳。
- CMT Backbone:對于相鄰時鐘區域的時鐘布線,可以不使用珍貴的全局時鐘網絡,而使用每個時鐘區域都包含的 CMT Backbone 通道。
- CMT Column:每個時鐘區域都包含一個CMT,一個CMT由一個MMCM和一個PLL組成。
- GT Column:内含高速串行收發器。
總結來說,FPGA 實際上就是被分成很多個大小一樣時鐘區域,每個時鐘區域既可單獨工作又可通過全局時鐘 Clock BackBone 統一工作,同時水準相鄰的時鐘區域又可通過 HROW 來統一工作,上下相鄰的時鐘區域又可通過 CMT Backbone 統一工作。
Xilinx 7系列時鐘區域
- BUFG 即為全局時鐘緩沖器,從圖上看到,其輸出時鐘通過 Clock Backbone 可以到達任意一個時鐘區域,而且 BUFG 通過 HROW 到達時鐘區域内部的每個邏輯單元。
- BUFH 即為水準時鐘緩沖器,它相當于一個功能受限的 BUFG ,其輸出時鐘隻能通過 HROW 在左右相鄰的時鐘區域内工作。
- BUFIO 即為 IO 時鐘緩沖器,其輸出時鐘隻能作用在一個時鐘區域的 IO 寄存器處,無法在 FPGA 内部邏輯使用。
- BUFR 即為區域時鐘緩沖器,其輸出隻能作用在一個時鐘區域,相當于 BUFH 的 mini 版。
- BUFMR 即為多區域時鐘緩沖器,其輸出作用在本時鐘區域,還可以通過 CMT Backbone 作用在上下相鄰兩個時鐘區域。
- MMCM、PLL 即時鐘管理子產品,用來消除時鐘的延遲、抖動以及産生各種不同頻率的時鐘。
- CC 即為外部時鐘輸入管腳,其管腳在内部可以連接配接到 BUFG、BUFR、BUFIO、BUFH、MMCM、PLL 等,看具體的應用具體連接配接。下圖所示為更為細緻的 CC 管腳連接配接圖。一個時鐘區域有 4 對 CC 管腳,其中 2 對 SRCC ,2 對 MRCC 。SRCC 作為區域時鐘使用時,隻能連接配接本時鐘區域的 BUFR 和 BUFIO 。而 MRCC 則還可以通過BUFMR作用在上下相鄰的時鐘區域。
Xilinx 7系列時鐘較長的描述
xilinx 7 系列 FPGA 裡面,一個 CMT 包含一個 PLL 和一個 MMCM。Ultra 系列 FPGA 裡面包含兩個 PLL 和 一個 MMCM 。是以本文以 7 系列介紹。
1.IO 的時鐘分布
2.晶片上位置
BUFG、BUFR、BUFH、BUFIO 在晶片上所處位置如下圖所示
将BUFR、BUFIO、BUFMR 放大如下圖所示
3.驅動能力對比
結合 BUF 在晶片上的位置,以及下圖不難了解BUFG、BUFH、BUFR、BUFIO的驅動能力強弱。
實體管腳 IO
- SRCC:外部差分時鐘或者單端時鐘驅動,隻能作用于本區域時鐘:4個BUFIO、4個BUFR、本時鐘區域的CMT以及上下相鄰時鐘區域的CMT、16個BUFG、本時鐘區域以及水準相鄰時鐘區域的BUFH。
- MRCC:外部差分時鐘或者單端時鐘驅動,隻能作用于本區域時鐘:4個BUFIO、4個BUFR、
、本時鐘區域的CMT以及上下相鄰時鐘區域的CMT、16個BUFG、本時鐘區域以及水準相鄰時鐘區域的BUFH。2個BUFMR
FPGA 晶片内部
- BUFIO:在相同的時鐘區域内,其可以被 MRCC、SRCC、MMCM 的 CLKOUT0~3、CLKFBOUT 驅動,還可以被本時鐘區域以及上下相鄰區域的 BUFMR 驅動;其隻能驅動本時鐘區域内的 ILOGIC、OLOGIC 。
- BUFR:在相同時鐘區域内,其可以被MRCC、SRCC、MMCM的CLKOUT0~3、CLKFBOUT驅動,還可以被本時鐘區域以及上下相鄰區域的BUFMR驅動;其能驅動本時鐘區域内的CMT、本時鐘區域内所有邏輯單元、以及16個BUFG(不推薦)。
- BUFMR:其隻能被本時鐘區域的MRCC以及某些GT時鐘驅動;其能驅動本時鐘區域以及上下相鄰區域的BUFIO、BUFR。
- BUFG:其能被每個時鐘區域内的SRCC、MRCC、CMT、GT、BUFR(不推薦)、其他BUFG;其可以驅動CMT、GT時鐘、其他BUFG、FPGA内任何邏輯單元、BUFH。
- BUFH:其能被本時鐘區域以及左右相鄰時鐘區域内的SRCC、MRCC、CMT、BUFG、GT時鐘驅動;其能驅動本時鐘區域的CMT、GT時鐘、以及本時鐘區域内的所有邏輯單元。
- GT時鐘之RXUSERCLK、TXUSERCLK:其能被任何BUFG、以及本時鐘區域内的BUFH驅動;其隻能驅動專用的串行收發器子產品。
- GT時鐘之RXOUTCLK、TXOUTCLK:其被專用的串行收發器子產品驅動;其能驅動BUFG、相同時鐘區域内的CMT、BUFMR、BUFH以及相鄰時鐘區域内的BUFH。
- MGTREFCLK:其被外部MGT時鐘源驅動;其能驅動BUFG、相同時鐘區域内的CMT、BUFMR、BUFH以及相鄰時鐘區域内的BUFH。
- CMT(PLL&MMCM):其能被BUFG、SRCC(本時鐘區域以及上下相鄰時鐘區域)、MRCC(本時鐘區域以及上下相鄰時鐘區域)、GT(本時鐘區域)、BUFR(本時鐘區域或者上下相鄰時鐘區域加上BUFMR)、BUFMR、MMCM/PLL.CLKOUT0~3驅動;其能驅動BUFG、相同時鐘區域内的BUFIO、BUFR、BUFH以及水準相鄰的時鐘區域的BUFH、MMCM/PLL。
參考連結
- xilinx 7 系列 FPGA 時鐘
https://blog.csdn.net/XiaoQingCaiGeGe/article/details/84454524 https://blog.csdn.net/XiaoQingCaiGeGe/article/details/84454588 https://blog.csdn.net/XiaoQingCaiGeGe/article/details/84454615 https://blog.csdn.net/XiaoQingCaiGeGe/article/details/84454669
- 7 Series FPGAs Clocking Resources
https://www.xilinx.com/support/documentation/user_guides/ug472_7Series_Clocking.pdf
- UltraScale Architecture Clocking ResourcesUser Guide
https://www.xilinx.com/support/documentation/user_guides/ug572-ultrascale-clocking.pdf