1 前语
在数字集成电路的规划中,当规划工程师在用硬件描绘言语(HDL:Hardware Description Language)完结规划之后,需求经过仿真来查验规划是否满意预期的功用。在仿真中,规划作业师需求为规划项目树立一个测验渠道,这个测验渠道为规划项目供给尽或许齐备的测验鼓励,并供给可供观测的输出呼应,依据这些输出呼应信息,规划工程师便能够判别规划项目是否满意预期的功用。在进行仿真工程时,规划工程师一般先对各个功用模块进行仿真验证,悉数经往后再对整个体系规划进行仿真。当规划工程师在仿真中发现过错,就需求进行细心调试,找出过错发生的原因并加以修正。
跟着体系规划的杂乱性不断添加,当规划集成度超越百万门后,规划正确性的验证比规划自身还要费力,体系仿真的实时性很难满意要求。在针对杂乱电路进行软件仿真时,体系的仿真时刻往往需求占有大部分的规划时刻。咱们常常会为了仿真电路的某些功用,而不得不等上几个小时乃至几天。怎么进步仿真功率,削减仿真杂乱度,缩短仿真时刻,将成为体系规划中的要害一环.运用根据C言语的规划和验证办法来替代传统的根据HDL言语规划的仿真,然后加快仿真速度,可是这种办法只适用规划的前期阶段。为了便利而快速的完结仿真验证,及时得到测验数据,本文提出运用硬件加快的思维,选用硬件仿真渠道和软件仿真渠道彼此通讯,即经过主机上运转的仿真软件与硬件渠道相结合,完结软硬件协同加快仿真,仿真速度能够进步30倍。
2 软硬件协同加快仿真
在传统的规划与验证进程中,规划工程师首要将杂乱的体系逐模块的用硬件描绘言语表述,待一切模块在仿真器上独自验证经往后,经过模块间整合进行部分和整个规划的仿真,如图1所示。
图1 规划验证进程
假定模块Master和模块Slave是整个杂乱规划中的一部分。模块Master担任把输入数据进行数据处理,随后把处理后数据发送到下一个模块 Slave,Slave模块完结一个功用杂乱的算法运算,运算完毕后把成果返回到模块Master中,进行下一步操作,规划框图如图2所示。
图2 规划比如框图
规划工程师在完结模块Master和模块Slave的HDL规划后,用HDL 仿真器软件分别对两个模块进行仿真验证,模块Master的仿真时刻花费了五分钟,模块Slave花费了十五分钟,两个模块进行联合仿真花费了二十分钟。假如规划不正确,则要对规划进行从头修正和仿真直到验证经过停止,重复的仿真作业即将花费几天乃至几星期。为了缩短仿真时刻,本文提出运用硬件加快的思维,对规划进行软硬件协同加快仿真。模块Master和模块Slave的功用首要分别在软件上仿真验证经过,待模块Slave经归纳完结后,把模块 Slave下载到硬件中,模块Master依然运转在软件上,经过HDL仿真东西供给的外部接口完结软硬件间的数据交互,进行模块Slave和模块 Master的联合仿真验证,一旦仿真经过,把模块Master和模块Slave都放入硬件中进行加快仿真验证,这时两个模块的联合仿真时刻将大大缩短。
图3加快仿真
本文描绘的加快仿真技能完结框图如图3所示。DUT(Design Under Test)由可归纳的Verilog HDL言语规划完结。DUT归纳完结后,下载到现场可编程门阵列(FPGA:Field Programmable Gate Array)中进行加快仿真验证。运转在HDL 仿真器上的测验文件TestBench给DUT发送测验鼓励并呼应输出信息,FPGA与HDL仿真器间的信息交流由仿真器供给的Verilog 编程言语接口(PLI:Programming Language Interface)来完结。Verilog PLI为Verilog代码调用C言语编写的函数供给了一种机制,它供给了C言语动态链接程序与仿真器的接口,能够完结C言语和Verilog言语的协同仿真。因为C言语在进程操控方面比Verilog言语有优势,能够用C程序来发生测验鼓励和读取信号的值。以Windows渠道为例,用户经过运用C言语和Verilog PLI编写接口函数,编译代码并生成动态链接库(DLL:Dynamic Link Library),然后在由Verilog言语编写的TestBench中调用这些函数。在履行TestBench文件进行仿真时,TestBench中的C函数一旦链接成功,C函数将详细信息传递给HDL仿真器,履行C函数就能够像仿真Verilog代码相同进行仿真。这样,规划工程师运用 Verilog PLI接口创立自己的体系调用使命和体系函数,就能够经过C言语编程对DUT进行辅佐仿真,到达Verilog语法所不能完结的功用。
3 仿真实例
图4 软硬件协同加快仿真渠道框图
软硬件协同加快仿真渠道框图如图4所示。咱们运用的主机装备为2.66GHz Intel Core2处理器和2GB内存。软件渠道HDL仿真器运转于主机上,完结对仿真进程的操控和检测。HDL仿真器选用Mentor Graphics子公司Model Tech公司出品的ModelSim软件,它全面支撑VHDL和Verilog言语的IEEE规范,能够完结VHDL、Verilog以及VHDL- Verilog混合规划的仿真,还能够与C言语一同完结对HDL规划文件完结协同仿真。一起,相对于大多数的HDL仿真软件来说,ModelSim在仿真速度上也有显着优势,而且它支撑很多的FPGA厂家库,是规划工程师做FPGA规划的RTL级和门级电路仿真的首选。
硬件渠道主要以FPGA为中心,选用了一片Xilinx公司推出的Virtex-5 XC5VSX95T-FF1136 芯片,它内部有丰厚的逻辑资源,包含14720片Slices,8784Kb的BlockRam,640片DSP 48E Slices,16个GTP 收发器,640个可装备 I/O 管脚。此外,该芯片内嵌了一个PCI-express Endpoint Block 硬核。Xilinx公司供给的IP核endpoint Block Plus for PCIe解决方案适用于 Virtex-5 SXT FPGA架构,该IP核例化了Virtex-5 SXT器材中内嵌的Virtex-5 Integrated Block for PCI Express,为完结单片可装备PCI-express总线解决方案供给了或许。PCI-express总线作为下一代高性能I/O互联技能和规范的局域I/O总线,将广泛应用于未来各种计算机渠道。
在试验中,咱们选用Xilinx公司的IP核FFT(Fast Fourier Transform)v6.0[8]模块作为DUT,该FFT核装备成Pipelined Streaming I/O的方法,它能够完结对恣意距离或许接连数据帧的处理。FFT模块在ModelSim软件上运转的仿真成果波形如图5所示。
图5 IFFT模块仿真波形
咱们分别对DUT进行纯软件仿真和软硬件协同加快仿真测验,试验成果如图6所示。仿真成果与主机装备、规划的杂乱度以及仿真时钟周期数有关。
图6 试验成果比照
4 定论
本文运用硬件加快的思维,提出了根据FPGA的软硬件协同加快仿真技能。用可归纳的Verilog言语编写的规划测验文件(DUT)经归纳完结后,下载到 FPGA中,TestBench依然运转在主机的仿真器ModelSim软件上,经过Verilog编程言语接口(PLI)进行软硬件间的数据交互,然后完结对DUT的软硬件协同加快仿真。试验成果表明,相对于纯软件仿真,运用软硬件协同加快仿真技能仿真速度进步了30倍,这大大缩短了仿真时刻,然后到达缩短规划周期的意图。
作者 江霞林,周剑扬,杨银涛,林晓立