CN114138589A - 基于fpga的虚实结合仿真加速方法、系统及介质 - Google Patents

基于fpga的虚实结合仿真加速方法、系统及介质 Download PDF

Info

Publication number
CN114138589A
CN114138589A CN202111395131.0A CN202111395131A CN114138589A CN 114138589 A CN114138589 A CN 114138589A CN 202111395131 A CN202111395131 A CN 202111395131A CN 114138589 A CN114138589 A CN 114138589A
Authority
CN
China
Prior art keywords
fpga
simulation
module
peripheral
real
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111395131.0A
Other languages
English (en)
Inventor
秦炜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Vision Microsystems Shanghai Co ltd
Original Assignee
Vision Microsystems Shanghai Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Vision Microsystems Shanghai Co ltd filed Critical Vision Microsystems Shanghai Co ltd
Priority to CN202111395131.0A priority Critical patent/CN114138589A/zh
Publication of CN114138589A publication Critical patent/CN114138589A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/261Functional testing by simulating additional hardware, e.g. fault simulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供了一种基于FPGA的虚实结合仿真加速方法、系统及介质,包括复用或重新编写外设的Verilog或VHDL代码,运用外设的核心功能;构建与处理器模型应用层访问接口;将上述中的代码通过FPGA的综合工具编译成网表;下载网表到FPGAPCIe板卡中;执行仿真程序,如果有外设IO访问,通过读写接口,读写访问PCIe板卡中的FPGA仿真单元,进行性能仿真。本发明基于FPGA构建与真实外设高度逼真的仿真模型,引入虚实结合仿真加速方法,有效降低建模工作量,极大提高仿真执行效率;本发明给出利用基于FPGA的物理外设模型替代软件仿真模型方法,有效提高外设模型执行效率。

Description

基于FPGA的虚实结合仿真加速方法、系统及介质
技术领域
本发明涉及处理器行为级别仿真系统的技术领域,具体地,涉及基于FPGA的虚实结合仿真加速方法、系统及介质。
背景技术
在处理器行为级别仿真系统中,由于外设(外部设备)功能逻辑复杂、外设间耦合性高,且外设具有与处理器并行独立运行特点,导致传统的采用软件建模仿真方法的工作量大,仿真效率较低。
在公开号为CN110110389A的专利文献中公开了一种虚实结合的室内外疏散仿真方法,本发明具体包括以下步骤:S1、根据疏散研究的对象区域,S2、通过手机内置的传感器进行定位,室外使用GPS和惯性导航传感器辅助定位,S3、在获得位置后,通过位置关联虚拟仿真空间和实际空间,本发明涉及地理空间信息系统技术领域。
在处理器行为级别仿真系统中,仿真效率偏低一直是困扰业界的问题,仿真系统的整体运行效率往往只有物理系统的十分之一。效率的瓶颈主要在2点,第一是处理器模型的执行效率,这个在本发明中不做阐述;第二是外设访问的效率,之前在软件建模过程中,由于外设功能的复杂性及与处理器并行工作的特点,导致仿真代码量大、逻辑复杂且用串行代码模拟并行物理行为,导致外设模型执行效率往往只有真实物理设备的百分之一甚至千分之一;嵌入式软件运行过程中需要频繁访问IO地址,导致一般的软件建模仿真会碰到需要使用软件模拟硬件的IO设备的问题。因此,需要提出一种技术方案以改善上述技术问题。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种基于FPGA的虚实结合仿真加速方法、系统及介质。
根据本发明提供的一种基于FPGA的虚实结合仿真加速方法,所述方法包括如下步骤:
步骤1:复用或重新编写外设的Verilog或VHDL代码,运用外设的核心功能;
步骤2:构建与处理器模型应用层访问接口;
步骤3:将步骤1和步骤2的代码通过FPGA的综合工具编译成网表;
步骤4:下载网表到FPGA PCIe板卡中;
步骤5:执行仿真程序,如果有外设IO访问,通过读写接口,读写访问PCIe板卡中的FPGA仿真单元,进行性能仿真。
优选地,所述步骤1中的核心功能包括业务逻辑和设备间耦合关系,通过硬件的方式模拟真实设备。
优选地,所述步骤2中构建与处理器软件模型应用层访问接口采用PCIe高速总线方式交互方式。
优选地,所述步骤5中的PCIe板卡中FPGA仿真功能单元与运行于操作系统之上的仿真程序构成虚实结合的加速处理器行为界别仿真系统。
本发明还提供一种基于FPGA的虚实结合仿真加速系统,所述系统包括如下模块:
模块1:复用或重新编写外设的Verilog或VHDL代码,运用外设的核心功能;
模块2:构建与处理器模型应用层访问接口;
模块3:将模块1和模块2的代码通过FPGA的综合工具编译成网表;
模块4:下载网表到FPGA PCIe板卡中;
模块5:执行仿真程序,如果有外设IO访问,通过读写接口,读写访问PCIe板卡中的FPGA仿真单元,进行性能仿真。
优选地,所述模块1中的核心功能包括业务逻辑和设备间耦合关系,通过硬件的方式模拟真实设备。
优选地,所述模块2中构建与处理器软件模型应用层访问接口采用PCIe高速总线方式交互方式。
优选地,所述模块5中的PCIe板卡中FPGA仿真功能单元与运行于操作系统之上的仿真程序构成虚实结合的加速处理器行为界别仿真系统。
本发明还提供一种存储有计算机程序的计算机可读存储介质,所述计算机程序被处理器执行时实现上述中的方法的步骤。
与现有技术相比,本发明具有如下的有益效果:
1、本发明基于FPGA构建与真实外设高度逼真的仿真模型,引入虚实结合仿真加速方法,有效降低建模工作量,极大提高仿真建模效率;
2、本发明给出利用基于FPGA的物理外设模型替代软件仿真模型方法,有效提高外设模型执行效率;
3、本发明通过引入FPGA外设替代软件仿真模型的方法,可以最大程度地提高仿真逼真度,减少模型建模误差;
4、本发明通过FPGA物理设备模拟软件IO设备使访问效率得到极大提升。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明的仿真系统模块关系图。
图2为本发明纯软件仿真系统对IO访问路径图;
图3为本发明改进后的仿真系统对IO访问路径;
图4为本发明物理设备FPGA构建流程图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
本发明提供一种基于FPGA的虚实结合仿真加速方法,包括如下步骤:
步骤1:复用或重新编写外设的Verilog或VHDL代码,实现外设的核心功能,包括业务逻辑,设备间耦合关系,通过硬件的方式去模拟真实设备。
步骤2:构建与处理器软件模型应用层访问接口,采用PCIe高速总线方式交互方式;
步骤3:将步骤1和步骤2的代码通过FPGA的综合工具编译成网表;
步骤4:下载网表到FPGA PCIe板卡中;
步骤5:执行仿真程序,如果有外设IO访问,通过读写接口,直接读写访问PCIe板卡中的FPGA仿真单元,实现高性能仿真。PCIe板卡中FPGA仿真功能单元与运行于操作系统之上的仿真程序构成虚实结合的加速处理器行为界别仿真系统。
本发明还提供一种基于FPGA的虚实结合仿真加速系统,所述系统包括如下模块:模块1:复用或重新编写外设的Verilog或VHDL代码,运用外设的核心功能,包括业务逻辑和设备间耦合关系,通过硬件的方式模拟真实设备。
模块2:构建与处理器模型应用层访问接口;例如采用PCIe高速总线方式交互方式。
模块3:将模块1和模块2的代码通过FPGA的综合工具编译成网表;模块4:下载网表到FPGA PCIe板卡中;模块5:执行仿真程序,如果有外设IO访问,通过读写接口,读写访问PCIe板卡中的FPGA仿真单元,进行性能仿真。优选地,所述模块1中的核心功能包括业务逻辑和设备间耦合关系,通过硬件的方式模拟真实设备。PCIe板卡中FPGA仿真功能单元与运行于操作系统之上的仿真程序构成虚实结合的加速处理器行为界别仿真系统。
本发明还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被处理器执行时实现上述中的方法的步骤。
本发明基于FPGA构建与真实外设高度逼真的仿真模型,引入虚实结合仿真加速方法,有效降低建模工作量,极大提高仿真建模效率;本发明给出利用基于FPGA的物理外设模型替代软件仿真模型方法,有效提高外设模型执行效率;本发明通过引入FPGA外设替代软件仿真模型的方法,可以最大程度地提高仿真逼真度,减少模型建模误差;本发明通过FPGA物理设备模拟软件IO设备使访问效率得到极大提升。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统及其各个装置、模块、单元以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统及其各个装置、模块、单元以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的系统及其各项装置、模块、单元可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置、模块、单元也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置、模块、单元视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

Claims (9)

1.一种基于FPGA的虚实结合仿真加速方法,其特征在于,所述方法包括如下步骤:
步骤1:复用或重新编写外设的Verilog或VHDL代码,运用外设的核心功能;
步骤2:构建与处理器模型应用层访问接口;
步骤3:将步骤1和步骤2的代码通过FPGA的综合工具编译成网表;
步骤4:下载网表到FPGA PCIe板卡中;
步骤5:执行仿真程序,如果有外设IO访问,通过读写接口,读写访问PCIe板卡中的FPGA仿真单元,进行性能仿真。
2.根据权利要求1所述的基于FPGA的虚实结合仿真加速方法,其特征在于,所述步骤1中的核心功能包括业务逻辑和设备间耦合关系,通过硬件的方式模拟真实设备。
3.根据权利要求1所述的基于FPGA的虚实结合仿真加速方法,其特征在于,所述步骤2中构建与处理器软件模型应用层访问接口采用PCIe高速总线方式交互方式。
4.根据权利要求1所述的基于FPGA的虚实结合仿真加速方法,其特征在于,所述步骤5中的PCIe板卡中FPGA仿真功能单元与运行于操作系统之上的仿真程序构成虚实结合的加速处理器行为界别仿真系统。
5.一种基于FPGA的虚实结合仿真加速系统,其特征在于,所述系统包括如下模块:
模块1:复用或重新编写外设的Verilog或VHDL代码,运用外设的核心功能;
模块2:构建与处理器模型应用层访问接口;
模块3:将模块1和模块2的代码通过FPGA的综合工具编译成网表;
模块4:下载网表到FPGA PCIe板卡中;
模块5:执行仿真程序,如果有外设IO访问,通过读写接口,读写访问PCIe板卡中的FPGA仿真单元,进行性能仿真。
6.根据权利要求5所述的基于FPGA的虚实结合仿真加速系统,其特征在于,所述模块1中的核心功能包括业务逻辑和设备间耦合关系,通过硬件的方式模拟真实设备。
7.根据权利要求5所述的基于FPGA的虚实结合仿真加速系统,其特征在于,所述模块2中构建与处理器软件模型应用层访问接口采用PCIe高速总线方式交互方式。
8.根据权利要求5所述的基于FPGA的虚实结合仿真加速系统,其特征在于,所述模块5中的PCIe板卡中FPGA仿真功能单元与运行于操作系统之上的仿真程序构成虚实结合的加速处理器行为界别仿真系统。
9.一种存储有计算机程序的计算机可读存储介质,其特征在于,所述计算机程序被处理器执行时实现权利要求1-4中任一项所述的方法的步骤。
CN202111395131.0A 2021-11-23 2021-11-23 基于fpga的虚实结合仿真加速方法、系统及介质 Pending CN114138589A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111395131.0A CN114138589A (zh) 2021-11-23 2021-11-23 基于fpga的虚实结合仿真加速方法、系统及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111395131.0A CN114138589A (zh) 2021-11-23 2021-11-23 基于fpga的虚实结合仿真加速方法、系统及介质

Publications (1)

Publication Number Publication Date
CN114138589A true CN114138589A (zh) 2022-03-04

Family

ID=80390932

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111395131.0A Pending CN114138589A (zh) 2021-11-23 2021-11-23 基于fpga的虚实结合仿真加速方法、系统及介质

Country Status (1)

Country Link
CN (1) CN114138589A (zh)

Similar Documents

Publication Publication Date Title
CN107436762B (zh) 一种寄存器代码文件生成方法、装置和电子设备
US8234624B2 (en) System and method for developing embedded software in-situ
CN109669832A (zh) 一种面向gpu芯片图形管线单元性能验证方法及平台
CN109711003A (zh) 一种面向gpu芯片图形管线单元功能仿真方法及平台
CN110941934A (zh) 一种fpga原型验证开发板分割仿真系统、方法、介质及终端
CN103514074B (zh) Mvb网卡开发方法及平台
CN111353263A (zh) 软硬件设计与验证平台系统
CN102054088B (zh) 用于原型制作片上系统设计的虚拟平台
CN106874562B (zh) 一种将架构模型转换为静态计算模型的转换系统及其方法
CN117667655A (zh) 验证系统、验证方法、电子设备以及存储介质
CN103440373A (zh) 一种多dsp系统的互联配置模拟方法
CN101118499A (zh) 异构硬件体系间软件移植的系统
CN108228965B (zh) 一种存储单元的仿真验证方法、装置和设备
CN109710229B (zh) 一种面向gpu芯片图形管线单元的架构验证方法及平台
CN103218250B (zh) 一种处理器模拟方法
CN114138589A (zh) 基于fpga的虚实结合仿真加速方法、系统及介质
CN116776821A (zh) 基于Gem5框架的晶圆级多GPU仿真方法、装置及存储介质
CN109271231B (zh) 测试物理硬件装置的方法和仿真物理硬件装置的系统
CN112464502B (zh) 优化加快存储器仿真验证方法、装置、存储介质和终端
CN115374017A (zh) 一种仿真运行可执行文件时抓取现场的方法及计算设备
CN109426503B (zh) 提供仿真激励的方法及装置
US6813751B2 (en) Creating standard VHDL test environments
CN110502190B (zh) 文件读写方法
CN113609052A (zh) 基于fpga和微处理器的芯片模拟系统及实现方法
CN112231165B (zh) 基于链接库注入和内存映射方式的内存故障模拟方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination