xilinx 的 FPGA 時鐘結構,7 系列 FPGA 的時鐘結構和前面幾個系列的時鐘結構有了很大的區別,7系列的時鐘結構如下圖所示。
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、2個BUFMR、本時鐘區域的CMT以及上下相鄰時鐘區域的CMT、16個BUFG、本時鐘區域以及水平相鄰時鐘區域的BUFH。
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。
審核編輯 :李倩
-
FPGA
+關注
關注
1629文章
21729瀏覽量
603011 -
Xilinx
+關注
關注
71文章
2167瀏覽量
121305
原文標題:參考鏈接
文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論