引言:7系列FPGA具有多個時鐘路由資源,以支持各種時鐘方案和要求,包括高扇出、短傳播延遲和極低的偏移。為了最好地利用時鐘路由資源,必須了解如何從PCB到FPGA獲取用戶時鐘,確定哪些時鐘路由資源是最佳的,然后通過使用適當的I/O和時鐘緩沖器來訪問這些時鐘路由資源。該章節包括:
時鐘緩沖選擇考慮
時鐘輸入管腳
1.時鐘緩沖器選擇考慮
7系列FPGA擁有豐富的時鐘資源。各種緩沖器類型、時鐘輸入管腳和時鐘連接,可以滿足許多不同的應用需求。選擇合適的時鐘資源可以改善布線、性能和一般FPGA資源利用率。BUFGCTRL(最常用作BUFG)是最常用的時鐘布線資源。這些真正的全局時鐘可以連接到器件的任何位置。但是在某些情況下,出于性能、功能或時鐘資源可用性的原因,使用備用時鐘緩沖器更為有利。最好在以下情況下使用BUFG:
設計或設計的一部分可以覆蓋整個器件的大面積區域,功能的本地化是不可能的。
硬件功能塊,如塊RAM、DSP或集成IP,跨越多個時鐘區域,級聯或需要連接到不在附近的CLB。
同步(glitch free)或異步時鐘切換,應用程序能夠從停止的時鐘切換或選擇具有不同頻率的時鐘(例如,用于降低功耗)。
時鐘使能(CE)功能可用于在非運行期間降低功率。然而,在大多數情況下,由于時序(CE延遲)的限制,CE不能夠用于在時鐘元件處模擬真實的CE邏輯功能。
CE功能可用于在器件啟動后同步已初始化的時鐘元件。
BUFR和BUFIO組合的主要目的是支持源同步接口(如圖1所示)。當一個接口被放置在一個區域中時,BUFIO對SelectIOs的高速側進行時鐘控制,BUFR以較低的速度將解串器/串行器側時鐘送入提供時鐘域傳輸功能的FPGA邏輯中。對于需要更多邏輯和/或I/O的接口,BUFMR(BUFMRCE)用于將時鐘域傳輸功能擴展到上面和下面的(above and below)時鐘區域。當MMCM/PLL不能使用或不可用于分頻功能時,需要與源同步I/O用例無關的分頻時鐘的某些類型的應用程序可以將BUFR用作簡單的時鐘分頻器。在這種情況下,必須特別注意時序和偏移,因為這不是BUFR的主要目的。有關選擇資源計時的更多信息,請參閱UG471,7系列FPGA SelectIO資源用戶指南。
水平時鐘緩沖器BUFH(BUFHCE)嚴格來說是一個區域資源,不能跨越上面或下面的時鐘區域。與BUFR不同,BUFH沒有分頻時鐘的能力。
BUFHs類似于全球時鐘資源,只是在區域基礎上跨越兩個水平區域。
BUFHs能夠作為MMCM/PLL的反饋,時鐘插入延遲可以得到補償。
當接口或邏輯云位于一個時鐘區域或兩個水平相鄰的時鐘區域時,BUFHs是首選的時鐘資源。
BUFH還具有時鐘使能引腳(BUFHCE),當邏輯或接口及其相關邏輯未激活時,可使用該引腳降低動態功耗。
時鐘使能功能可在時鐘周期的基礎上提供門控時鐘。
與全局時鐘樹類似,BUFH還可以連接到CLB(enable/reset)中的非時鐘資源,具有更好的偏移特性。
BUFH也可用于同步啟動時鐘區域中時鐘元件。
2.時鐘輸入規則
外部用戶時鐘必須通過稱為clock-capable(CC)輸入的差分時鐘管腳對引入FPGA。時鐘輸入管腳支持對內部全局和區域時鐘資源的專用高速訪問。時鐘輸入管腳使用專用路由,必須用于時鐘輸入,以保證各種時鐘的時序特征。使用本地互聯的一般目的I/O不應用于時鐘信號。
圖2、_CC時鐘管腳連接每個I/O Bank位于一個時鐘區域,包括50個I/O引腳。在每個I/O bank中每個I/O組中的50個I/O管腳中,有4個支持時鐘的輸入管腳對(共8個管腳)。每個時鐘輸入:
可連接到PCB上的差分或單端時鐘
可為任何I/O標準配置,包括差分I/O標準
有一個P-side(主)和一個N-side(從)
如果單端時鐘連接到差分時鐘管腳對的P側,則N側不能用作另一個單端時鐘管腳,它只能用作用戶I/O。時鐘輸入管腳在每個I/O Bank中有2個MRCCs和2個SRCCs對。SRCC訪問單個時鐘區域和全局時鐘樹,以及同一列中上下的其他CMTs。SRCC可以驅動:
同一時鐘區域內的區域時鐘線(BUFR、BUFH、BUFIO)。
同一時鐘區域和相鄰時鐘區域的CMT。
位于器件的上/下半部分的全局時鐘線(BUFG)。
MRCCs可以訪問多個時鐘區域和全局時鐘樹。MRCCs的功能與SRCCs相同,還可以驅動多時鐘區域緩沖器(BUFMR)來訪問多達三個時鐘區域。如果不用作時鐘,時鐘輸入管腳可以用作常規I/O。當用作常規I/O時,支持時鐘的輸入引腳可以配置為任何單端或差分I/O標準。時鐘輸入管腳可以連接到同一時鐘區域的CMT,和該時鐘區域的上下的CMT,但具有一定的限制。
2.1 單個時鐘驅動單個CMT
當時鐘輸入驅動單個CMT時,時鐘輸入管腳和CMT(MMCM/PLL)必須在同一時鐘區域。
2.2 單個時鐘驅動多個CMTs
一個時鐘輸入可以驅動同一列中的其他CMT。在這種情況下,一個MMCM/PLL必須被放置在與時鐘輸入管腳相同的時鐘區域中。在相鄰區域放置附加的CMT是更為優化的,但是在同一列中,可以驅動比一個CMT更遠的CMT。CMT中使用的資源必須相同,才能自動放置此配置而不使用CLOCK_DEDICATED_ROUTE約束。如果需要混合MMCMs/PLL,則應首先將其置于同一CMT中。如果有必要從不在同一時鐘區域的時鐘輸入管腳驅動CMT,并且在與時鐘輸入管腳相同的時鐘區域中沒有MMCM/PLL,則必須設置屬性CLOCK_DEDICATED_ROUTE = BACKBONE。在這種情況下,MMCM或PLL不能正確地將輸出與輸入時鐘對齊,即存在時鐘偏移。在同一列中專用資源驅動CMT是有限制的。一些Xilinx IP使用這些資源,從而使它們不可用于其他設計用途,并導致設計無法布線。如果到其他時鐘區域的專用路由不可用,則將CLOCK_DEDICATED_ROUTE設置為FALSE將允許使用本地互連邏輯,盡管這會導致更長的無補償延遲。如果由普通的IO管腳驅動全局時鐘資源,比如BUFG或者MMCM,則CLOCK_DEDICATED_ROUTE = FALSE。
2.3 時鐘輸入管腳放置規則
在創建初始設計之前,手動選擇支持時鐘的輸入引腳時,有兩個主要考慮因素:
確保支持時鐘輸入可以連接到所需的時鐘資源。表所示的布局規則確保連通性。
確保所需的時鐘資源是可用的,并且沒有被設計的另一部分使用。確保通過時鐘輸入管腳進入的外部時鐘和來自IP的內部生成時鐘不會在訪問內部時鐘網絡時發生沖突,最好的方法是構建包含所需時鐘網絡和IP的初始設計,并通過實現工具運行它。這大大增加了檢查和信心,即引腳不需要由于時鐘原因而改變。
遵循表2-1所示的放置規則,以確保具有時鐘輸入引腳選擇能夠訪問所需的內部時鐘網絡。每個I/O Bank位于在一個時鐘區域中。注:通過確保正確選擇具有時鐘輸入引腳的位置,避免昂貴的電路板重新設計和差的時鐘時序。
表1、時鐘輸入放置規則在相同的封裝器件之間遷移時,將BUFG組織為16個top和16個bottom資源的上/下中心線可能相對于其他列發生了移動。具體地說,I/O列會更改與頂部/底部BUFGs的對齊方式。這會導致訪問BUFG的時鐘輸入引腳的不同對齊方式。圖1顯示了使用XC7K325T和XC7K160T器件的中心對齊示例。在這種情況下,當從相同封裝中的大器件移動到小器件時,中心線較低(相對于I/O列),或者從小器件移動到大器件時,中心線更高。如果時鐘輸入引腳被定位,設計可以是不可布線的。
圖3、使用XC7K325T和XC7K160T器件的中心對齊示例當遷移到相同封裝的一個較小的器件時,也可能會出現這樣的情況:較大器件的南側的所有BUFG都已被利用,而沒有更多的BUFG可用。見UG475:7系列FPGA封裝和引腳輸出規范,用于BUFG和I/O組對準。另外,具有多個超級邏輯區域(SLR)的器件在同一個包中從單個SLR中的單片路徑遷移時可能具有類似的限制。
原文標題:Xilinx 7系列FPGA架構之時鐘資源(二)
文章出處:【微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。
責任編輯:haq
-
FPGA
+關注
關注
1643文章
21954瀏覽量
613901 -
Xilinx
+關注
關注
73文章
2181瀏覽量
124312 -
時鐘
+關注
關注
11文章
1879瀏覽量
132821
原文標題:Xilinx 7系列FPGA架構之時鐘資源(二)
文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
Xilinx Ultrascale系列FPGA的時鐘資源與架構解析

【米爾-Xilinx XC7A100T FPGA開發板試用】測試一
【米爾-Xilinx XC7A100T FPGA開發板試用】+04.SFP之Aurora測試(zmj)
【米爾-Xilinx XC7A100T FPGA開發板試用】+01.開箱(zmj)
基于DSP TMS320C6678+FPGA XC7V690T的6U VPX信號處理卡

Xilinx 7系列FPGA PCIe Gen3的應用接口及特性

FPGA芯片架構和資源有深入的理解,精通Verilog HDL、VHDL
正點原子ZYNQ7015開發板!ZYNQ 7000系列、雙核ARM、PCIe2.0、SFPX2,性能強悍,資料豐富!
[XILINX] 正點原子ZYNQ7035/7045/7100開發板發布、ZYNQ 7000系列、雙核ARM、PCIe2.0、SFPX2!
Xilinx 7系列FPGA PCB設計指導
恩智浦MCU解讀 MCX A系列微處理器之時鐘架構

評論