CN110716537B - 一种仿真测试方法和装置 - Google Patents

一种仿真测试方法和装置 Download PDF

Info

Publication number
CN110716537B
CN110716537B CN201911133253.5A CN201911133253A CN110716537B CN 110716537 B CN110716537 B CN 110716537B CN 201911133253 A CN201911133253 A CN 201911133253A CN 110716537 B CN110716537 B CN 110716537B
Authority
CN
China
Prior art keywords
module
target
communication interface
hardware
interface module
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.)
Active
Application number
CN201911133253.5A
Other languages
English (en)
Other versions
CN110716537A (zh
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.)
Beijing Runke General Technology Co Ltd
Original Assignee
Beijing Runke General Technology 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 Beijing Runke General Technology Co Ltd filed Critical Beijing Runke General Technology Co Ltd
Priority to CN201911133253.5A priority Critical patent/CN110716537B/zh
Publication of CN110716537A publication Critical patent/CN110716537A/zh
Application granted granted Critical
Publication of CN110716537B publication Critical patent/CN110716537B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0218Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
    • G05B23/0224Process history based detection method, e.g. whereby history implies the availability of large amounts of data
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24065Real time diagnostics

Abstract

本申请公开一种仿真测试方法和装置,所述方法和装置通过在软件工具中集成各种通信协议通信接口模块的通信接口模块库及各种硬件板卡硬件信息的板卡封装模块库,进而根据待测算法系统的结构需求和功能仿真需求选择对应的目标通信接口模块和目标板卡封装模块,并利用软件工具实现目标通信接口模块、软件工具及目标硬件设备间的通信连接,最终实现对待测算法系统的软硬件协同仿真测试。可见,本申请的技术方案可适用于不同的通信协议,解决了现有技术存在的问题,硬件兼容性较好,可有效实现算法系统的软硬件协同仿真测试。

Description

一种仿真测试方法和装置
技术领域
本发明属于电子产品的仿真测试技术领域,尤其涉及一种仿真测试方法和装置。
背景技术
随着科技和社会经济的发展,各种电子产品层出不穷,在上市之前为保证电子产品的性能,对电子产品做相应的仿真测试是必不可少的一个环节,其中,电子产品的软件部分包括由各种算法、控制逻辑等组成的算法系统,之前一般采用工具软件在被测算法系统中输入测试激励来完成电子产品软件部分的仿真测试,检查输出结果等。但随着产品规模和复杂度的提升,仿真过程中所需数据运算量急速增长,造成单纯依靠软件实现仿真的时间变得非常漫长。为此,采用专用硬件设备产生仿真过程中所需的数据和信号,进而利用硬件设备与软件工具进行协同仿真的技术被人们所重视。
软硬件协仿真技术通过采用一些硬件设备与软件工具进行协同仿真,由于仿真过程采用专用的硬件设备产生部分所需的数据和信号,这比采用软件计算要快得多,大大缩短了仿真时间。然而,目前已有的仿真工具仅支持少部分的通信协议和硬件,硬件兼容性较差,进而导致在进行软硬件协仿真时存在较大局限。
发明内容
有鉴于此,本发明的目的在于提供一种仿真测试方法和装置,旨在解决现有技术因受限于仿真工具的硬件支持而导致在进行软硬件协仿真时存在较大局限这一问题。
为此,本发明公开如下技术方案:
一种仿真测试方法,包括:
建立通信接口模块库和板卡封装模块库;所述通信接口模块库集成在软件工具中,且包含有各种通信协议的通信接口模块,所述板卡封装模块库集成在所述软件工具中,且包含有各种硬件板卡的硬件信息;
根据待测算法系统的结构需求,从所述通信接口模块库中选择目标通信接口模块;所述待测算法系统在所述软件工具中搭建;
根据所述待测算法系统的功能仿真需求,从所述板卡封装模块库中选择目标板卡封装模块;
利用所述软件工具,对所述目标通信接口模块及目标硬件设备进行预设的连接处理,以实现所述目标通信接口模块与所述软件工具及所述目标硬件设备间的通信连接;所述目标硬件设备与所述目标板卡封装模块中的硬件信息相匹配;
基于所述软件工具、所述目标通信接口模块及所述目标硬件设备,对所述待测算法系统进行软硬件协同仿真测试;
其中,若所述待测算法系统包括第一模块与第二模块,则所述对所述待测算法系统进行软硬件协同仿真测试,包括:
对所述第一模块与所述第二模块进行软硬件协同仿真测试;
所述第一模块用于接收输入数据,对输入数据进行数据预处理,并将经数据预处理后所得的输入数据发送至所述第二模块;所述第二模块用于对接收的数据进行算法运算,并将算法运算结果发送至所述第一模块,以使得所述第一模块输出所述算法运算结果。
上述方法,优选的,所述利用所述软件工具,对所述目标通信接口模块及目标硬件设备进行预设的连接处理,包括:
利用所述软件工具接收用户为所述目标通信接口模块配置的参数信息;
在接收到用户的接口模块连接请求时,建立所述软件工具与所述目标通信接口模块间的通信连接,以使所述目标通信接口模块基于所述参数信息进行工作;
在检测到目标硬件设备接入所述目标通信接口模块时,基于所述目标板卡封装模块中的硬件信息,建立所述目标通信接口模块与所述目标硬件设备间的通信连接。
上述方法,优选的,所述对所述待测算法系统进行软硬件协同仿真测试,包括:
基于所述软件工具对所述待测算法系统进行编译处理,得到编译结果;
对所述编译结果进行软硬件协同仿真测试。
上述方法,优选的,所述目标硬件设备包括第一目标硬件设备与第二目标硬件设备;所述目标通信接口模块包括与所述第一目标硬件设备相连接的第一目标通信接口模块,以及与所述第二目标硬件设备相连接的第二目标通信接口模块;
所述对所述第一模块与所述第二模块进行软硬件协同仿真测试,包括:
将所述第一模块的功能代码下载至所述软件工具上,将所述第二模块的功能代码下载至所述第一目标硬件设备;
在所述软件工具上运行所述第一模块的功能代码,在所述第一目标硬件设备上运行所述第二模块的功能代码;
向所述第一模块输入用于作为测试激励的第一输入数据,基于所述第一输入数据、通过利用所述第一目标通信接口模块在所述软件工具与所述第一目标硬件设备之间进行通信交互,实现对所述第一模块与所述第二模块进行第一联合仿真验证;
在所述第一模块与所述第二模块通过所述第一联合仿真验证后,将所述第一模块的功能代码下载至所述第二目标硬件设备;
在所述第一目标硬件设备上运行所述第二模块的功能代码,在所述第二目标硬件设备上运行所述第一模块的功能代码;
向所述第一模块输入用于作为测试激励的第二输入数据,基于所述第二输入数据、通过利用所述第一目标通信接口模块、第二目标通信接口模块在所述软件工具与所述第一目标硬件设备、第二目标硬件设备之间进行通信交互,实现对所述第一模块与所述第二模块进行第二联合仿真验证。
上述方法,优选的,所述第一目标硬件设备的数量为一个;还包括:
若所述第二模块包括多个逻辑相互独立的子模块,则采用该一个第一目标硬件设备运行所述多个子模块,并在所述一个第一目标硬件设备上将每个子模块实现为一个独立的知识产权IP核,以使得支持对所述多个子模块中部分子模块的动态重配置。
上述方法,优选的,所述建立通信接口模块库和板卡封装模块库,包括:
在所述软件工具中导入所需的通信接口源代码,并封装所述通信接口源代码,得到构成所述通信接口模块库所需的通信接口模块;
在所述软件工具中导入所需硬件板卡的硬件信息,并封装所导入的硬件信息,得到构成所述板卡封装模块库所需的板卡封装模块;所述软件工具所需硬件板卡为所述通信接口模块库中的相应通信接口模块支持的硬件设备。
一种仿真测试装置,包括:
建立模块,用于建立通信接口模块库和板卡封装模块库;所述通信接口模块库集成在软件工具中,且包含有各种通信协议的通信接口模块,所述板卡封装模块库集成在所述软件工具中,且包含有各种硬件板卡的硬件信息;
第一选择模块,用于根据待测算法系统的结构需求,从所述通信接口模块库中选择目标通信接口模块;所述待测算法系统在所述软件工具中搭建;
第二选择模块,用于根据所述待测算法系统的功能仿真需求,从所述板卡封装模块库中选择目标板卡封装模块;
连接处理模块,用于利用所述软件工具,对所述目标通信接口模块及目标硬件设备进行预设的连接处理,以实现所述目标通信接口模块与所述软件工具及所述目标硬件设备间的通信连接;所述目标硬件设备与所述目标板卡封装模块中的硬件信息相匹配;
仿真测试模块,用于基于所述软件工具、所述目标通信接口模块及所述目标硬件设备,对所述待测算法系统进行软硬件协同仿真测试;
其中,若所述待测算法系统包括第一模块与第二模块,则所述仿真测试模块用于:对所述第一模块与所述第二模块进行软硬件协同仿真测试;
所述第一模块用于接收输入数据,对输入数据进行数据预处理,并将经数据预处理后所得的输入数据发送至所述第二模块;所述第二模块用于对接收的数据进行算法运算,并将算法运算结果发送至所述第一模块,以使得所述第一模块输出所述算法运算结果。
上述装置,优选的,所述连接处理模块包括:
参数信息接收单元,用于利用所述软件工具接收用户为所述目标通信接口模块配置的参数信息;
第一连接单元,用于在接收到用户的接口模块连接请求时,建立所述软件工具与所述目标通信接口模块间的通信连接,以使所述目标通信接口模块基于所述参数信息进行工作;
第二连接单元,用于在检测到目标硬件设备接入所述目标通信接口模块时,基于所述目标板卡封装模块中的硬件信息,建立所述目标通信接口模块与所述目标硬件设备间的通信连接。
上述装置,优选的,所述仿真测试模块包括:
编译单元,用于基于所述软件工具对所述待测算法系统进行编译处理,得到编译结果;
仿真测试单元,用于对所述编译结果进行软硬件协同仿真测试。
上述装置,优选的,所述目标硬件设备包括第一目标硬件设备与第二目标硬件设备;所述目标通信接口模块包括与所述第一目标硬件设备相连接的第一目标通信接口模块,以及与所述第二目标硬件设备相连接的第二目标通信接口模块;
所述仿真测试模块包括:
第一联合仿真验证单元,用于:
将所述第一模块的功能代码下载至所述软件工具上,将所述第二模块的功能代码下载至第一目标硬件设备;
在所述软件工具上运行所述第一模块的功能代码,在所述第一目标硬件设备上运行所述第二模块的功能代码;
向所述第一模块输入用于作为测试激励的第一输入数据,基于所述第一输入数据、通过利用所述第一目标通信接口模块在所述软件工具与所述第一目标硬件设备之间进行通信交互,实现对所述第一模块与所述第二模块进行
第一联合仿真验证;
第二联合仿真验证单元,用于:
在所述第一模块与所述第二模块通过所述第一联合仿真验证后,将所述第一模块的功能代码下载至第二目标硬件设备;
在所述第一目标硬件设备上运行所述第二模块的功能代码,在所述第二目标硬件设备上运行所述第一模块的功能代码;
向所述第一模块输入用于作为测试激励的第二输入数据,基于所述第二输入数据、通过利用所述第一目标通信接口模块、第二目标通信接口模块在所述软件工具与所述第一目标硬件设备、第二目标硬件设备之间进行通信交互,实现对所述第一模块与所述第二模块进行第二联合仿真验证。
上述装置,优选的,所述第一目标硬件设备的数量为一个;还包括:
动态重配置模块,用于若所述第二模块包括多个逻辑相互独立的子模块,则采用该一个第一目标硬件设备运行所述多个子模块,并在所述一个第一目标硬件设备上将每个子模块实现为一个独立的IP核,以使得支持对所述多个子模块中部分子模块的动态重配置。
上述装置,优选的,所述建立模块包括:
第一导入及封装单元,用于在所述软件工具中导入所需的通信接口源代码,并封装所述通信接口源代码,得到构成所述通信接口模块库所需的通信接口模块;
第二导入及封装单元,用于在所述软件工具中导入所需硬件板卡的硬件信息,并封装所导入的硬件信息,得到构成所述板卡封装模块库所需的板卡封装模块;所述软件工具所需硬件板卡为所述通信接口模块库中的相应通信接口模块支持的硬件设备。
由以上方案可知,本申请公开的仿真测试方法和装置,通过在软件工具中集成各种通信协议通信接口模块的通信接口模块库及各种硬件板卡硬件信息的板卡封装模块库,进而根据待测算法系统的结构需求和功能仿真需求选择对应的目标通信接口模块和目标板卡封装模块,并利用软件工具实现目标通信接口模块、软件工具及目标硬件设备间的通信连接,最终实现对待测算法系统的软硬件协同仿真测试。可见,本申请的技术方案可适用于不同的通信协议,解决了现有技术存在的问题,硬件兼容性较好,可有效实现算法系统的软硬件协同仿真测试。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是本发明实施例一提供的仿真测试方法流程图;
图2是本发明实施例一提供的软硬件协同仿真测试时的软硬件连接示意图;
图3是本发明实施例二提供的基于软硬件协同仿真思想对待测算法系统中的第一模块与第二模块进行第一联合仿真验证的流程示意图;
图4是本发明实施例二提供的基于软硬件协同仿真思想对待测算法系统中的第一模块与第二模块进行第一联合仿真验证与第二联合仿真验证的流程示意图;
图5是本发明实施例四提供的仿真测试装置的结构示意图。
具体实施方式
为了引用和清楚起见,下文中使用的技术名词、简写或缩写总结解释如下:
MATLAB:是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
Simulink:是MATLAB中的一种可视化仿真工具,是一种基于MATLAB的框图设计环境,是实现动态系统建模、仿真和分析的一个软件包,被广泛应用于线性系统、非线性系统、数字控制及数字信号处理的建模和仿真中。Simulink与MATLAB紧密集成,可以直接访问MATLAB大量的工具来进行算法研发、仿真的分析和可视化、批处理脚本的创建、建模环境的定制以及信号参数和测试数据的定义。构架在Simulink基础之上的其他产品,例如SystemGenerator,扩展了Simulink多领域建模功能,也提供了用于设计、执行、验证和确认任务的相应工具。
System Generator:是Xilinx公司进行数字信号处理开发的一种设计工具,它通过将Xilinx开发的一些模块嵌入到Simulink的库中,可以在Simulink中进行定点仿真,可以设置定点信号的类型,这样就可以比较定点仿真与浮点仿真的区别。并且可以生成HDL(Hardware Description Language,硬件描述语言)文件,或者网表,可以在ISE(Integrated Software Environment,集成软件环境)中进行调用。或者直接生成比特流下载文件。能够加快DSP(Digital Signal Processing,数字信号处理)系统的开发进度。
FPGA:Field-Programmable Gate Array,即现场可编程门阵列,它是在PAL(Programmable Array Logic,可编程阵列逻辑)、GAL(generic array logic,通用阵列逻辑)、CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)等可编程器件的基础上进一步发展的产物。它是作为专用集成电路领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。根据其可重复配置的特性,适合用于仿真测试这种经常反复迭代的场合。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明实施例一公开一种仿真测试方法,参考图1,所述方法可以包括以下步骤:S101:建立通信接口模块库和板卡封装模块库;所述通信接口模块库集成在软件工具中,且包含有各种通信协议的通信接口模块,所述板卡封装模块库集成在所述软件工具中,且包含有各种硬件板卡的硬件信息。
为解决现有技术因受限于仿真工具的硬件支持而导致在进行软硬件协仿真时存在较大局限这一问题,本申请预先在用于仿真的软件工具中集成通信接口模块库及板卡封装模块库,其中,所述通信接口模块库中的各通信接口模块基于相应的通信协议实现,所述板卡封装模块库中的各板卡封装模块包括各种硬件板卡的硬件信息,以此实现软件工具对各种通信协议的支持,进而改善软件工具对各种硬件的兼容性能,从而在此基础上可实现为电子产品的算法系统提供所需的软硬件协仿真测试环境。
本实施例以在业界得到广泛应用的MATLAB、Simulink等可对电子产品的算法系统进行仿真测试的软件工具为例,对本申请方法进行说明。
以所述MATLAB、Simulink等软件工具为例,本申请方法的实施需基于以下的预处理过程:
1)在MATLAB的Simulink中集成通信接口模块库。
将各种通用通信接口,例如基于业界标准通信协议实现的标准串口(RS232、422、485)、USB(Universal Serial Bus,通用串行总线)口、CPCI(CompactPCI,紧凑型PCI)总线接口、SPI(Serial Peripheral Interface,串行外设接口)、I2C(Inter-IntegratedCircuit,内部整合电路)总线接口等各种通信接口以扩展工具包的形式添加到Simulink中。
具体地,可通过以下方式实现在Simulink中添加通信接口:利用SystemGenerator,将通信接口源代码导入Simulink中,生成通信接口模块雏形,并继续对生成的通信接口模块雏形进行封装,得到通信接口模块;在通过导入各种所需的通信接口源代码,生成各个通信接口模块之后,组织各个通信接口模块,形成通信接口模块库,并将所述通信接口模块库添加在Simulink环境中,从而可在后续进行软硬件协仿真测试时,为用户选择配置所需的通信接口模块提供支持。
针对生成的每个通信接口模块,在Simulink中需为其建立一个相匹配的配置文件,该配置文件包括该通信接口模块的相关配置参数,如数值位宽(8位、16位、32位等)、数据格式(单精度浮点数、双精度浮点数、整数等)、数据方向(输入或输出)等,这些参数的正确配置是通信接口模块正常工作的前提和保障。实际应用中,可采用配置对话框的形式为用户提供通信接口模块相关参数的配置、修改功能,并将配置结果保存在配置文件中。从而当用户在采用相应通信接口模块进行仿真测试时,可依据具体算法的测试需求,包括所需的位宽、速率等,对该模块进行参数配置。
2)在MATLAB的Simulink中集成板卡封装模块库。
首先,确定在Simulink中添加的各通信协议模块能够支持的各种硬件设备(硬件板卡),并将每种硬件设备的硬件信息,如芯片管脚编号、电压标准、阻抗信息等导入Simulink,生成相应的板卡封装模块;在通过导入硬件信息,生成各个板卡封装模块后,组织各个所述板卡封装模块形成板卡封装模块库,并将该板卡封装模块库添加在Simulink环境中,从而可实现为工具系统(Simulink+通信接口模块)建立通信接口模块与相应硬件设备间的通信连接提供桥梁作用。
所述通信接口模块库和所述板卡封装模块库可共同构成Simulink的自定义模块库,用户可依据其仿真需求,从该库中自行选择配置所需的通信接口模块或板卡封装模块。
S102、根据待测算法系统的结构需求,从所述通信接口模块库中选择目标通信接口模块;所述待测算法系统在所述软件工具中搭建。
在建立了所述通信接口模块库和所述板卡封装模块库的基础上,当用户完成在Simulink环境下的待测算法系统搭建,并需要对搭建的待测算法系统进行仿真测试时,可依据待测算法仿真的结构需求、实际通信需求,从Simulink提供的自定义模块库中选择配置所需的一个或多个目标通信接口模块,如选择标准串口(RS232、422、485)、USB接口、CPCI总线接口、SPI接口、I2C接口中的任意一个或多个等。
S103、根据所述待测算法系统的功能仿真需求,从所述板卡封装模块库中选择目标板卡封装模块。
在建立了所述通信接口模块库和所述板卡封装模块库的基础上,当用户完成在Simulink环境下的待测算法系统搭建,并需要对搭建的待测算法系统进行仿真测试时,除了选择并配置目标通信接口模块,还可以依据算法仿真的实际功能需求,从Simulink提供的自定义模块库中选择配置所需的各个板卡封装模块,如选择FPGA或其他硬件板卡等。
S104、利用所述软件工具,对所述目标通信接口模块及目标硬件设备进行预设的连接处理,以实现所述目标通信接口模块与所述软件工具及所述目标硬件设备间的通信连接;所述目标硬件设备与所述目标板卡封装模块中的硬件信息相匹配。
为保障通信接口模块能够正常工作,用户需对选择配置的各通信接口模块进行相关的参数设置,例如设置需采用的数值位宽、数据格式、速率等参数信息,Simulink接收并保存用户设置的参数信息,并在用户触发Simulink与相应通信接口模块间的连接请求之后,参考图2,建立Simulink与所述通信接口模块间的通信连接,以使所述通信接口模块基于用户配置的参数信息进行工作。之后,用户可基于相应的检测方式,通过对通信接口模块进行数据或控制信号的接入检测,来确认所建立的连接正确与否,是否符合需遵循的相应规则。
接下来,用户可将测试所需的硬件设备,如FPGA或其他各种硬件板卡等,接入相应通信接口模块,工具系统在检测到有硬件设备接入时,依据用户所选板卡封装模块中的硬件信息,如芯片管脚编号、电压标准、阻抗信息等,建立通信接口模块与硬件板卡间的通信连接。在此基础上,软件工具与硬件设备之间可通过相应的通信接口模块进行通信。
在建立起软件工具与硬件设备间的通信连接之后,可根据具体的仿真需求,接入相应的观测工具,从而完成软硬件协仿真测试环境的建立。
实际应用中,针对某一算法系统,在进行软硬件协同仿真时,可能需要一个或多个通信接口模块,一个或多个板卡封装模块及一个或多个硬件设备,其中,硬件设备与通信接口模块间的接入关系可能为图2示出的一对一关系,也可能为一对多关系,即一个硬件设备需通过多个通信接口模块实现与软件工具间的相应通信。
步骤S105、基于所述软件工具、所述目标通信接口模块及所述目标硬件设备,对所述待测算法系统进行软硬件协同仿真测试。
在完成软硬件协仿真测试环境的建立之后,可利用软件工具编译待测算法系统,并基于由所述软件工具、所述目标通信接口模块及所述目标硬件设备构成的软硬件环境执行仿真过程对所述待测算法系统进行仿真测试。具体地,Simulink可采用SystemGenerator作为编译器对所述待测算法系统进行编译,之后,对编译结果进行软硬件协仿真测试,测试过程中,可通过观测工具实时观测所述待测算法系统的仿真情况。
具体地,作为一种可能的实施方式,所述待测算法系统可以包括第一模块与第二模块,其中,所述第一模块用于接收输入数据,对输入数据进行数据预处理,并将经数据预处理后所得的输入数据发送至所述第二模块;所述第二模块用于对接收的数据进行算法运算,并将算法运算结果发送至第一模块,以使得第一模块输出所述算法运算结果。
以所述输入数据为图像数据为例,所述第一模块对输入数据进行的数据预处理,可以包括但不限于对图像数据的去重、去噪滤波、平滑等处理,所述第二模块对接收的数据进行的算法运算,可以包括但不限于对图像数据进行图像识别及图像识别基础上的相关处理或控制,如对行车图像进行图像识别以及图像识别基础上的自动倒车/泊车控制、行车时离道报警控制等等。
在待测算法系统包括所述第一模块与所述第二模块的情况下,则所述对所述待测算法系统进行软硬件协同仿真测试,具体可以为:对所述第一模块与所述第二模块进行软硬件协同仿真测试,该对第一模块与第二模块进行软硬件协同仿真测试的实现过程将在下一实施例详细陈述。
由以上方案可知,本申请方法通过预先在软件工具中集成通信接口模块库及板卡封装模块库,实现了软件工具对各种通信协议的支持,改善了软件工具对各种硬件的兼容性能;从而在此基础上可通过对仿真所需的通信接口模块及板卡封装模块进行选择配置,并建立所需的软硬件连接,实现相应软硬件协同仿真测试环境的创建,最终可基于创建的测试环境实现软硬件协同仿真。可见,本申请解决了现有技术存在的问题,硬件兼容性较好,可有效实现算法系统的软硬件协同仿真测试。
实施例二
本实施例将主要以待测算法系统包括上述的第一模块与第二模块为例,详细说明对待测算法系统进行软硬件协同仿真测试的测试过程。本实施例中,所述目标硬件设备包括第一目标硬件设备与第二目标硬件设备;所述目标通信接口模块包括与所述第一目标硬件设备相连接的第一目标通信接口模块,以及与所述第二目标硬件设备相连接的第二目标通信接口模块。
如图3所示,在待测算法系统包括所述第一模块与所述第二模块的情况下,具体可通过以下的处理过程对待测算法系统进行软硬件协同仿真测试:
S301、将所述第一模块的功能代码下载至所述软件工具上,将所述第二模块的功能代码下载至第一目标硬件设备。
所述第一目标硬件设备,示例性地,比如可以是但不限于FPGA(FieldProgrammable Gate Array,现场可编程逻辑门阵列)芯片。
S302、在所述软件工具上运行所述第一模块的功能代码,在所述第一目标硬件设备上运行所述第二模块的功能代码。
S303、向所述第一模块输入用于作为测试激励的第一输入数据,基于所述第一输入数据、通过利用所述第一目标通信接口模块在所述软件工具与所述第一目标硬件设备之间进行通信交互,实现对所述第一模块与所述第二模块进行第一联合仿真验证。
本实施例旨在首先基于图3提供的处理过程,基于软硬件协同仿真测试思想,对第一模块与第二模块进行第一联合仿真验证,在该第一联合仿真验证中,具体将待测算法系统的核心运算部分也即所述第二模块的功能代码下载并运行至硬件上,而所述待测算法系统中除所述核心运算部分之外的其他部分也即所述第一模块的功能代码则仍然运行在软件(即所述软件工具)上。
在基于软硬件协同仿真测试思想,对所述第一模块、第二模块进行所述第一联合仿真验证时,需要向第一模块输入数据以作为测试激励,这里,将输入数据称为第一输入数据,其中,所输入的用于作为测试激励的该第一输入数据,比如可以是图像数据,在向所述第一模块输入所述图像数据后,该第一模块可基于其功能代码的处理逻辑对输入的图像数据进行去重、去噪滤波、平滑等预处理,并基于所述第一目标通信接口模块在软件工具与所述第一目标硬件设备之间提供的通信功能,将经过这些预处理后所得的图像数据传输至第一目标硬件设备,之后,由运行在该第一目标硬件设备上的第二模块对接收的数据进行算法运算处理,如进行图像识别及图像识别基础上的相关控制等,并将处理结果(如图像识别结果或产生的控制信息)发送至第一模块,由第一模块将处理结果输出至观测工具。
在该第一联合仿真验证过程中,如果通过仿真观测获知第一模块和/或第二模块的设计不正确或存在不当之处,则需要对第一模块和/或第二模块的代码设计进行重新修改及仿真验证,直至通过仿真验证为止。
另外,可选地,参阅图4,在所述第一模块与所述第二模块通过所述第一联合仿真验证后,还可以继续对所述第一模块与所述第二模块执行如下的第二联合仿真验证处理:
S304、将所述第一模块的功能代码下载至第二目标硬件设备。
所述第二目标硬件设备,示例性地,同样可以是但不限于FPGA芯片,所述第二目标硬件设备可以与所述第一目标硬件设备为同一种类的硬件设备,或者,也可以与所述第一目标硬件设备为不同种类的硬件设备。
S305、在所述第一目标硬件设备上运行所述第二模块的功能代码,在所述第二目标硬件设备上运行所述第一模块的功能代码。
在该第二联合仿真验证处理中,除了将第二模块运行于硬件,还将第一模块也运行于硬件。
S306、通过所述第二目标通信接口模块向所述第一模块输入用于作为测试激励的第二输入数据,基于所述第二输入数据、通过利用所述第一目标通信接口模块、所述第二目标通信接口模块在所述软件工具与所述第一目标硬件设备、第二目标硬件设备之间进行通信交互,实现对所述第一模块与所述第二模块进行第二联合仿真验证。
在基于软硬件协同仿真测试思想,对所述第一模块、第二模块进行第二联合仿真验证时,同样需要向第一模块输入数据以作为测试激励,这里,将输入数据称为第二输入数据,其中,用于作为测试激励的该第二输入数据,可由所述软件工具基于所述第二目标通信接口模块提供的通信作用传输至所述第二目标硬件设备,以作为所述第一模块的输入,所输入的该第二输入数据,同样可以是但不限于图像数据,在此基础上,可基于所述第二输入数据、通过利用所述第一目标通信接口模块、所述第二目标通信接口模块在所述软件工具与所述第一目标硬件设备、第二目标硬件设备间进行通信交互,实现对所述第一模块与所述第二模块进行第二联合仿真验证。
在该第二联合仿真验证中,第一模块、第二模块对输入数据的处理过程与在上述的第一联合仿真验证中各自的处理过程类似,这里不再详述。
在该第二联合仿真验证过程中,如果通过仿真观测获知第一模块和/或第二模块的设计不正确或存在不当之处,则需要对第一模块和/或第二模块的代码设计进行重新修改及仿真验证,直至通过仿真验证为止,通过该第二联合仿真验证处理,可实现更为全面地发现第一模块和/或第二模块在设计上的不足之处。
在传统的仿真测试过程中,当设计工程师完成待测算法系统功能模块的代码设计后,会使用相应软件工具(仿真器软件)分别对不同模块进行仿真验证,如果设计不正确,则需要对设计进行重新修改和仿真直到验证通过为止,随着系统设计的复杂性不断增加,当设计集成度超出百万门后,设计正确性的验证比设计本身往往要耗费更多的时间,重复的仿真工作可能要花费几天甚至几星期的时间,而基于本实施例的软硬件协同仿真验证,充分利用了硬件加速思想对系统进行了软硬件协同加速仿真,基于本实施例的软硬件协同仿真方式,对待测算法系统中的不同模块进行联合仿真,将大大缩短待测算法系统的仿真时间,提升了待测算法系统的仿真效率。
实施例三
目前的技术中,对于FPGA等硬件,每次加载都会对整个FPGA进行重配置(如重配置FPGA不同逻辑模块的时钟频率等),这样对于不需要重配置的模块则会带来不必要的配置处理,使得FPGA的可重配置性的灵活性较低。
针对该问题,本实施例中,若所述第二模块包括多个逻辑相互独立的子模块(通常情况下,作为待测算法系统的核心运算部分的第二模块会包括多个子模块,而第一模块由于仅对输入数据进行相关预处理,处理逻辑较简单,一般不会包括多个子模块),则采用一个第一目标硬件设备运行所述第二模块的多个子模块,并在所述一个第一目标硬件设备上将每个子模块实现为一个独立的IP核(Intellectual Property core,知识产权核),也即,不同的子模块分别实现为不同且相独立的IP核。
其中,IP核是指形式为逻辑单元的芯片设计的可重用模块,设计人员能够以IP核为基础进行专用集成电路或现场可编程逻辑门阵列的逻辑设计,以减少设计周期。IP核分为软核、硬核和固核,软核通常是与工艺无关、具有寄存器传输级硬件描述语言描述的设计代码,可以进行后续设计;硬核是前者通过逻辑综合、布局、布线之后的一系列工艺文件,具有特定的工艺形式、物理实现方式;固核则通常介于上面两者之间,它已经通过功能验证、时序分析等过程,设计人员可以以逻辑门级网表的形式获取。通过将不同的子模块实现为相互不同且相互独立的IP核,可支持对所述多个子模块中的部分子模块进行动态重配置。这样,在对待测算法系统中的第一模块、第二模块进行上一实施例所述的联合仿真验证时,可以只针对第二模块中需要变化的FPGA逻辑(如第二模块的一个或多个子模块)完成重配置而保持其他部分FPGA逻辑(如第二模块的其他子模块)的配置不变。
本实施例中,在所述第二模块包括多个逻辑相互独立的子模块的情况下,将第二模块的多个子模块实现在一个而非多个第一目标硬件设备中,有效降低了硬件成本,且在该一个第一目标硬件设备上将不同的子模块分别实现为不同且相独立的IP核,实现了支持仅对第二模块中需要变化的FPGA逻辑进行动态重配置,提升了FPGA等硬件设备的配置灵活性。
实施例四
本发明实施例四公开一种仿真测试装置,参考图5,所述装置包括建立模块100、第一选择模块200、第二选择模块300、连接处理模块400及仿真测试模块500。
建立模块100,用于建立通信接口模块库和板卡封装模块库;所述通信接口模块库集成在软件工具中,且包含有各种通信协议的通信接口模块,所述板卡封装模块库集成在所述软件工具中,且包含有各种硬件板卡的硬件信息;
第一选择模块200,用于根据待测算法系统的结构需求,从所述通信接口模块库中选择目标通信接口模块;所述待测算法系统在所述软件工具中搭建;
第二选择模块300,用于根据所述待测算法系统的功能仿真需求,从所述板卡封装模块库中选择目标板卡封装模块;
连接处理模块400,用于利用所述软件工具,对所述目标通信接口模块及目标硬件设备进行预设的连接处理,以实现所述目标通信接口模块与所述软件工具及所述目标硬件设备间的通信连接;所述目标硬件设备与所述目标板卡封装模块中的硬件信息相匹配;
仿真测试模块500,用于基于所述软件工具、所述目标通信接口模块及所述目标硬件设备,对所述待测算法系统进行软硬件协同仿真测试;
其中,若所述待测算法系统包括第一模块与第二模块,则所述仿真测试模块用于:对所述第一模块与所述第二模块进行软硬件协同仿真测试;
所述第一模块用于接收输入数据,对输入数据进行数据预处理,并将经数据预处理后所得的输入数据发送至所述第二模块;所述第二模块用于对接收的数据进行算法运算,并将算法运算结果发送至所述第一模块,以使得所述第一模块输出所述算法运算结果。
在本申请实施例的一可选实施方式中,所述连接处理模块400包括:参数信息接收单元、第一连接单元和第二连接单元。
其中,参数信息接收单元,用于利用所述软件工具接收用户为所述目标通信接口模块配置的参数信息;第一连接单元,用于在接收到用户的接口模块连接请求时,建立所述软件工具与所述目标通信接口模块间的通信连接,以使所述目标通信接口模块基于所述参数信息进行工作;第二连接单元,用于在检测到目标硬件设备接入所述目标通信接口模块时,基于所述目标板卡封装模块中的硬件信息,建立所述目标通信接口模块与所述目标硬件设备间的通信连接。
在本申请实施例的一可选实施方式中,所述仿真测试模块500包括:编译单元和仿真测试单元。
其中,编译单元,用于基于所述软件工具对所述待测算法系统进行编译处理,得到编译结果;仿真测试单元,用于对所述编译结果进行软硬件协同仿真测试。
在本申请实施例的一可选实施方式中,所述目标硬件设备包括第一目标硬件设备与第二目标硬件设备;所述目标通信接口模块包括与所述第一目标硬件设备相连接的第一目标通信接口模块,以及与所述第二目标硬件设备相连接的第二目标通信接口模块;
所述仿真测试模块500包括:第一联合仿真验证单元和第二联合仿真验证单元。
其中,第一联合仿真验证单元,用于:将所述第一模块的功能代码下载至所述软件工具上,将所述第二模块的功能代码下载至第一目标硬件设备;在所述软件工具上运行所述第一模块的功能代码,在所述第一目标硬件设备上运行所述第二模块的功能代码;向所述第一模块输入用于作为测试激励的第一输入数据,基于所述第一输入数据、通过利用所述第一目标通信接口模块在所述软件工具与所述第一目标硬件设备之间进行通信交互,实现对所述第一模块与所述第二模块进行第一联合仿真验证。
第二联合仿真验证单元,用于:
在所述第一模块与所述第二模块通过所述第一联合仿真验证后,将所述第一模块的功能代码下载至第二目标硬件设备;在所述第一目标硬件设备上运行所述第二模块的功能代码,在所述第二目标硬件设备上运行所述第一模块的功能代码;通过所述第二目标通信接口模块向所述第一模块输入用于作为测试激励的第二输入数据,基于所述第二输入数据、通过利用所述第一目标通信接口模块、第二目标通信接口模块在所述软件工具与所述第一目标硬件设备、第二目标硬件设备之间进行通信交互,实现对所述第一模块与所述第二模块进行第二联合仿真验证。
在本申请实施例的一可选实施方式中,所述第一目标硬件设备的数量为一个;还包括:动态重配置模块,用于若所述第二模块包括多个逻辑相互独立的子模块,则采用该一个第一目标硬件设备运行所述多个子模块,并在所述一个第一目标硬件设备上将每个子模块实现为一个独立的IP核,以使得支持对所述多个子模块中部分子模块的动态重配置。
在本申请实施例的一可选实施方式中,所述建立模块100包括:第一导入封装单元和第二封装导入单元。
其中,第一导入及封装单元,用于在所述软件工具中导入所需的通信接口源代码,并封装所述通信接口源代码,得到构成所述通信接口模块库所需的通信接口模块;第二导入及封装单元,用于在所述软件工具中导入所需硬件板卡的硬件信息,并封装所导入的硬件信息,得到构成所述板卡封装模块库所需的板卡封装模块;所述软件工具所需硬件板卡为所述通信接口模块库中的相应通信接口模块支持的硬件设备。
对于本发明实施例四公开的仿真测试装置而言,由于其与实施例一至实施例三公开的仿真测试方法相对应,所以描述的比较简单,相关相似之处请参见实施例一至实施例三中仿真测试方法部分的说明即可,此处不再详述。
综上所述,本申请具有如下优势:通过预先在仿真测试的软件工具中集成通信接口模块库及硬件信息封装模块库,实现了软件工具对各种通信协议的支持,改善了软件工具对各种硬件的兼容性能,为软硬件协仿真测试提供了各种硬件接入支持;且本申请的软硬件协仿真测试系统,并不局限于应用在某个项目或某款产品,具有很好的适应性和扩展性,不同专业领域的技术人员,可通过适当对通信接口模块库及硬件信息封装模块库进行拓展,使其适用于本领域的仿真测试。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
为了描述的方便,描述以上系统或装置时以功能分为各种模块或单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
最后,还需要说明的是,在本文中,诸如第一、第二、第三和第四等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种仿真测试方法,其特征在于,包括:
建立通信接口模块库和板卡封装模块库;所述通信接口模块库集成在软件工具中,且包含有各种通信协议的通信接口模块,所述板卡封装模块库集成在所述软件工具中,且包含有各种硬件板卡的硬件信息;
根据待测算法系统的结构需求,从所述通信接口模块库中选择目标通信接口模块;所述待测算法系统在所述软件工具中搭建;
根据所述待测算法系统的功能仿真需求,从所述板卡封装模块库中选择目标板卡封装模块;
利用所述软件工具,对所述目标通信接口模块及目标硬件设备进行预设的连接处理,以实现所述目标通信接口模块与所述软件工具及所述目标硬件设备间的通信连接;所述目标硬件设备与所述目标板卡封装模块中的硬件信息相匹配;
基于所述软件工具、所述目标通信接口模块及所述目标硬件设备,对所述待测算法系统进行软硬件协同仿真测试;
其中,若所述待测算法系统包括第一模块与第二模块,则所述对所述待测算法系统进行软硬件协同仿真测试,包括:
对所述第一模块与所述第二模块进行软硬件协同仿真测试;
所述第一模块用于接收输入数据,对输入数据进行数据预处理,并将经数据预处理后所得的输入数据发送至所述第二模块;所述第二模块用于对接收的数据进行算法运算,并将算法运算结果发送至所述第一模块,以使得所述第一模块输出所述算法运算结果;
所述目标硬件设备包括第一目标硬件设备与第二目标硬件设备;所述目标通信接口模块包括与所述第一目标硬件设备相连接的第一目标通信接口模块,以及与所述第二目标硬件设备相连接的第二目标通信接口模块;
所述对所述第一模块与所述第二模块进行软硬件协同仿真测试,包括:
将所述第一模块的功能代码下载至所述软件工具上,将所述第二模块的功能代码下载至所述第一目标硬件设备;
在所述软件工具上运行所述第一模块的功能代码,在所述第一目标硬件设备上运行所述第二模块的功能代码;
向所述第一模块输入用于作为测试激励的第一输入数据,基于所述第一输入数据、通过利用所述第一目标通信接口模块在所述软件工具与所述第一目标硬件设备之间进行通信交互,实现对所述第一模块与所述第二模块进行第一联合仿真验证;
在所述第一模块与所述第二模块通过所述第一联合仿真验证后,将所述第一模块的功能代码下载至所述第二目标硬件设备;
在所述第一目标硬件设备上运行所述第二模块的功能代码,在所述第二目标硬件设备上运行所述第一模块的功能代码;
通过所述第二目标通信接口模块向所述第一模块输入用于作为测试激励的第二输入数据,基于所述第二输入数据、通过利用所述第一目标通信接口模块、所述第二目标通信接口模块在所述软件工具与所述第一目标硬件设备、第二目标硬件设备之间进行通信交互,实现对所述第一模块与所述第二模块进行第二联合仿真验证。
2.根据权利要求1所述的方法,其特征在于,所述利用所述软件工具,对所述目标通信接口模块及目标硬件设备进行预设的连接处理,包括:
利用所述软件工具接收用户为所述目标通信接口模块配置的参数信息;
在接收到用户的接口模块连接请求时,建立所述软件工具与所述目标通信接口模块间的通信连接,以使所述目标通信接口模块基于所述参数信息进行工作;
在检测到目标硬件设备接入所述目标通信接口模块时,基于所述目标板卡封装模块中的硬件信息,建立所述目标通信接口模块与所述目标硬件设备间的通信连接。
3.根据权利要求1所述的方法,其特征在于,所述对所述待测算法系统进行软硬件协同仿真测试,包括:
基于所述软件工具对所述待测算法系统进行编译处理,得到编译结果;
对所述编译结果进行软硬件协同仿真测试。
4.根据权利要求1所述的方法,其特征在于,所述第一目标硬件设备的数量为一个;还包括:
若所述第二模块包括多个逻辑相互独立的子模块,则采用该一个第一目标硬件设备运行所述多个子模块,并在所述一个第一目标硬件设备上将每个子模块实现为一个独立的知识产权IP核,以使得支持对所述多个子模块中部分子模块的动态重配置。
5.根据权利要求1-4任意一项所述的方法,其特征在于,所述建立通信接口模块库和板卡封装模块库,包括:
在所述软件工具中导入所需的通信接口源代码,并封装所述通信接口源代码,得到构成所述通信接口模块库所需的通信接口模块;
在所述软件工具中导入所需硬件板卡的硬件信息,并封装所导入的硬件信息,得到构成所述板卡封装模块库所需的板卡封装模块;所述软件工具所需硬件板卡为所述通信接口模块库中的相应通信接口模块支持的硬件设备。
6.一种仿真测试装置,其特征在于,包括:
建立模块,用于建立通信接口模块库和板卡封装模块库;所述通信接口模块库集成在软件工具中,且包含有各种通信协议的通信接口模块,所述板卡封装模块库集成在所述软件工具中,且包含有各种硬件板卡的硬件信息;
第一选择模块,用于根据待测算法系统的结构需求,从所述通信接口模块库中选择目标通信接口模块;所述待测算法系统在所述软件工具中搭建;
第二选择模块,用于根据所述待测算法系统的功能仿真需求,从所述板卡封装模块库中选择目标板卡封装模块;
连接处理模块,用于利用所述软件工具,对所述目标通信接口模块及目标硬件设备进行预设的连接处理,以实现所述目标通信接口模块与所述软件工具及所述目标硬件设备间的通信连接;所述目标硬件设备与所述目标板卡封装模块中的硬件信息相匹配;
仿真测试模块,用于基于所述软件工具、所述目标通信接口模块及所述目标硬件设备,对所述待测算法系统进行软硬件协同仿真测试;
其中,若所述待测算法系统包括第一模块与第二模块,则所述仿真测试模块用于:对所述第一模块与所述第二模块进行软硬件协同仿真测试;
所述第一模块用于接收输入数据,对输入数据进行数据预处理,并将经数据预处理后所得的输入数据发送至所述第二模块;所述第二模块用于对接收的数据进行算法运算,并将算法运算结果发送至所述第一模块,以使得所述第一模块输出所述算法运算结果;
所述目标硬件设备包括第一目标硬件设备与第二目标硬件设备;所述目标通信接口模块包括与所述第一目标硬件设备相连接的第一目标通信接口模块,以及与所述第二目标硬件设备相连接的第二目标通信接口模块;
所述仿真测试模块包括:
第一联合仿真验证单元,用于:
将所述第一模块的功能代码下载至所述软件工具上,将所述第二模块的功能代码下载至第一目标硬件设备;
在所述软件工具上运行所述第一模块的功能代码,在所述第一目标硬件设备上运行所述第二模块的功能代码;
向所述第一模块输入用于作为测试激励的第一输入数据,基于所述第一输入数据、通过利用所述第一目标通信接口模块在所述软件工具与所述第一目标硬件设备之间进行通信交互,实现对所述第一模块与所述第二模块进行第一联合仿真验证;
第二联合仿真验证单元,用于:
在所述第一模块与所述第二模块通过所述第一联合仿真验证后,将所述第一模块的功能代码下载至第二目标硬件设备;
在所述第一目标硬件设备上运行所述第二模块的功能代码,在所述第二目标硬件设备上运行所述第一模块的功能代码;
通过所述第二目标通信接口模块向所述第一模块输入用于作为测试激励的第二输入数据,基于所述第二输入数据、通过利用所述第一目标通信接口模块、第二目标通信接口模块在所述软件工具与所述第一目标硬件设备、第二目标硬件设备之间进行通信交互,实现对所述第一模块与所述第二模块进行第二联合仿真验证。
7.根据权利要求6所述的装置,其特征在于,所述连接处理模块包括:
参数信息接收单元,用于利用所述软件工具接收用户为所述目标通信接口模块配置的参数信息;
第一连接单元,用于在接收到用户的接口模块连接请求时,建立所述软件工具与所述目标通信接口模块间的通信连接,以使所述目标通信接口模块基于所述参数信息进行工作;
第二连接单元,用于在检测到目标硬件设备接入所述目标通信接口模块时,基于所述目标板卡封装模块中的硬件信息,建立所述目标通信接口模块与所述目标硬件设备间的通信连接。
8.根据权利要求6所述的装置,其特征在于,所述仿真测试模块包括:
编译单元,用于基于所述软件工具对所述待测算法系统进行编译处理,得到编译结果;
仿真测试单元,用于对所述编译结果进行软硬件协同仿真测试。
9.根据权利要求6所述的装置,其特征在于,所述第一目标硬件设备的数量为一个;还包括:
动态重配置模块,用于若所述第二模块包括多个逻辑相互独立的子模块,则采用该一个第一目标硬件设备运行所述多个子模块,并在所述一个第一目标硬件设备上将每个子模块实现为一个独立的IP核,以使得支持对所述多个子模块中部分子模块的动态重配置。
10.根据权利要求6-9任意一项所述的装置,其特征在于,所述建立模块包括:
第一导入及封装单元,用于在所述软件工具中导入所需的通信接口源代码,并封装所述通信接口源代码,得到构成所述通信接口模块库所需的通信接口模块;
第二导入及封装单元,用于在所述软件工具中导入所需硬件板卡的硬件信息,并封装所导入的硬件信息,得到构成所述板卡封装模块库所需的板卡封装模块;所述软件工具所需硬件板卡为所述通信接口模块库中的相应通信接口模块支持的硬件设备。
CN201911133253.5A 2019-11-19 2019-11-19 一种仿真测试方法和装置 Active CN110716537B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911133253.5A CN110716537B (zh) 2019-11-19 2019-11-19 一种仿真测试方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911133253.5A CN110716537B (zh) 2019-11-19 2019-11-19 一种仿真测试方法和装置

Publications (2)

Publication Number Publication Date
CN110716537A CN110716537A (zh) 2020-01-21
CN110716537B true CN110716537B (zh) 2021-02-19

Family

ID=69216164

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911133253.5A Active CN110716537B (zh) 2019-11-19 2019-11-19 一种仿真测试方法和装置

Country Status (1)

Country Link
CN (1) CN110716537B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111831497B (zh) * 2020-07-13 2024-04-12 北京淳中科技股份有限公司 一种设备仿真方法、装置、存储介质及仿真终端
CN112614403A (zh) * 2020-12-25 2021-04-06 深圳市小喵科技有限公司 硬件仿真方法及装置
CN114546823B (zh) * 2021-12-27 2023-09-12 芯华章科技股份有限公司 用于重现逻辑系统设计的调试场景的方法及相关设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1560743A (zh) * 2004-03-11 2005-01-05 浙江大学 多媒体处理器协同仿真验证平台
CN100535868C (zh) * 2005-12-28 2009-09-02 中国科学院微电子研究所 一种实时位真仿真开发系统及其方法
CN100399341C (zh) * 2006-03-31 2008-07-02 电子科技大学 一种矢量模式软硬件协同仿真/验证方法
CN100593344C (zh) * 2008-03-31 2010-03-03 北京中星微电子有限公司 检测图像处理系统功能的方法及装置
CN102567197A (zh) * 2010-12-28 2012-07-11 北京旋极信息技术股份有限公司 仿真测试方法和装置
US8661303B2 (en) * 2011-06-23 2014-02-25 Texas Instruments Incorporated Mechanism to instantiate a JTAG debugger in a browser
CN105302685A (zh) * 2015-11-30 2016-02-03 北京润科通用技术有限公司 一种软硬件协同仿真测试方法和装置

Also Published As

Publication number Publication date
CN110716537A (zh) 2020-01-21

Similar Documents

Publication Publication Date Title
CN110716537B (zh) 一种仿真测试方法和装置
Chen et al. Challenges and trends in modern SoC design verification
JP3131177B2 (ja) エミュレーションとシミュレーションを用いた設計検証のための方法および装置
CN105302685A (zh) 一种软硬件协同仿真测试方法和装置
US20050273298A1 (en) Simulation of systems
CN107066375A (zh) 安全关键软件自动化基于需求的测试实例生成系统和方法
Kelemenová et al. Model based design and HIL simulations
US7222317B1 (en) Circuit comparison by information loss matching
CN114139475A (zh) 芯片验证方法、系统、设备及存储介质
CN115422866A (zh) 用于在仿真器上仿真逻辑系统设计的方法及相关设备
Shirazi et al. Framework and tools for run-time reconfigurable designs
CN104133931B (zh) 用于检测组合等效电路设计中的相应路径的方法和系统
US20100057425A1 (en) Automatically creating manufacturing test rules pertaining to an electronic component
US8689153B1 (en) M and A for importing hardware description language into a system level design environment
CN115935870A (zh) 功耗分析方法、装置、电子设备、存储介质
Venkataramani et al. Model-based hardware design
CN114282464A (zh) 芯片仿真验证中的协同仿真方法及应用
Glesner et al. State-of-the-art in rapid prototyping for mechatronic systems
JP2022136983A (ja) システム試験手順を使用する統合試験手順の自動生成
Erkkinen et al. Verification, validation, and test with model-based design
US20110126052A1 (en) Generation of Test Information for Testing a Circuit
JP2003076739A (ja) 論理検証装置及び方法並びにプログラム
CN111736490B (zh) 联合仿真方法、装置、系统及电子设备
Silva et al. A Distributed Functional Verification Environment for the Design of System-on-Chip in Heterogeneous Architectures
US7047173B1 (en) Analog signal verification using digital signatures

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
GR01 Patent grant
GR01 Patent grant