馬小鵬,聶本明,杭平平
(中國電子科技集團公司第五十二研究所,浙江 杭州 311100)
近年來,國外對我國的半導體產(chǎn)品與技術(shù)出口進行封鎖和禁運,使得我國多個科研領(lǐng)域都受到制約,面臨的形勢十分嚴峻,因此,電子器件產(chǎn)品的自主要求就越來越高,F(xiàn)PGA器件產(chǎn)品亦是如此。
FPGA器件作為通信、航天、軍工等領(lǐng)域的關(guān)鍵核心處理器件,被運用于電子偵察、雷達、采集存儲系統(tǒng)等領(lǐng)域,是裝備制造的重要基礎(chǔ)元器件。國內(nèi)半導體產(chǎn)業(yè)鏈的不斷成熟完善以及芯片設計能力的不斷加強,在一定程度上實現(xiàn)了自我供給。
在存儲系統(tǒng)領(lǐng)域,依賴豐富的接口類型和可編程資源,F(xiàn)PGA也得到了廣泛應用,因此,有必要開展國產(chǎn)FPGA應用驗證工作,為系統(tǒng)提供有效的驗證數(shù)據(jù),并保障系統(tǒng)的自主安全。
國內(nèi)各研制單位對國產(chǎn)FPGA器件的進行了持續(xù)的研究和創(chuàng)新,推出了各類系列產(chǎn)品,在各個裝備系統(tǒng)中得到了推廣和應用??傮w上來看,無論是邏輯資源規(guī)模,還是對外接口種類、運行性能,國產(chǎn)FPGA器件都達到了裝備系統(tǒng)的基本應用需求。
現(xiàn)階段國產(chǎn)FPGA器件由于研制起步晚,在芯片研制及裝備應用驗證上不夠充分,與進口器件使用相比存在使用及上裝經(jīng)歷少等問題。因此,國產(chǎn)器件的選用需要通過不斷地應用驗證來優(yōu)化,從而進一步促使FPGA器件設計能力的提高和裝備應用的推廣。
該文提出了國產(chǎn)FPGA應用上存在的問題,給出在存儲刀片產(chǎn)品上的一種應用驗證實現(xiàn)方法,重點闡述在存儲刀片上集成國產(chǎn)FPGA器件后板卡的功能性能技術(shù)指標情況,以供用戶和研制單位參考。
經(jīng)過對國產(chǎn)FPGA器件的技術(shù)分析與應用情況梳理,國產(chǎn)FPGA在實際應用時還有改進空間,具體包括:
(1)國產(chǎn)FPGA器件本身設計存在改進空間。
(2)使用國產(chǎn)FPGA器件后應用電路設計尚不夠完善。高性能國產(chǎn)FPGA器件為近兩年內(nèi)才流片上市,在項目工程運用時照搬進口器件的設計思路,導致存在不穩(wěn)定的硬件隱患,相應的設計要求有待明確。
(3)采用國產(chǎn)FPGA器件進行邏輯設計時,應用設計方法沒有根據(jù)國產(chǎn)FPGA性能差異做出相應的更改和適配,設計方法有待進一步適應調(diào)整和優(yōu)化。
(4)利用EDA工具開發(fā)國產(chǎn)FPGA器件有待改進。FPGA設計特有的邏輯綜合和布局布線算法及相關(guān)配置參數(shù)與國產(chǎn)FPGA器件需要適配和修正,時序綜合報告以反映器件運行的實際狀態(tài)。
由此可見,電子元器件FPGA的國產(chǎn)化設計實現(xiàn)和應用驗證工作需要繼續(xù)推進。
為驗證國產(chǎn)FPGA器件的功能性能,尤其是PCIe、RapidIO、DDR等IP核集成了多個高速收發(fā)器、串并IO、時鐘驅(qū)動器等資源情況,通過構(gòu)建最簡數(shù)據(jù)采集存儲刀片,覆蓋芯片內(nèi)部的這些特殊資源對國產(chǎn)FPGA器件進行驗證。

圖1 FPGA設計框圖
存儲刀片F(xiàn)PGA設計框圖如圖1所示,其中PCIe接口1路作為通訊接口,用于FPGA邏輯與通用處理器進行命令交互,另兩路PCIe可根據(jù)通道數(shù)量及帶寬需求選擇1路或者2路PCIe接口;前端用戶為RapidIO接口輸入,數(shù)據(jù)由FPGA接口邏輯代碼進行運算處理后傳輸至DDR3存儲器對應的接口通道中,然后在DDR3緩存管理模塊控制下寫入存儲器中;PCIe IP通過BAR空間及AXI空間的映射,將FPGA端外掛DDR3存儲器直接映射在CPU的內(nèi)存空間,CPU可以直接訪問FPGA端DDR緩存中的數(shù)據(jù),進而將數(shù)據(jù)寫入到SSD電子盤中。
PCIe接口用于實現(xiàn)PCIe數(shù)據(jù)包處理、寄存器通信及數(shù)據(jù)交互,包括接口處理模塊、寄存器模塊及PCIe IP核;主要完成與處理器之間命令交互以及響應NVMe盤的請求數(shù)據(jù)包,其中IP核采用PCIe 3.0,接口支持x8模式,速率為8 Gbps,整個FPGA中采用兩路PCIe IP進行通信,可以提高通信速率。
FPGA DDR3緩存管理模塊的主要功能為將前端接收到的數(shù)據(jù)或者測試數(shù)據(jù)按照通道號寫入軟件分配的對應DDR空間中,同時根據(jù)數(shù)據(jù)流方向進行通道數(shù)據(jù)處理、仲裁及控制管理,實現(xiàn)不同邏輯通道數(shù)據(jù)寫入不同緩存空間的功能;同時讀緩存管理模塊會根據(jù)軟件配置的讀緩存地址從給定的DDR區(qū)域中讀出數(shù)據(jù)并寫入到后級單元中。
RapidIO接口模塊遵循SRIO接口協(xié)議,完成SRIO協(xié)議幀頭和數(shù)據(jù)的組包并發(fā)送,用于實現(xiàn)RapidIO總線通信,可以接收來自其他模塊發(fā)送的RapidIO數(shù)據(jù)信息,F(xiàn)PGA內(nèi)RapidIO通道采用2路x4鏈路實現(xiàn),總線速率為6.25 Gbps,模塊中使用到的RapidIO事務類型主要為NWrite事務,可以保證高效率的數(shù)據(jù)傳輸。
FPGA采用高性能器件,可滿足高速數(shù)據(jù)傳輸及處理要求,F(xiàn)PGA內(nèi)各邏輯單元及IP均通過AXI總線通信,F(xiàn)PGA端通過PCIe BAR空間及AXI空間的映射,實現(xiàn)了FPGA內(nèi)存對CPU可見,從而CPU內(nèi)存與FPGA緩存之前數(shù)據(jù)搬移建立了高速通道。另外,F(xiàn)PGA與CPU之間采用PCIe MSI中斷,從而提高數(shù)據(jù)傳輸及命令處理效率。
在邏輯設計過程中,通過增加數(shù)據(jù)處理位寬,降低工作頻率,減少時鐘域,多流水線處理等方法來優(yōu)化工程代碼,通過這些存儲刀片設計工作,完成了基于國產(chǎn)FPGA器件的驗證平臺構(gòu)建,包含了多種類型的高性能接口,可以運用大量的邏輯資源來充分驗證FPGA的功能性能指標。
在FPGA開發(fā)過程中,利用國產(chǎn)EDA工具及補丁包的方式對FPGA內(nèi)部高速總線IP核、PCIe IP核以及DDR控制器IP核等相關(guān)參數(shù)進行適配調(diào)整,以優(yōu)化國產(chǎn)器件在不同環(huán)境下的特性參數(shù),提高國產(chǎn)FPGA適應能力。
存儲刀片內(nèi)FPGA資源使用情況如表1所示,其中高速總線收發(fā)器GTH、觸發(fā)器、時鐘資源BUFG及PCIe IP等資源使用較充分,其他資源均還有較多余量,對于后續(xù)功能及性能提升具有較大空間,整個設計幾乎遍歷了所有器件資源種類。

表1 FPGA資源使用情況統(tǒng)計
采用EDA工具編譯設計程序,可根據(jù)FPGA內(nèi)部資源、時鐘及IO等使用情況分析出FPGA器件的大致功耗,如表2所示。其中高速收發(fā)器GTH、動態(tài)功耗以及IO功耗較高,其余資源功耗較小,整片F(xiàn)PGA功耗預估為26 W。FPGA器件內(nèi)部各個電源的功耗中,內(nèi)核、MGT及輔助電源占比較多,其余占比較小。

表2 FPGA功耗分布
國產(chǎn)FPGA器件一般采用反向設計,功能性能相對于進口FPGA器件會存在一定差距。為了將國產(chǎn)FPGA器件應用于存儲刀片并能夠達到同等的設計效果,需要對芯片的供電電路、時鐘源穩(wěn)定性、散熱處理以及邏輯優(yōu)化等方面進行優(yōu)化設計及適配。
4.2.1 時鐘優(yōu)化及適配
國產(chǎn)FPGA器件時鐘包括邏輯時鐘輸入和高速總線參考時鐘輸入,相對應進口FPGA器件,其對時鐘信號較為敏感,對時鐘抖動、偏移等要求較高。為適應國產(chǎn)FPGA器件時鐘輸入要求,對時鐘電路進行了優(yōu)化設計,包括采用高穩(wěn)定性、高可靠的時鐘晶體,采用大扇出、驅(qū)動能力強的時鐘BUFFER,減少高速總線時鐘共享,在滿足性能要求的前提下降低時鐘頻率等優(yōu)化措施。
根據(jù)應用需求設計了FPGA時鐘電路,如圖2所示,共有4組時鐘電路,其中25 MHz、156.25 MHz由差分晶振產(chǎn)生,各自經(jīng)過時鐘Buffer后供FPGA的高速收發(fā)器GTH作為參考時鐘,分別用以配合FPGA產(chǎn)生不同總線速率;同時25 MHz Buffer輸出1路時鐘供給DDR作為系統(tǒng)時鐘使用;另外125 MHz和25 MHz晶振為單端輸出,給FPGA內(nèi)部邏輯使用,并充分考慮內(nèi)部時鐘資源布局,結(jié)合外部時鐘電路進行規(guī)劃,使設計性能達到最優(yōu),滿足數(shù)據(jù)的高帶寬穩(wěn)定傳輸。

圖2 FPGA時鐘電路
4.2.2 供電資源優(yōu)化及適配
根據(jù)國產(chǎn)FPGA器件手冊要求,F(xiàn)PGA供電要求相比進口器件更高,在整個FPGA器件中,主要功耗分為器件靜態(tài)功耗、器件動態(tài)功耗、高速總線功耗以及硬件IP功耗;為降低功耗,對FPGA相關(guān)電路進行了優(yōu)化設計,提高部分供電電壓的設計余量,以及將未使用的GTH BANK不進行供電,降低FPGA內(nèi)部時鐘頻率,同時為保證各級提供電壓能夠滿足FPGA的上電要求,對相應的電源時序使能控制電路進行了優(yōu)化設計。
4.2.3 FPGA程序設計優(yōu)化及適配
在FPGA程序設計時將工程進行模塊劃分,減少FPGA內(nèi)部不必要邏輯及緩存單元使用,利用編譯工具,對FPGA資源情況進行了統(tǒng)計分析、策略對比選擇、時序綜合優(yōu)化等,同時對FPGA底層資源物理參數(shù)的調(diào)優(yōu)以達到高性能的邏輯時序結(jié)果。另外,在FPGA程序中使用的SRIO接口程序,官方IP會使用大量的BUFG,導致BUFG使用過多,影響布局布線,因此對BUFG資源進行了優(yōu)化設計。
4.2.4 散熱設計優(yōu)化及適配
由于國產(chǎn)FPGA較進口器件功耗略高,因此整個模塊對散熱的要求更高,一般的風冷設計很難滿足散熱要求。對模塊上的各部件進行結(jié)構(gòu)優(yōu)化設計以利于快速散熱,同時散熱冷板采用高強度鋁合金板材一體銑削加工成型,作為模塊主要的強度支撐,對所有大功耗元器件進行傳導散熱,通過熱管、導熱墊、導熱塊實現(xiàn)從熱源到導冷面的快速傳熱,能夠高效地將模塊任意位置上的熱源傳導到冷板兩側(cè)。
4.3.1 FPGA PCIe接口驗證
對FPGA的兩路PCIe接口進行測試,測試內(nèi)容為低溫、常溫、高溫條件下PCIe接口在Gen3.0是否工作正常。
FPGA的兩路PCIe接口分別與PCIe橋片的兩個端口相連接,均采用x8模式,在系統(tǒng)內(nèi)可查看FPGA兩路PCIe連接狀態(tài)信息,并在CPU軟件控制下實現(xiàn)FPGA內(nèi)部數(shù)據(jù)由PCIe接口搬移至NVMe盤中,統(tǒng)計數(shù)據(jù)傳輸速率。
如表3所示,PCIe接口連接狀態(tài)為8 GT/s x8模式,總線速率為8 GT/s,兩路PCIe接口數(shù)據(jù)傳輸速率均大于2.0 GB/s。

表3 PCIe測試結(jié)果
4.3.2 FPGA DDR3接口驗證
對FPGA的兩組DDR3緩存接口進行讀寫測試,測試內(nèi)容為低溫、常溫、高溫環(huán)境條件下DDR3工作是否正常。
DDR3工作頻率設計為600 MHz時,利用測試程序?qū)DR3進行數(shù)據(jù)讀寫測試,同時監(jiān)測寫入與讀出的數(shù)據(jù)是否一致。
測試結(jié)果如表4和圖3所示,結(jié)果顯示,國產(chǎn)FPGA DDR3接口在不同環(huán)境下工作正常,讀寫時序能夠滿足要求。

表4 DDR3測試結(jié)果

圖3 FPGA DDR3讀寫時序
4.3.3 FPGA RapidIO接口驗證
對FPGA兩路RapidIO接口進行測試,測試內(nèi)容為低溫、常溫、高溫條件下兩路RapidIO接口是否工作正常。
FPGA兩路RapidIO接口分別通過背板與接口模塊FPGA連接,均采用x4模式,總線速率為6.25 Gbps,編譯RapidIO測試程序,由接口模塊FPGA產(chǎn)生信號源數(shù)據(jù)發(fā)送至存儲刀片F(xiàn)PGA,存儲刀片F(xiàn)PGA通過RapidIO接口接收數(shù)據(jù),進行校驗及統(tǒng)計,結(jié)果如表5及圖4所示。結(jié)果表明,RapidIO接口事務發(fā)起及響應功能正常,RapidIO總線數(shù)據(jù)傳輸速率約16 Gb/s。

表5 RapidIO接口測試結(jié)果

圖4 FPGA RapidIO接口時序
4.3.4 FPGA集成記錄功能測試
為驗證核心器件在模塊上的功能和性能,存儲刀片上通過安裝各層級的基礎(chǔ)軟件或者應用軟件工程,在不同的層面上測試驗證各器件的指標,同時可以評估核心器件對模塊上其他的電子元器件的影響。
將存儲刀片與信號源通過背板連接,存儲刀片F(xiàn)PGA與信號源模塊之間總線速率為6.25 Gbps,采用x4模式,兩路RapidIO總線同時工作,由信號源發(fā)送數(shù)據(jù)至存儲刀片,存儲刀片接收數(shù)據(jù)后進行統(tǒng)計及校驗。存儲刀片集成測試除了可以驗證各接口的工作情況,還可以驗證FPGA內(nèi)部邏輯單元和相關(guān)特殊資源工作情況以及在存儲刀片集成環(huán)境下的整體工作性能。測試結(jié)果如表6所示,數(shù)據(jù)存儲速率約為3 500 MB/s。

表6 FPGA集成記錄功能測試結(jié)果
通過國產(chǎn)FPGA器件驗證平臺的測試與驗證,得出了國產(chǎn)FPGA在本項目中的具體性能情況,同時可以分析出相關(guān)驗證結(jié)果是否滿足本項目設計要求,具體情況如表7所示。從表中可以看出,國產(chǎn)FPGA器件在PCIe接口傳輸、DDR3接口傳輸、Rapid IO接口傳輸、集成記錄功能測試以及功耗指標上均滿足本項目的設計要求,可以實現(xiàn)對進口器件的國產(chǎn)化替代。

表7 國產(chǎn)FPGA器件在存儲刀片中的驗證結(jié)果
文中介紹了基于國產(chǎn)FPGA搭建的存儲刀片以及驗證測試的實施過程,得出了存儲刀片使用國產(chǎn)FPGA器件后相關(guān)的使用情況,對于類似設計的驗證具有參考價值。國產(chǎn)FPGA器件在設計、應用、適配以及EDA工具等方面需要進一步完善。另外,一些協(xié)議符合性驗證在現(xiàn)有驗證平臺上難以實現(xiàn),需要借助其他一些測試設備才能完成,這部分工作后續(xù)將進一步補充完善。