馬萌 葉關(guān)山
摘 要:本文針對(duì)傳統(tǒng)邏輯固化方式的瓶頸,提出了配置芯片邏輯固化設(shè)備的高效方案及實(shí)現(xiàn)方法,并通過對(duì)比分析,采用本方案生產(chǎn)效率可得到顯著提升。
關(guān)鍵詞:FPGA;邏輯固化;配置芯片
中圖分類號(hào):TN79 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1671-2064(2020)12-0051-02
0引言
FPGA的使用需要將邏輯固化于存儲(chǔ)器,按照存儲(chǔ)器的位置Xilinx的FPGA可大致分為存儲(chǔ)器內(nèi)置和存儲(chǔ)器外置兩類。存儲(chǔ)器內(nèi)置的FPGA包括早期的95144、95288等,以及當(dāng)前廣泛使用的XC3S400AN、XC4VLX25等,存儲(chǔ)器外置FPGA包括早期的XQ4010+XC17256(SM1701)、XCV600/XQV300+XQ18V04,以及當(dāng)前廣泛使用的XC5VFX200T/XC6VHX380T+XCF128XFT。事實(shí)上,這類外置的存儲(chǔ)器可以稱作FPGA配置芯片,邏輯即固化于這類芯片。
邏輯固化的方式一般采用JTAG接口連接。對(duì)于存儲(chǔ)器內(nèi)置的FPGA,可直接連接JTAG接口進(jìn)行固化,對(duì)于存儲(chǔ)器外置的FPGA需要根據(jù)存儲(chǔ)芯片的特性采取不同的方式。對(duì)于18v04這類有外接JTAG接口的芯片,可直接連接JTAG;對(duì)于XCF128XFT這類沒有外接JTAG接口的芯片,需要經(jīng)由FPGA通過SPI/BPI的方式連接。
配置芯片的邏輯固化耗時(shí)過長(zhǎng)已成為制約生產(chǎn)效率的重要問題,而JTAG接口正是造成這一問題的瓶頸。本文以廣泛使用的配置芯片XCF128XFT為例,提出了配置芯片邏輯固化設(shè)備的高效方案。
1固化設(shè)備實(shí)現(xiàn)方案
1.1 固化設(shè)備原理
本文提出的配置芯片邏輯固化設(shè)備設(shè)計(jì)方案,采用FPGA作為主控單元,千兆以太網(wǎng)作為固化設(shè)備與PC機(jī)的接口,對(duì)待配置的PROM,采用16bit并行接口。
設(shè)備分為上位機(jī)軟件、固化設(shè)備硬件兩大部分,設(shè)備硬件又可分為固化硬件、IC測(cè)試座兩部分。
1.2 FPGA單元設(shè)計(jì)
FPGA單元需要實(shí)現(xiàn)的功能包括以下幾點(diǎn):
(1)實(shí)現(xiàn)千兆以太網(wǎng)接口的初始化配置和傳輸控制;
(2)完成配置數(shù)據(jù)的緩存、接收和發(fā)送等任務(wù);
(3)數(shù)據(jù)格式轉(zhuǎn)換。
FPGA單元的主要元器件為FPGA及外圍電路。固化設(shè)備需要高速處理配置流數(shù)據(jù),完成千兆以太網(wǎng)接口的收發(fā)和PROM接口的控制,所以,高性能的FPGA是固化設(shè)備的最佳選擇。
在設(shè)計(jì)時(shí)計(jì)劃選擇XILINX公司的28nm高性能低功耗的Kintex-7系列FPGA XC7K160T-2FBG676I作為系統(tǒng)的控制芯片。該系列FPGA設(shè)計(jì)在高端性能的基礎(chǔ)上實(shí)現(xiàn)了最低的功耗,可提供高密度邏輯、高性能收發(fā)器、存儲(chǔ)器、DSP以及混合信號(hào),通過這些功能可以提高系統(tǒng)級(jí)性能,并可以更緊密地進(jìn)行集成,非常適合本方案中高速數(shù)據(jù)的處理任務(wù)[1]。
XC7K160T-2FBG676I的主要參數(shù)如表1所示。
1.3 固化設(shè)備與PC機(jī)千兆網(wǎng)接口設(shè)計(jì)
傳統(tǒng)方法中,配置數(shù)據(jù)傳輸?shù)囊粋€(gè)瓶頸主要在于串行的JTAG接口,因此,為了從根本上提高系統(tǒng)數(shù)據(jù)傳輸速率,達(dá)到PROM芯片800Mpbs的最大工作帶寬,固化設(shè)備與PC機(jī)接口采用千兆以太網(wǎng)實(shí)現(xiàn)。
千兆以太網(wǎng)理論速度能夠達(dá)到1000Mbps,實(shí)際應(yīng)用中,有效數(shù)據(jù)的吞吐率完全可以達(dá)到800Mbps,很好地解決數(shù)據(jù)的傳輸瓶頸問題。
本方案中,千兆網(wǎng)接口模塊主要采用PHY芯片88E1111與FPGA直接相連,通過上電時(shí)FPGA對(duì)88E1111進(jìn)行配置,使其工作在RGMII模式。FPGA按照RGMII協(xié)議,產(chǎn)生數(shù)據(jù)發(fā)送時(shí)88E1111所需要的輸入信號(hào),同時(shí)接收88E1111接收到的數(shù)據(jù)[2]。
PHY芯片88E1111工作在RGMII模式時(shí)所需要的輸入信號(hào)有發(fā)送時(shí)鐘、使能和數(shù)據(jù)。千兆網(wǎng)接口模塊的輸入輸出信號(hào)如圖1所示。
在程序的設(shè)計(jì)上,需要對(duì)輸入的8bit并行數(shù)據(jù)先送入FIFO進(jìn)行緩存,千兆網(wǎng)模塊在輸出時(shí),先輸出幀頭,接下來是目的地址、源地址、接著在時(shí)鐘的上升沿輸出數(shù)據(jù)的低4位,下降沿輸出數(shù)據(jù)的高4位,每一幀輸出的數(shù)據(jù)長(zhǎng)度可由程序中的參數(shù)決定,最后輸出奇偶校驗(yàn)位。
方案中采用FPGA實(shí)現(xiàn)MAC層協(xié)議,可以大大提高系統(tǒng)的集成度和可靠性,具體的RGMII接口原理圖見圖2所示。
1.4系統(tǒng)電源設(shè)計(jì)
固化設(shè)備輸入電壓采用常用的12V供電,各個(gè)單元需要的電壓包括:FPGA接口電壓3.3V,核心電壓1.0V;以太網(wǎng)接口芯片接口電壓3.3V,核心電壓1.2V;PROM接口電壓3.3V,核心電壓1.8V。
針對(duì)這些電壓,采用凌特公司的四輸出芯片LTM4644實(shí)現(xiàn)。該芯片輸入電壓范圍為4V~14V,適應(yīng)范圍較寬;有4路相同技術(shù)參數(shù)的輸出通道,輸出電壓范圍為0.6V~5.5V,每路的工作電流可支持4A,完全滿足設(shè)計(jì)需求。
2性能分析與對(duì)比
首先,由于離線的方式對(duì)PROM進(jìn)行燒寫,固化設(shè)備專門用于燒寫PROM,I/O資源沒有太大的限制,因此,可以采用并行燒寫的方式。而產(chǎn)品中可以根據(jù)具體情況采用并行或串行的方式,在上電的時(shí)候,進(jìn)行配置數(shù)據(jù)的加載。
其次,采用千兆以太網(wǎng)接口傳輸PC機(jī)上的配置數(shù)據(jù),千兆以太網(wǎng)理論速度能夠達(dá)到1000Mbps,實(shí)際應(yīng)用中,有效數(shù)據(jù)的吞吐率完全可以達(dá)到800Mbps。FPGA通過千兆以太網(wǎng)接口接收到這些數(shù)據(jù)后,將配置數(shù)據(jù)以并行的方式寫入PROM,并行讀寫的工作頻率為50MHz,保證了FPGA與PROM之間接口的帶寬為800Mpbs,與千兆以太網(wǎng)接口速度相近[3],表2為本方案與傳統(tǒng)方案中,各接口與系統(tǒng)性能的對(duì)比。
本方案的設(shè)計(jì)保證了整個(gè)固化器的帶寬與PROM的最大帶寬相符,使系統(tǒng)不存在其它的瓶頸,相比于傳統(tǒng)的通過JTAG接口傳輸數(shù)據(jù)的方式,極大地提高了系統(tǒng)速度和燒寫效率。
由分析結(jié)果可見,本方案相比于在線的方式,效率提高了大約80倍。相比于現(xiàn)有的燒寫器,單套的效率也提高3倍。在較大批量的生產(chǎn)任務(wù)中,本方案固化設(shè)備所帶來的生產(chǎn)效率提升的效果會(huì)更加明顯。如果采用組網(wǎng)多臺(tái)固化設(shè)備同時(shí)燒寫的方式,更能夠成倍提高生產(chǎn)效率。
3結(jié)語
針對(duì)傳統(tǒng)邏輯固化方式的瓶頸,提出的FPGA配置芯片邏輯固化設(shè)備的方案,較之傳統(tǒng)方式,具有高效率、高可靠、可擴(kuò)展的顯著優(yōu)勢(shì),可大大提升邏輯固化水平。
參考文獻(xiàn)
[1] 任程.DSP+FPGA平臺(tái)功耗管理的研究與實(shí)現(xiàn)[D].哈爾濱:哈爾濱工業(yè)大學(xué),2016.
[2] 楊青山.基于FPGA的千兆以太網(wǎng)接口應(yīng)用研究與實(shí)現(xiàn)[J].無線互聯(lián)科技,2018(8):37-38+43.
[3] 石雪梅,計(jì)賢春.FPGA配置芯片測(cè)試方法的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)與數(shù)字工程,2010(9):77-79+87.