一种FPGA内核可编程仿真器制造技术

技术编号:30904705 阅读:6 留言:0更新日期:2021-11-22 23:49
本发明专利技术公开了一种FPGA内核可编程仿真器,包括:运行时连接于驱动器与主机之间,驱动器内置至少一个被测FPGA内核,驱动器对全部的FPGA内核进行包装;当FPGA内核可编程仿真器启动时,主机向运行时发送第一控制信号,通过调用运行时中的仿真器对被测FPGA内核及驱动器进行仿真;当FPGA内核可编程仿真器运行时,运行时将主机发送的第二控制信号至驱动器,并根据第二控制信号,向驱动器发送命令,被测FPGA内核根据接收的命令进行计算,并通过运行时向主机返回相应的计算结果,将高抽象级别的被测FPGA内核与现有高质量仿真器进行集成,使开发者能够使用高抽象级别的开发软件进行FPGA内核开发并使用现有高质量仿真器仿真,方便FPGA内核开发者并提高FPGA内核的仿真效率。内核开发者并提高FPGA内核的仿真效率。内核开发者并提高FPGA内核的仿真效率。

【技术实现步骤摘要】
一种FPGA内核可编程仿真器


[0001]本专利技术涉及仿真
,具体涉及一种FPGA内核可编程仿真器。

技术介绍

[0002]构建FPGA内核以加速领域特定应用是实现更高性能或更低能耗的一种实用方法。随着更多开发人员的参与,在最近的十年中FPGA的开发者将其抽象级别从寄存器传输级别(RTL)提升到高级综合(HLS C)或开放计算语言(OpenCL)。仿真和调试软件套件也是如此。
[0003]Xilinx Vitis是最受欢迎的商业FPGA开发套件以及仿真和调试软件。它支持RTL,HLS C,OpenCL内核仿真和执行,还提供软件仿真和硬件仿真。软件仿真的主要目标是确保主机程序和内核的功能正确性。但是只有与C模型相关联的RTL内核才能在软件仿真中执行。硬件仿真流使程序员能够检查从C,C++或OpenCL内核代码合成的FPGA二进制文件的RTL描述的功能正确性。但是,硬件仿真通常需要很长时间才能编译和仿真,尤其是当内核通过AXI总线使用DRAM传输数据时。英特尔Quartus是另一种广泛使用的FPGA开发和仿真软件。它集成了ModelSim英特尔FPGA版软件,以支持行为仿真,HDL测试平台和Tcl脚本。
[0004]Verilator,Synopsys VCS等高质量的RTL仿真器在RTL仿真上具有更好的性能。Synopsys VCS功能验证解决方案是主要的验证解决方案,并提供业界最高性能的仿真和约束求解器引擎。Synopsys VCS的仿真引擎充分利用了当前多核X86处理器的优势,使用户可以在运行时分配更多的内核,从而轻松地加快高活动性,长周期的测试。Verilator不仅将Verilog HDL转换为C++或SystemC,还可以将硬件代码编译为更快优化并且可选的对线程进行分区的模型。结果是经过编译的Verilog模型,即使在单线程上执行的速度也比独立SystemC快10倍以上,在单线程上的速度也比解释的Verilog仿真器快100倍,并且多线程处理可以使速度提高2

10倍。
[0005]尽管有像Verilator、Synopsys VCS这样的高质量的RTL仿真器可用,但是FPGA内核的抽象级别太高,开发套件的集成也太高,因此无法使用这些RTL仿真器。以Xilinx Vitis为例,仿真进度是整个软件内置的,并且很难将接口暴露给外部作为仿真用途,因此它与诸如Verilator的仿真器不兼容。

技术实现思路

[0006]因此,本专利技术要解决的技术问题在于克服现有技术中的高质量的RTL仿真器和高抽象级别的FPGA内核不能兼容使用的问题,从而提供一种FPGA内核可编程仿真器。
[0007]为达到上述目的,本专利技术提供如下技术方案:
[0008]本专利技术实施例提供一种FPGA内核可编程仿真器,包括:驱动器及运行时,其中,运行时连接于驱动器与主机之间,驱动器内置至少一个被测FPGA内核,驱动器对全部的FPGA内核进行包装;当所述FPGA内核可编程仿真器启动时,主机向运行时发送第一控制信号,通过调用运行时中的仿真器对被测FPGA内核及驱动器进行仿真;当FPGA内核可编程仿真器运行时,运行时将主机发送的第二控制信号至驱动器,并根据第二控制信号,向驱动器发送命
令,被测FPGA内核根据接收的命令进行计算,并通过运行时向主机返回相应的计算结果。
[0009]在一实施例中,驱动器包括:DRAM仿真器、封装壳、AXI协议接口,其中,封装壳用于对全部的被测FPGA内核进行封装,所述封装壳与所述AXI协议接口及所述运行时连接,在对被测FPGA内核进行测试时,所述封装壳用于实现所述被测FPGA内核与所述运行时之间、所述被测FPGA内核与所述AXI接口之间的信息通讯;DRAM仿真器通过调用运行时库中的仿真器对DRAM代码进行仿真,为FPGA内核仿真提供相应的数据存取功能;AXI协议接口连接于封装壳及DRAM仿真器之间,用于传输从DRAM仿真器中读取的数据及要写入DRAM仿真器中的数据。
[0010]在一实施例中,运行时的仿真器为RTL仿真器,RTL仿真器由高抽象级别的FPGA内核通过高抽象级别的开发套件生成。
[0011]在一实施例中,FPGA内核可编程仿真器还包括:分别与驱动器、运行时连接的调试器,调试器用于通过运行时将调试信号及调试数据对被测FPGA内核进行调试,并根据运行时返回的结果检查并输出被测FPGA内核操作的正确性;监测DRAM仿真器的数据存储情况、从AXI协议接口的AXI总线读取的被测FPGA内核和AXI总线的状态;分析从AXI总线读取的被测FPGA内核和AXI总线的状态,并可视化特定变量和DRAM仿真器地址的活动。
[0012]在一实施例中,调试器包括:测试器、监视器及性能分析器,其中,测试器与运行时连接,测试器用于通过运行时将调试信号及调试数据对被测FPGA内核进行调试,并根据运行时返回的结果检查并输出被测FPGA内核操作的正确性;监视器分别与AXI协议接口、DRAM仿真器连接,用于监测DRAM仿真器的数据存储情况、从AXI总线读取的被测FPGA内核和AXI总线的状态;性能分析器与监视器连接,用于分析从AXI总线读取的被测FPGA内核和AXI总线的状态,并可视化特定变量和DRAM仿真器地址的活动。
[0013]在一实施例中,测试器为:Peek

poke测试器。
[0014]在一实施例中,监视器包括:与DRAM仿真器连接的DRAM监视器,用于监测DRAM仿真器的数据存储情况;与AXI协议接口连接的AXI监视器,用于监测从AXI总线读取的被测FPGA内核和AXI总线的状态。
[0015]在一实施例中,FPGA内核可编程仿真器还包括:连接于驱动器与运行时之间的数据接口。
[0016]本专利技术技术方案,具有如下优点:
[0017]1.本专利技术提供的FPGA内核可编程仿真器,运行时连接于驱动器与主机之间,驱动器内置至少一个被测FPGA内核,驱动器对全部的FPGA内核进行包装;当FPGA内核可编程仿真器启动时,主机向运行时发送第一控制信号,通过调用运行时中的仿真器对被测FPGA内核及驱动器进行仿真;当FPGA内核可编程仿真器运行时,运行时将主机发送的第二控制信号至驱动器,并根据第二控制信号,向驱动器发送命令,被测FPGA内核根据接收的命令进行计算,并通过运行时向主机返回相应的计算结果,通过将高抽象级别的被测FPGA内核与现有高质量仿真器进行集成,使开发者能够使用高抽象级别的开发软件进行FPGA内核开发并使用现有高质量仿真器仿真,方便FPGA内核开发者并提高FPGA内核的仿真效率。
[0018]2.本专利技术提供的FPGA内核可编程仿真器,通过将高抽象级别的被测FPGA内核使用高抽象级别的FPGA开发套件生成RTL,并将生成的RTL与现有高质量的RTL仿真器相集成,解决了现存高质量RTL仿真器和高抽象级别的FPGA内核不兼容使用的问题,大大提高仿真性
能。
[0019]3.本专利技术提供的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种FPGA内核可编程仿真器,其特征在于,包括:驱动器及运行时,其中,所述运行时连接于所述驱动器与主机之间,所述驱动器内置至少一个被测FPGA内核,所述驱动器对全部的FPGA内核进行包装;当所述FPGA内核可编程仿真器启动时,主机向所述运行时发送第一控制信号,通过调用所述运行时中的仿真器对被测FPGA内核及驱动器进行仿真;当所述FPGA内核可编程仿真器运行时,所述运行时将主机发送的第二控制信号至所述驱动器,并根据第二控制信号,向所述驱动器发送命令,被测FPGA内核根据接收的命令进行计算,并通过运行时向主机返回相应的计算结果。2.根据权利要求1所述的FPGA内核可编程仿真器,其特征在于,所述驱动器包括:DRAM仿真器、封装壳、AXI协议接口,其中,所述封装壳用于对全部的所述被测FPGA内核进行封装,所述封装壳与所述AXI协议接口及所述运行时连接,在对被测FPGA内核进行测试时,所述封装壳用于实现所述被测FPGA内核与所述运行时之间、所述被测FPGA内核与所述AXI接口之间的信息通讯;所述DRAM仿真器通过调用运行时库中的仿真器对DRAM代码进行仿真,为FPGA内核仿真提供相应的数据存取功能;所述AXI协议接口连接于封装壳及所述DRAM仿真器之间,用于传输从所述DRAM仿真器中读取的数据及要写入所述DRAM仿真器中的数据。3.根据权利要求1所述的FPGA内核可编程仿真器,其特征在于,所述运行时的仿真器为RTL仿真器,RTL仿真器由高抽象级别的FPGA内核通过高抽象级别的开发套件生成。4.根据权利要求2所述的FPGA内核可编程仿真器,其特征在于,还包括:分别与驱动器、运行时连接的调试器,所述调试器用...

【专利技术属性】
技术研发人员:林龙史存存卢卫疆万能柴宏博
申请(专利权)人:国网安徽省电力有限公司检修分公司国家电网有限公司
类型:发明
国别省市:

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

1