張艷飛,謝長生,匡晨光(.中國電子科技集團(tuán)公司第58研究所,江蘇無錫4035; .無錫中微億芯有限公司,江蘇無錫407)
FPGA芯片時鐘架構(gòu)分析
張艷飛1,謝長生2,匡晨光2
(1.中國電子科技集團(tuán)公司第58研究所,江蘇無錫214035; 2.無錫中微億芯有限公司,江蘇無錫214072)
FPGA設(shè)計中時鐘信號的設(shè)計與處理是保證系統(tǒng)穩(wěn)定工作的重要組成部分,隨著FPGA器件規(guī)模的不斷增大,集成度不斷提高,多時鐘域管理、時鐘延遲、時鐘信號完整性和相位偏移等已成為影響FPGA設(shè)計的關(guān)鍵因素.結(jié)合微電子電路相關(guān)知識,針對Xilinx公司的Virtex4系列芯片,詳細(xì)分析其時鐘架構(gòu)及時鐘資源的特性.針對FPGA時鐘設(shè)計的典型應(yīng)用情況,從芯片角度給出了時鐘設(shè)計與使用的一些技巧和建議.
現(xiàn)場可編程門陣列;時鐘架構(gòu);時鐘管理
隨著FPGA(Field Programmable Gate Array)器件規(guī)模的不斷增大,集成度不斷提高,在高密度FPGA中時鐘信號的分布質(zhì)量越來越重要[1],多時鐘域管理、時鐘延遲、時鐘信號完整性和相位偏移等已成為影響FPGA設(shè)計的關(guān)鍵因素[2].因此在設(shè)計中使用高性能的集成時鐘管理模塊、高性能的時鐘樹結(jié)構(gòu)很有必要.本文結(jié)合微電子電路相關(guān)知識,針對Xilinx公司的Virtex4系列芯片,詳細(xì)分析其時鐘架構(gòu)及資源的特性,從芯片角度給出了時鐘設(shè)計與使用的相關(guān)技巧和建議.
FPGA中的時鐘系統(tǒng)是由時鐘輸入/輸出模塊、集成時鐘管理模塊、時鐘樹組成的.它完成了FPGA中時鐘的輸入、輸出、傳輸、時鐘使能/禁止、時鐘切換、分頻/倍頻、相位調(diào)節(jié)等用戶所需要的時鐘功能,為FPGA中各個模塊如DSP、BRAM等提供工作時鐘.時鐘輸入/輸出模塊完成外部時鐘的輸入以及將內(nèi)容時鐘送往FPGA外部,時鐘管理模塊(DCM和PLL)用來調(diào)整全局時鐘的頻率和相位,時鐘樹將時鐘分布到芯片上所有時鐘負(fù)載處.高性能的時鐘管理模塊和時鐘樹、時鐘輸入/輸出模塊也保證了系統(tǒng)工作所需要的時鐘性能指標(biāo)和穩(wěn)定性.
Virtex4芯片的時鐘分為全局時鐘資源和區(qū)域時鐘資源,其資源組成如圖1所示.
全局時鐘是一種專用互連網(wǎng)絡(luò),是專為覆蓋FPGA中各種資源的所有時鐘輸入設(shè)計的.這些網(wǎng)絡(luò)的設(shè)計旨在降低歪斜、占空比失真和功耗并提高抖動容限.全局時鐘資源主要集中在芯片中間列,中間列分布著BUFG(Global Clock Buffer)、GC(Global Clocking Port)、DCM(Digital Clock Managers)、PMCD (Phase-Matched Clock Dividers)等全局時鐘資源.
區(qū)域時鐘資源是在IOB(Input/Output Block)、GC周圍分布有BUFIO(I/O Clock Buffer)、BUFR (Regional Clock Buffer)等時鐘資源.區(qū)域時鐘每個時鐘區(qū)域有2個BUFIO、2個BUFR和4個CCIO(Clock Capable I/O)輸入管腳.區(qū)域時鐘可以驅(qū)動相鄰區(qū)域中的區(qū)域時鐘樹.通過對區(qū)域時鐘緩沖器BUFR編程可對時鐘頻率以1到8的任意整數(shù)進(jìn)行分頻(另包括一個不分頻直通通道),這一功能與IOB中的可編程串行器/解串器配合,使源同步系統(tǒng)無需使用附加邏輯資源即可跨越不同時鐘域[3].
圖1 Virtex4芯片時鐘資源組成
為了方便時鐘控制,每個Virtex4器件分成若干個時鐘區(qū)域(clock region).區(qū)域數(shù)因器件大小而異,從最小器件的8個區(qū)域到最大器件的24個區(qū)域[3],圖2中灰色部分為不同的時鐘區(qū)域,在時鐘區(qū)域內(nèi)還包含有DCM、BUFR等時鐘資源.
圖2 Virtex4芯片時鐘資源布局
在FPGA設(shè)計中,為了成功地操作,可靠的時鐘是非常關(guān)鍵的.設(shè)計不良的時鐘在極限的溫度、電壓或制造工藝的偏差情況下將導(dǎo)致錯誤的行為.FPGA全局時鐘路徑需要專用的時鐘緩沖和驅(qū)動,具有最小偏移和最大扇出能力.FPGA設(shè)計時,最好的時鐘方案是由專用的全局時鐘輸入引腳驅(qū)動的單個主時鐘,去控制設(shè)計項目中的每一個觸發(fā)器.只要可能就應(yīng)盡量在設(shè)計項目中采用全局時鐘,因為對于一個設(shè)計項目來說,全局時鐘是最簡單和最可預(yù)測的時鐘.以下兩個時鐘用例是FPGA設(shè)計中通常使用的時鐘情況.
4.1GC到CLB等模塊的時鐘布線
FPGA設(shè)計中經(jīng)常使用的案例是外部時鐘從全局時鐘輸入PIN到達(dá)芯片內(nèi)部的邏輯資源.在Virtex4器件中,以到達(dá)芯片右側(cè)資源為例,如圖3時鐘從全局時鐘管腳GC輸入,通過BUFG到達(dá)GCLK全局時鐘網(wǎng)絡(luò),其中BUFG驅(qū)動32根全局時鐘網(wǎng)絡(luò),該時鐘網(wǎng)絡(luò)縱貫芯片上下部.通過32選1的選擇器將時鐘轉(zhuǎn)換為HCLK,根據(jù)設(shè)計需要進(jìn)入CLB、BRAM、IO等資源模塊,其中HCLK橫向為差分傳輸,進(jìn)入CLB等模塊前轉(zhuǎn)換為單端時鐘信號.對于一個設(shè)計良好的時鐘路徑,電阻性的時鐘線在驅(qū)動它自身電容、走線電容和時鐘負(fù)載電容的RC延遲往往能夠達(dá)到1 ns左右,如果時鐘隨意走線,那么可能在接近和遠(yuǎn)離時鐘源處的時鐘產(chǎn)生1 ns的時鐘歪斜,它往往和系統(tǒng)時鐘周期相比擬,因此時鐘分布系統(tǒng)必須仔細(xì)設(shè)計,以使時鐘輸入和各個時鐘負(fù)載之間的飛行時間相等,如圖3所示的魚骨型時鐘結(jié)構(gòu).
圖3 GC到CLB等時鐘走線
4.2CCIO到CLB等模塊的時鐘走線
為了更好地滿足數(shù)據(jù)在芯片之間的傳輸,采用源同步設(shè)計方案時,需使用FPGA芯片中的IO時鐘系統(tǒng).源同步時鐘系統(tǒng)實現(xiàn)上如圖4所示,時鐘從CCIO引腳輸入,通過BUFR到達(dá)HCLK長線,其后的時鐘網(wǎng)絡(luò)也是采用魚骨型時鐘結(jié)構(gòu),通過HCLK_Driver模塊驅(qū)動輸出到CLB、BRAM、IOB等模塊.整個路徑上時鐘延遲約1.5 ns,時鐘路徑SKEW約0.4 ns,可以滿足400 MHz時鐘傳輸需求.
圖4 CCIO到CLB等時鐘走線
FPGA設(shè)計中時鐘信號的設(shè)計與處理是保證系統(tǒng)穩(wěn)定工作的重要組成部分,一些復(fù)雜設(shè)計中需要很多時鐘資源,Virtex4系列時鐘資源包含全局時鐘和區(qū)域時鐘,全局時鐘包括GC、DCM、PMCD等資源.全局時鐘網(wǎng)絡(luò)要靠BUFG驅(qū)動,將時鐘信號放在時鐘樹上,保證到整個芯片的任意一個觸發(fā)器是電延時等長的,可以減小時鐘偏差.區(qū)域時鐘包括CCIO、BUFR等資源,區(qū)域時鐘網(wǎng)絡(luò)靠BUFR驅(qū)動,只在本時鐘區(qū)域和相鄰時鐘區(qū)域中使用,實現(xiàn)源同步.
[1]張振.FPGA內(nèi)數(shù)字時鐘管理模塊的研究[D].西安:西安電子科技大學(xué),2014.1-65.
[2]封彥彪,劉興春.基于Xilinx FPGA的時鐘管理設(shè)計與實現(xiàn)[J].電子測量技術(shù),2010,33(10)∶52-55.
[3]Virtex-4 FPGA User Guide[EB/OL].http∶//www.xilinx.com.
Clock Architecture Analysis of FPGA Chip
ZHANG Yanfei1,XIE Changsheng2,KUANG Chenguang2
(1.China Electronics Technology Group Corporation No.58 Research Institute,Wuxi 214035,China; 2.East Technologies Inc.,Wuxi 214072,China)
In the FPGA design,the design and processing of the clock signal is an important part of the stability of the system.With the increasing size and integration level of FPGA devices,multi-clock domain management,clock delay, clock signal integrity and phase offset have become the key factors affecting FPGA design.The article presents a detailed analysis of the clock architecture and resource characteristics of the Virtex4 series chip of Xilinx Company.By referring the typical application of FPGA clock design,some tips and suggestions on clock design and usages are given.
FPGA;clock architecture;clock management
TN402
A
1681-1070(2016)06-0028-03
2016-1-26
張艷飛(1981-),女,黑龍江佳木斯人,現(xiàn)就職于中國電子科技集團(tuán)公司第58研究所,研究方向為FPGA芯片設(shè)計.