1 测试芯片简介
本项目所要仿真验证的设计是一款基于IEEE 802.11 AC(Wi-Fi 5)标准的无线通信基带芯片,采取了4×4 Multiple Input Multiple Output(MIMO),256 QAM信道调制模式等多种技能,可以实现协议层最高1.2 Gb/s的吞吐率。该芯片内集成了JESD204B接口、PCIE 2.0接口、下层媒体参与层(low Media Access Control,low MAC)模块、发送机、吸收机等模块。在FPGA原型综合中利用了超过200k ALM,35k的寄存器单元和2 Mb以上的存储器资源,整体芯片等效门超过了1 000万。该芯片整体的架构如图1所示,主控端通过PCIE接口与芯片通信,而仿照和射频芯片则通过JESD204B接口进行通信。发送机部分紧张包括扰码天生、交织、反傅里叶变换、调制器等模块;吸收机部分则包括滤波器、同步器、傅里叶变换、信道估计、MIMO检讨、去交织、维特比解码和去扰码等模块。

该芯片设计紧张规格指标如下:

(1)具有4根天线,支持最高4个空间流动发送吸收;
(2)向下兼容802.11a/b/g/n;
(3)支持802.11AC 20M/40M/80MHz 3种带宽;
(4)支持多种调制编码模式,最高支持256 QAM,支持短GI,物理层可实现最高速率1.7 Gb/s。
2 硬件仿真与加速器
在电路的开拓阶段,紧张采取Verilog可综合语句进行电路表达,利用非可综合语句进行测试环境的搭建。该方法是软件仿照中常用的办法,担保了芯片各个子模块能够快速地完成初步开拓。但是在整体调试阶段,如果还是采取软件仿照的办法,耗时非常长,而且只能利用非常大略的测试用例。如果采取FPGA原型系统进行验证,虽然整体验证系统可以全速运行,但是在发生运行非常须要探求设计中缺点点的时候,每每须要修正不雅观测旗子暗记,而每次修正都意味着需重新综合全体设计。在调试开始的阶段,整体设计中不完善的部分还非常多,如果只采取软件仿照和FPGA硬件仿真,其调试效率无法达到一个合理的速率。
在这种情形下,采取硬件仿真加速器就成为了一个非常合理的选择。它在仿真速率上介于软件仿照和FPGA原型系统之间,但是对内部旗子暗记的不雅观测与下载要比FPGA方便,能够供应与软件仿照相类似的波形不雅观测能力,且在修正RTL代码后重新综合的韶光也与软件仿照附近,要比同一款芯片进行FPGA综合的韶光减少很多。
Cadence公司的Palladium XP硬件仿真加速器是一款业内领先的仿真加速器。其事情模式紧张可分为软件仿照加速(Simulation Acceleration,SA)与全部系仿真(In-Circuit Emulation,ICE)。在SA模式下,待测芯片(Die Under Test,DUT)部分下载到硬件仿真器后仿真运行,而不可综合的测试代码部分还是运行在做事器上由软件仿照实现。这种办法的好处在于可以不用修正原来测试代码。而在ICE模式下,DUT和测试代码均须要下载到仿真器上,因此测试代码也须要符合可综合的哀求。
3 仿真代码修正与ICE模式仿真实现
在电路子模块的开拓阶段,设计职员积累了较多不可综合的测试代码,因此希望能够在硬件仿真阶段连续利用之前的大部分测试代码,以是选用SA模式进行硬件仿真。但是在测试过程中创造,由于测试部分依然运行在做事器上,其运行速率的瓶颈受限于做事器的性能,依然难以实现更为快速的仿真测试。从仿真韶光来看,虽然比较全部由软件仿照可以减小90%的仿真韶光,但是依然难以知足本项目对仿真效率的哀求。
为了进一步提高测试效率,须要对测试代码进行可综合性修正。通过对仿真器解释文档的研究,创造对付仿真器的可综合代码哀求与FPGA或者其他综合工具的哀求有较多不同之处[3]。特殊是其对task、initial、for语句的支持使得测试代码整体架构不须要作过多的调度,依然采取initial块掌握测试用例的先后顺序,task语句定义详细测试用例的办法来进行。当然比较软件仿照中对测试语句基本无限制比较,依然须要对测试代码进行诸多修正以知足可硬件加速器可综合的哀求。修正中创造的紧张修正点和把稳点包括:
(1)在同一个initial块及其内部调用的task必须采取同一个时钟旗子暗记进行同步;
(2)不支持“#延时”的写法,可以通过插入多少个时钟周期来掌握两条相邻指令的间隔;
(3)task内可以调用同一module内的task,但是不能调用子模块内定义的task;
(4)task内可以检测子模块内的旗子暗记,但是不能改变此类旗子暗记的赋值;
(5)wait指令只能对电平旗子暗记利用,不能进行边沿触发,可以通过在后面增加一个时钟边沿来担保同步;
(6)task内只管即便利用非壅塞赋值,旗子暗记的先后时序则通过@(posedge clk)来实现;
(7)如果采取for循环进行操作,要把稳for循环的掌握语句理论上能够实现的最大周期数,如果语句内某些旗子暗记无法知足该最大周期数,则会综合出错。
通过对干系测试代码的修正,终极使得全体DUT和测试代码均可完成仿真综合并下载至仿真加速器内进走运行,成功地提高了全体系统的运行速率。在ICE模式下一个1 000帧的测试用例只须要20 min便可运行完成,比较原有的软件仿照提高了400倍的整体运行效率。紧张模块的旗子暗记也可全部下载下来,大大提高了代码缺点定位的速率。
4 结论
在目前的超大规模芯片设计过程中,电路调试与验证所需的职员和韶光每每超过了电路设计阶段的职员及时间。因此在整体芯片的开拓过程中必须重视芯片验证的效率。而合理地利用硬件仿真加速器便是一个能够大大提高芯片调试与验证效率的方法。
而对付设计职员而言,在开拓阶段如果能够考虑今后验证的需求,设计更为符合可综合语句哀求的测试用例,也能够更好地兼顾设计阶段仿照和后续仿真的需求,从而提高整体的开拓进度。
参考文献
[1] 柏颖,马玲芝,郭嘉,等.基于硬件仿真加速平台的PCIE系统级调测试方法[J].电子技能运用,2017,43(8):28-31.
[2] 苏一萌.基于Palladium XP的Emulation运行性能和资源花费的优化方法[J].中国集成电路,2012,11(162):65-67.
[3] UXE User Guide(Product Version 15.1)[M].Cadence,2016.
作者信息:
王 雷,王晨光,吴 斌
(中国科学院微电子研究所,北京100029)






