一种IES联合FPGA硬件仿真加速系统技术方案

技术编号:21184980 阅读:60 留言:0更新日期:2019-05-22 15:35
本发明专利技术提供了一种IES联合FPGA硬件仿真加速系统,该系统包括IES仿真模块、软硬件通信模块和FPGA硬件加速模块。IES仿真模块,按照预设的仿真时钟频率,循环提取预设时间段内被测FPGA设计的并行激励数据,将其发送到FPGA硬件加速模块;从FPGA硬件加速模块中循环提取被测FPGA设计的测试数据,按照相应的时序转换为被测FPGA设计仿真结果并显示;FPGA硬件加速模块,接收并行激励数据并存储至输入缓冲区中;产生测试激励时钟和被测FPGA设计各时钟域工作时钟,驱动输入缓冲区输出并行激励数据至被测FPGA设计;在并行激励数据的作用下,被测FPGA设计输出测试数据至输出缓冲区中。本发明专利技术降低了仿真环境的运行负担,提高了FPGA仿真的速度。

An IES Joint FPGA Hardware Simulation Acceleration System

The invention provides an IES joint FPGA hardware simulation acceleration system, which includes IES simulation module, hardware and software communication module and FPGA hardware acceleration module. IES simulation module, according to the preset simulation clock frequency, extracts the parallel excitation data of the tested FPGA design in the preset time period and sends it to the hardware acceleration module of the FPGA; extracts the test data of the tested FPGA design from the hardware acceleration module of the FPGA, converts it into the simulation result of the tested FPGA design according to the corresponding time sequence and displays it; and receives parallel excitation by the hardware acceleration module of the FPGA. The excitation data are stored in the input buffer; the test excitation clock is generated and the working clock of each clock domain is designed by the tested FPGA, which drives the input buffer to output the parallel excitation data to the tested FPGA design; under the action of the parallel excitation data, the tested FPGA design outputs the test data to the output buffer. The invention reduces the operation burden of the simulation environment and improves the simulation speed of the FPGA.

【技术实现步骤摘要】
一种IES联合FPGA硬件仿真加速系统
本专利技术涉及一种FPGA仿真加速系统,特别是使用可编程逻辑仿真软件与FPGA硬件联合的方法完成FPGA设计的仿真加速,属于FPGA仿真测试

技术介绍
仿真验证是FPGA软件设计测试的必要步骤,是保障FPGA软件质量的有效手段之一。可编程逻辑门阵列(FPGA)器件使用的规模和设计复杂度节节攀升。常规的FPGA仿真软件如IES、Modelsim等,仿真环境调试和运行时间长,已经不能完全满足日益紧张的型号研制任务。因此,需要研究对于FPGA代码的仿真验证加速技术来满足应用要求。目前仿真硬件加速的实现有两个途径,分别为基于FPGA的加速方法和基于专用加速计算结构的方法。基于专用加速计算结构的方法,需要设计专用的计算结构,研发和实验成本高,已经有相应产品应用了专业集成电路验证,但是价格居高不下,且可扩展行不强,往往应用于资金量充足的超大规模集成电路研发。基于FPGA的加速方法归功于FPGA设计灵活可以重构的特性,研发和实验成本低,可扩展性强,适用于小规模专业集成电路研发或者FPGA设计的验证。国际商业机器公司专利CN201380017736.3公开一种基于FPGA的硬件加速器的周期精确的和周期再现的内存,包括用FPGA来仿真被测器件的操作方法。该专利技术在一个实例中,通过从目标内存存储阵列中分离被测设计内存接口协议,创建内存的周期精确的模型。但是,该方法对于硬件设计的要求过高,除了有FPGA外还需要在硬件上附加内存,并且受到内存大小影响,对仿真软件适应能力差。《基于FPGA的软硬件协同仿真平台的设计》公开了一种基于FPGA的软硬件系统方法,包括:使用网口进行通信、使用图形界面打开数据的操作。然而,对比文件公开的处理方式仅限于单一时钟域,应用场景也只包含对于单独算法的验证。综上所述,现有技术存在下列问题:(1)、硬件结构复杂,对于加速板卡有特殊要求,可重用性不强;(2)、仿真验证软件和硬件通信机制建立不完善,不能实时控制被测设计运行,限制了仿真加速应用场景;(3)、对硬件运行速率没有明确的控制要求,不利于FPGA布局布线操作,容易出现时序无法收敛的情况。
技术实现思路
本专利技术的技术解决问题是:克服现有技术的不足,一种IES联合FPGA硬件仿真加速系统,使用简单的通用的硬件环境,完成FPGA设计的仿真加速,提高FPGA设计验证效率。本专利技术的技术解决方案是:一种IES联合FPGA硬件仿真加速系统,该系统包括IES仿真模块、软硬件通信模块和FPGA硬件加速模块;软硬件通信模块用于实现IES仿真环境与FPGA硬件加速模块之间的通信交互;其中:IES仿真模块,按照预设的仿真时钟频率,循环提取预设时间段内被测FPGA设计的并行激励数据,将其发送到FPGA硬件加速模块;从FPGA硬件加速模块中循环提取被测FPGA设计的测试数据,按照相应的时序转换为被测FPGA设计仿真结果,在IES仿真环境中显示;FPGA硬件加速模块,接收并行激励数据并存储至输入缓冲区中;产生时钟树,所述时钟树包括测试激励时钟和被测FPGA设计各时钟域工作时钟,测试激励时钟用于驱动输入缓冲区输出并行激励数据至被测FPGA设计;被测FPGA设计各时钟域工作时钟连接至被测FPGA设计,用于替代被测FPGA设计中的各时钟域工作时钟信号;在并行激励数据的作用下,被测FPGA设计输出测试数据至输出缓冲区中。所述IES仿真模块包括仿真环境、仿真环境接口模块,其中:仿真环境,用于按照仿真时钟频率,编译被测FPGA的激励文件,产生激励信号;将激励数据和测试数据同时显示出来;仿真环境接口模块,对预设时间段内激励信号,按照仿真时钟频率,将激励信号转换成激励数据,之后,将激励数据缓存,通过软硬件通信模块将激励数据发送给FPGA硬件加速模块,接收软硬件通信模块发送的测试数据,并按照时序转发给仿真环境。所述FPGA硬件加速模块包括输入FIFO、控制逻辑、时钟树产生模块、输出FIFO、输出缓存RAM,其中:输入FIFO,用于存储激励数据,并在测试激励时钟的驱动下输出激励数据至被测FPGA设计;同一时刻的激励数据存储在同一个存储单元;控制逻辑,接收硬件接口发送的数据搬移指令,将输出FIFO中的一定数量的测试数据搬移到输出缓存RAM中;接收硬件接口发送的门控时钟开启指令,产生有效的门控时钟至时钟树产生模块;时钟树产生模块,产生时钟树,并在门控时钟的使能控制下输出测试激励时钟和被测FPGA设计各时钟域工作时钟,测试激励时钟用于驱动输入缓冲区输出并行激励数据至被测FPGA设计;被测FPGA设计各时钟域工作时钟连接至被测FPGA设计,用于替代被测FPGA设计中各时钟域工作时钟信号;输出FIFO,用于存储被测FPGA设计输出的测试数据,并在测试激励时钟的驱动下输出并行测试数据至被测FPGA设计;同一时刻的测试数据存储在同一个存储单元;输出缓存RAM,用于存储被测FPGA设计输出的测试数据,供硬件接口读取。输入FIFO的输出数据总线连接至被测FPGA设计的端口上,激励数据的比特位与被测FPGA设计的端口一一对应。当被测FPGA设计工作时钟的最小公倍数与仿真时钟频率呈整数倍关系时,所述时钟树产生模块将其工作频率,所述时钟树产生模块将其工作频率等效为仿真时钟频率,将其工作时钟作为测试激励时钟输出至输入FIFO;将工作频率等效为根据被测FPGA设计各时钟域工作时钟的最小公倍数频率,再根据相应的分频比例分别产生被测FPGA设计各时钟域工作时钟。所述被测FPGA设计各时钟域工作时钟的占空比为1/N,其中N为分频比例。当被测FPGA设计工作时钟的最小公倍数与仿真时钟频率呈非整数倍关系时,所述时钟树产生模块将其工作频率等效为仿真时钟频率,将其工作时钟作为测试激励时钟输出至输入FIFO;将工作时钟作为DDS的参考时钟,将仿真时钟频率作为DSS的参考时钟频率值计算相应的频率控制字,分别产生被测FPGA设计各时钟域工作时钟。所述软硬件通信模块包括硬件接口驱动模块和硬件接口;其中:硬件接口驱动模块,提供硬件接口驱动程序,将IES仿真模块生成的激励数据发送至硬件接口,从硬件接口获取测试数据;硬件接口,将激励数据发送给FPGA硬件加速模块;从FPGA硬件加速模块中读取测试数据发送至硬件接口驱动模块。所述硬件接口为PCI总线接口。所述硬件模块通过连接在FPGA通用IO上的PCI金手指和PCI总线接口IP核实现。所述硬件接口驱动模块采用C语言编程,仿真环境使用IES验证平台,采用SystemVerilog编程;按照相应的bit位顺序,映射至被测FPGA的激励文件的例化端口上,通过SystemVerilog与C语言的DPI接口来调用硬件接口驱动模块中的C语言函数的方式,将激励数据发送给FPGA硬件加速模块,读取硬件接口驱动模块获取的测试数据。所述硬件接口采用DMA的方式从FPGA硬件加速模块中读取测试数据。本专利技术与现有技术相比的有益效果是:(1)、本专利技术将激励信号转化为离散的激励数据并加载到FPGA中为FPGA设计提供测试数据源,在FPGA硬件里完成测试验证,再将测试数据读出显示,这种软硬件结合的方法充分利用了FPGA硬件的优势,降低了仿真环境的运行负担,提高了FPGA仿真的速度本文档来自技高网
...

【技术保护点】
1.一种IES联合FPGA硬件仿真加速系统,其特征在于包括IES仿真模块、软硬件通信模块和FPGA硬件加速模块;软硬件通信模块用于实现IES仿真环境与FPGA硬件加速模块之间的通信交互;其中:IES仿真模块,按照预设的仿真时钟频率,循环提取预设时间段内被测FPGA设计的并行激励数据,将其发送到FPGA硬件加速模块;从FPGA硬件加速模块中循环提取被测FPGA设计的测试数据,按照相应的时序转换为被测FPGA设计仿真结果,在IES仿真环境中显示;FPGA硬件加速模块,接收并行激励数据并存储至输入缓冲区中;产生时钟树,所述时钟树包括测试激励时钟和被测FPGA设计各时钟域工作时钟,测试激励时钟用于驱动输入缓冲区输出并行激励数据至被测FPGA设计;被测FPGA设计各时钟域工作时钟连接至被测FPGA设计,用于替代被测FPGA设计中的各时钟域工作时钟信号;在并行激励数据的作用下,被测FPGA设计输出测试数据至输出缓冲区中。

【技术特征摘要】
1.一种IES联合FPGA硬件仿真加速系统,其特征在于包括IES仿真模块、软硬件通信模块和FPGA硬件加速模块;软硬件通信模块用于实现IES仿真环境与FPGA硬件加速模块之间的通信交互;其中:IES仿真模块,按照预设的仿真时钟频率,循环提取预设时间段内被测FPGA设计的并行激励数据,将其发送到FPGA硬件加速模块;从FPGA硬件加速模块中循环提取被测FPGA设计的测试数据,按照相应的时序转换为被测FPGA设计仿真结果,在IES仿真环境中显示;FPGA硬件加速模块,接收并行激励数据并存储至输入缓冲区中;产生时钟树,所述时钟树包括测试激励时钟和被测FPGA设计各时钟域工作时钟,测试激励时钟用于驱动输入缓冲区输出并行激励数据至被测FPGA设计;被测FPGA设计各时钟域工作时钟连接至被测FPGA设计,用于替代被测FPGA设计中的各时钟域工作时钟信号;在并行激励数据的作用下,被测FPGA设计输出测试数据至输出缓冲区中。2.根据权利要求1所述的一种IES联合FPGA硬件仿真加速系统,其特征在于所述IES仿真模块包括仿真环境、仿真环境接口模块,其中:仿真环境,用于按照仿真时钟频率,编译被测FPGA的激励文件,产生激励信号;将激励数据和测试数据同时显示出来;仿真环境接口模块,对预设时间段内激励信号,按照仿真时钟频率,将激励信号转换成激励数据,之后,将激励数据缓存,通过软硬件通信模块将激励数据发送给FPGA硬件加速模块,接收软硬件通信模块发送的测试数据,并按照时序转发给仿真环境。3.根据权利要求1所述的一种IES联合FPGA硬件仿真加速系统,其特征在于所述FPGA硬件加速模块包括输入FIFO、控制逻辑、时钟树产生模块、输出FIFO、输出缓存RAM,其中:输入FIFO,用于存储激励数据,并在测试激励时钟的驱动下输出激励数据至被测FPGA设计;同一时刻的激励数据存储在同一个存储单元;控制逻辑,接收硬件接口发送的数据搬移指令,将输出FIFO中的一定数量的测试数据搬移到输出缓存RAM中;接收硬件接口发送的门控时钟开启指令,产生有效的门控时钟至时钟树产生模块;时钟树产生模块,产生时钟树,并在门控时钟的使能控制下输出测试激励时钟和被测FPGA设计各时钟域工作时钟,测试激励时钟用于驱动输入缓冲区输出并行激励数据至被测FPGA设计;被测FPGA设计各时钟域工作时钟连接至被测FPGA设计,用于替代被测FPGA设计中各时钟域工作时钟信号;输出FIFO,用于存储被测FPGA设计输出的测试数据,并在测试激励时钟的驱动下输出并行测试数据至被测FPGA设计;同一时刻的测试数据存储在同一个存储单元;输出缓存RAM,用于存储被测FPGA设计输出的测试数据,供硬件接口读取。4....

【专利技术属性】
技术研发人员:孙宇明江云松高猛于志杰田甜童宗挺朱倩赵欢赵鹏李铀尤静姚春月
申请(专利权)人:北京轩宇信息技术有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1