《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于硬件加速器的高性能芯片仿真與驗(yàn)證
基于硬件加速器的高性能芯片仿真與驗(yàn)證
2019年電子技術(shù)應(yīng)用第8期
王 雷,王晨光,吳 斌
中國(guó)科學(xué)院微電子研究所,北京100029
摘要: 展示了一款高性能無(wú)線局域網(wǎng)芯片采用硬件仿真加速器進(jìn)行全芯片仿真與驗(yàn)證的工作。該芯片采用了4發(fā)4收多天線、256QAM等技術(shù),最高可以實(shí)現(xiàn)1.2 Gb/s的數(shù)據(jù)吞吐率。由于該芯片設(shè)計(jì)復(fù)雜,規(guī)模龐大,只使用傳統(tǒng)的軟件模擬和FPGA仿真難以實(shí)現(xiàn)芯片錯(cuò)誤的快速定位與解決。在此情況下,使用硬件仿真加速器Palladium XP提供的全電路仿真方式(In-Circuit Emulation mode,ICE mode)成為了更為有效的方式。在實(shí)際應(yīng)用中一個(gè)1 000幀的測(cè)試用例可以在20 min內(nèi)完成,相比傳統(tǒng)的軟件模擬提高了400倍以上的效率,相比FPGA原型系統(tǒng)驗(yàn)證則能夠提供所有所需要的波形供下載分析。該方法大大加快了復(fù)雜芯片的設(shè)計(jì)效率。
中圖分類號(hào): TN47
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.199806
中文引用格式: 王雷,王晨光,吳斌. 基于硬件加速器的高性能芯片仿真與驗(yàn)證[J].電子技術(shù)應(yīng)用,2019,45(8):61-62,67.
英文引用格式: Wang Lei,Wang Chenguang,Wu Bin. Debugging a high-performance WLAN chip with palladium XP emulator[J]. Application of Electronic Technique,2019,45(8):61-62,67.
Debugging a high-performance WLAN chip with palladium XP emulator
Wang Lei,Wang Chenguang,Wu Bin
Institute of Microelectronics of the Chinese Academy of Sciences,Beijing 100029,China
Abstract: This paper presents a high-performance wireless local area network(WLAN) chip with throughputs up to 1.2 Gb/s, designed and verified under the help of the Palladium XP emulator. The chip supports 4×4 MIMO and 256-QAM technique, and it is a high-complex and large-scale design. During the debug period, the designers have to wait for a longtime for the software simulator generating the waveform, typically one hour for one frame. However, with the in-circuit emulation(ICE) mode offered by the Palladium XP emulator and the software platform UXE, a 1000-frame testing case can be finished in 20 min and all the important waveform for debugging can be downloaded. The whole verification system greatly improves the design efficiency and helps the digital front-end developing stage finished in time.
Key words : emulation;VLSI design;digital circuit verification

0 引言

    隨著超大規(guī)模集成電路的發(fā)展,芯片數(shù)字電路的規(guī)模時(shí)鐘保持快速增長(zhǎng)的態(tài)勢(shì)。這一發(fā)展趨勢(shì)在給電路設(shè)計(jì)帶來(lái)了巨大挑戰(zhàn)的同時(shí),也使得電路的仿真驗(yàn)證相比之前更為困難。當(dāng)前在子模塊設(shè)計(jì)階段,設(shè)計(jì)人員主要采用軟件模擬(Software Simulation)進(jìn)行初步驗(yàn)證,但是在整個(gè)芯片層面如果依然采用軟件模擬,其耗時(shí)非常長(zhǎng),往往模擬單一幀的時(shí)間需要數(shù)個(gè)小時(shí)甚至數(shù)十個(gè)小時(shí);而如果采用FPGA驗(yàn)證,對(duì)于全芯片設(shè)計(jì)的綜合時(shí)間需要數(shù)個(gè)小時(shí),而且在實(shí)際運(yùn)行中出現(xiàn)問(wèn)題難以快速定位,每次添加觀測(cè)信號(hào)都需要重新綜合。使用新的驗(yàn)證工具來(lái)更好地進(jìn)行錯(cuò)誤定位和修正后驗(yàn)證成為了保證芯片按時(shí)完成設(shè)計(jì)的關(guān)鍵[1-2]。

1 測(cè)試芯片簡(jiǎn)介

    本項(xiàng)目所要仿真驗(yàn)證的設(shè)計(jì)是一款基于IEEE 802.11 AC(Wi-Fi 5)標(biāo)準(zhǔn)的無(wú)線通信基帶芯片,采用了4×4 Multiple Input Multiple Output(MIMO),256 QAM信道調(diào)制模式等多種技術(shù),可以實(shí)現(xiàn)協(xié)議層最高1.2 Gb/s的吞吐率。該芯片內(nèi)集成了JESD204B接口、PCIE 2.0接口、下層媒體介入層(low Media Access Control,low MAC)模塊、發(fā)送機(jī)、接收機(jī)等模塊。在FPGA原型綜合中使用了超過(guò)200k ALM,35k的寄存器單元和2 Mb以上的存儲(chǔ)器資源,整體芯片等效門超過(guò)了1 000萬(wàn)。該芯片整體的架構(gòu)如圖1所示,主控端通過(guò)PCIE接口與芯片通信,而模擬和射頻芯片則通過(guò)JESD204B接口進(jìn)行通信。發(fā)送機(jī)部分主要包括擾碼生成、交織、反傅里葉變換、調(diào)制器等模塊;接收機(jī)部分則包括濾波器、同步器、傅里葉變換、信道估計(jì)、MIMO檢查、去交織、維特比解碼和去擾碼等模塊。

wdz3-t1.gif

    該芯片設(shè)計(jì)主要規(guī)格指標(biāo)如下:

    (1)具有4根天線,支持最高4個(gè)空間流動(dòng)發(fā)送接收;

    (2)向下兼容802.11a/b/g/n;

    (3)支持802.11AC 20M/40M/80MHz 3種帶寬;

    (4)支持多種調(diào)制編碼模式,最高支持256 QAM,支持短GI,物理層可實(shí)現(xiàn)最高速率1.7 Gb/s。

2 硬件仿真與加速器

    在電路的開發(fā)階段,主要采用Verilog可綜合語(yǔ)句進(jìn)行電路表達(dá),使用非可綜合語(yǔ)句進(jìn)行測(cè)試環(huán)境的搭建。該方法是軟件模擬中常用的方式,保證了芯片各個(gè)子模塊能夠快速地完成初步開發(fā)。但是在整體調(diào)試階段,如果還是采用軟件模擬的方式,耗時(shí)非常長(zhǎng),而且只能使用非常簡(jiǎn)單的測(cè)試用例。如果采用FPGA原型系統(tǒng)進(jìn)行驗(yàn)證,雖然整體驗(yàn)證系統(tǒng)可以全速運(yùn)行,但是在發(fā)生運(yùn)行異常需要尋找設(shè)計(jì)中錯(cuò)誤點(diǎn)的時(shí)候,往往需要修改觀測(cè)信號(hào),而每次修改都意味著需重新綜合整個(gè)設(shè)計(jì)。在調(diào)試開始的階段,整體設(shè)計(jì)中不完善的部分還非常多,如果只采用軟件模擬和FPGA硬件仿真,其調(diào)試效率無(wú)法達(dá)到一個(gè)合理的速度。

    在這種情況下,采用硬件仿真加速器就成為了一個(gè)非常合理的選擇。它在仿真速度上介于軟件模擬和FPGA原型系統(tǒng)之間,但是對(duì)內(nèi)部信號(hào)的觀測(cè)與下載要比FPGA方便,能夠提供與軟件模擬相類似的波形觀測(cè)能力,且在修改RTL代碼后重新綜合的時(shí)間也與軟件模擬相近,要比同一款芯片進(jìn)行FPGA綜合的時(shí)間減少很多。

    Cadence公司的Palladium XP硬件仿真加速器是一款業(yè)內(nèi)領(lǐng)先的仿真加速器。其工作模式主要可分為軟件模擬加速(Simulation Acceleration,SA)與全系統(tǒng)仿真(In-Circuit Emulation,ICE)。在SA模式下,待測(cè)芯片(Die Under Test,DUT)部分下載到硬件仿真器后仿真運(yùn)行,而不可綜合的測(cè)試代碼部分還是運(yùn)行在服務(wù)器上由軟件模擬實(shí)現(xiàn)。這種方式的好處在于可以不用修改原來(lái)測(cè)試代碼。而在ICE模式下,DUT和測(cè)試代碼均需要下載到仿真器上,因此測(cè)試代碼也需要符合可綜合的要求。

3 仿真代碼修改與ICE模式仿真實(shí)現(xiàn)

    在電路子模塊的開發(fā)階段,設(shè)計(jì)人員積累了較多不可綜合的測(cè)試代碼,因此希望能夠在硬件仿真階段繼續(xù)使用之前的大部分測(cè)試代碼,所以選用SA模式進(jìn)行硬件仿真。但是在測(cè)試過(guò)程中發(fā)現(xiàn),由于測(cè)試部分依然運(yùn)行在服務(wù)器上,其運(yùn)行速率的瓶頸受限于服務(wù)器的性能,依然難以實(shí)現(xiàn)更為快速的仿真測(cè)試。從仿真時(shí)間來(lái)看,雖然相比全部由軟件模擬可以減小90%的仿真時(shí)間,但是依然難以滿足本項(xiàng)目對(duì)仿真效率的要求。

    為了進(jìn)一步提高測(cè)試效率,需要對(duì)測(cè)試代碼進(jìn)行可綜合性修改。通過(guò)對(duì)仿真器說(shuō)明文檔的研究,發(fā)現(xiàn)對(duì)于仿真器的可綜合代碼要求與FPGA或者其他綜合工具的要求有較多不同之處[3]。特別是其對(duì)task、initial、for語(yǔ)句的支持使得測(cè)試代碼整體架構(gòu)不需要作過(guò)多的調(diào)整,依然采用initial塊控制測(cè)試用例的先后順序,task語(yǔ)句定義具體測(cè)試用例的方式來(lái)進(jìn)行。當(dāng)然相比軟件模擬中對(duì)測(cè)試語(yǔ)句基本無(wú)限制相比,依然需要對(duì)測(cè)試代碼進(jìn)行諸多修改以滿足可硬件加速器可綜合的要求。修改中發(fā)現(xiàn)的主要修改點(diǎn)和注意點(diǎn)包括:

    (1)在同一個(gè)initial塊及其內(nèi)部調(diào)用的task必須采用同一個(gè)時(shí)鐘信號(hào)進(jìn)行同步;

    (2)不支持“#延時(shí)”的寫法,可以通過(guò)插入若干個(gè)時(shí)鐘周期來(lái)控制兩條相鄰指令的間隔;

    (3)task內(nèi)可以調(diào)用同一module內(nèi)的task,但是不能調(diào)用子模塊內(nèi)定義的task;

    (4)task內(nèi)可以檢測(cè)子模塊內(nèi)的信號(hào),但是不能改變此類信號(hào)的賦值;

    (5)wait指令只能對(duì)電平信號(hào)使用,不能進(jìn)行邊沿觸發(fā),可以通過(guò)在后面增加一個(gè)時(shí)鐘邊沿來(lái)保證同步;

    (6)task內(nèi)盡量使用非阻塞賦值,信號(hào)的先后時(shí)序則通過(guò)@(posedge clk)來(lái)實(shí)現(xiàn);

    (7)如果采用for循環(huán)進(jìn)行操作,要注意for循環(huán)的控制語(yǔ)句理論上能夠?qū)崿F(xiàn)的最大周期數(shù),如果語(yǔ)句內(nèi)某些信號(hào)無(wú)法滿足該最大周期數(shù),則會(huì)綜合出錯(cuò)。

    通過(guò)對(duì)相關(guān)測(cè)試代碼的修改,最終使得整個(gè)DUT和測(cè)試代碼均可完成仿真綜合并下載至仿真加速器內(nèi)進(jìn)行運(yùn)行,成功地提高了整個(gè)系統(tǒng)的運(yùn)行速度。在ICE模式下一個(gè)1 000幀的測(cè)試用例只需要20 min便可運(yùn)行完成,相比原有的軟件模擬提高了400倍的整體運(yùn)行效率。主要模塊的信號(hào)也可全部下載下來(lái),大大提高了代碼錯(cuò)誤定位的速度。

4 結(jié)論

    在目前的超大規(guī)模芯片設(shè)計(jì)過(guò)程中,電路調(diào)試與驗(yàn)證所需的人員和時(shí)間往往超過(guò)了電路設(shè)計(jì)階段的人員及時(shí)間。因此在整體芯片的開發(fā)過(guò)程中必須重視芯片驗(yàn)證的效率。而合理地使用硬件仿真加速器就是一個(gè)能夠大大提高芯片調(diào)試與驗(yàn)證效率的方法。

    而對(duì)于設(shè)計(jì)人員而言,在開發(fā)階段如果能夠考慮今后驗(yàn)證的需求,設(shè)計(jì)更為符合可綜合語(yǔ)句要求的測(cè)試用例,也能夠更好地兼顧設(shè)計(jì)階段模擬和后續(xù)仿真的需求,從而提高整體的開發(fā)進(jìn)度。

參考文獻(xiàn)

[1] 柏穎,馬玲芝,郭嘉,等.基于硬件仿真加速平臺(tái)的PCIE系統(tǒng)級(jí)調(diào)測(cè)試方法[J].電子技術(shù)應(yīng)用,2017,43(8):28-31.

[2] 蘇一萌.基于Palladium XP的Emulation運(yùn)行性能和資源消耗的優(yōu)化方法[J].中國(guó)集成電路,2012,11(162):65-67.

[3] UXE User Guide(Product Version 15.1)[M].Cadence,2016.



作者信息:

王  雷,王晨光,吳  斌

(中國(guó)科學(xué)院微電子研究所,北京100029)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。