【技术实现步骤摘要】
软硬件联合仿真系统、方法、装置、设备和存储介质
[0001]本公开涉及计算机
,具体涉及芯片等
,尤其涉及一种软硬件联合仿真系统、方法、装置、设备和存储介质。
技术介绍
[0002]现场可编程门阵列(Field Programmable Gate Array,FPGA)芯片是一种可编程器件。FPGA开发可以包括软件开发和硬件开发,硬件开发是通过硬件描述语言(Hardware Description Language,HDL)进行电路设计,软件开发是指开发与硬件配合使用的软件,软件可以是驱动程序和/或应用程序(Application,APP)。
[0003]为了确保正确性,FPGA在使用之前一般都需要对电路设计所对应的硬件电路和与FPGA配合使用的软件进行仿真,分别称为硬件仿真和软件仿真。硬件仿真和软件仿真分别模拟硬件电路或软件的所有可能输入情况并验证其输出是否符合预期。为了提高仿真效率,出现了软硬件联合仿真(Co
‑
simulation)方案。
技术实现思路
[0004]本公开提供了一种软硬件联合仿真系统、方法、装置、设备和存储介质。
[0005]根据本公开的一方面,提供了一种软硬件联合仿真系统,包括:软件仿真器,用于仿真真实软件的真实运行平台,以生成虚拟运行平台;以及,在所述虚拟运行平台上运行所述真实软件;硬件仿真器,用于仿真真实硬件,以生成虚拟硬件;虚拟连接器,用于仿真所述真实运行平台与所述真实硬件之间的真实连接设备;以及,基于所述软件仿真器或所述硬件 ...
【技术保护点】
【技术特征摘要】
1.一种软硬件联合仿真系统,包括:软件仿真器,用于仿真真实软件的真实运行平台,以生成虚拟运行平台;以及,在所述虚拟运行平台上运行所述真实软件;硬件仿真器,用于仿真真实硬件,以生成虚拟硬件;虚拟连接器,用于仿真所述真实运行平台与所述真实硬件之间的真实连接设备;以及,基于所述软件仿真器或所述硬件仿真器产生的读取请求数据执行读写操作。2.根据权利要求1所述的系统,其中,所述真实运行平台为真实处理器;所述真实处理器与所述真实硬件之间采用片外总线连接;所述虚拟连接器具体用于仿真所述片外总线对应的真实连接设备。3.根据权利要求2所述的系统,其中,所述片外总线为PCIe总线;所述虚拟连接器是虚拟PCIe RC,所述虚拟PCIe RC用于仿真所述PCIe总线对应的真实PCIe RC。4.根据权利要求1
‑
3任一项所述的系统,其中,所述虚拟连接器基于软件编程语言实现。5.根据权利要求1
‑
3任一项所述的系统,其中,所述软件仿真器为虚拟机;和/或,所述硬件仿真器为HDL仿真器。6.根据权利要求1
‑
3任一项所述的系统,其中,所述软件仿真器与所述虚拟连接器之间通过如下方式中的至少一项相互通信:消息队列,共享内存,套接字。7.根据权利要求1
‑
3任一项所述的系统,其中,所述虚拟连接器进一步用于:在请求消息队列中,获取所述软件仿真器存入的读写请求消息;基于所述读写请求消息,生成第一TLP报文;基于所述真实硬件的时序规则,将所述第一TLP报文转换为读写请求信号;将所述读写请求信号发送至所述硬件仿真器,所述读写请求信号用于触发所述硬件仿真器执行读写操作;以及,若接收到所述硬件仿真器发送的读响应信号,基于所述时序规则,将所述读响应信号转换为第二TLP报文;基于所述第二TLP报文,生成读响应消息;将所述读响应消息存入响应消息队列,所述软件仿真器用于从所述响应消息队列获取所述读响应消息;和/或,接收所述硬件仿真器发送的所述读写请求信号;基于所述真实硬件的时序规则,将所述读写请求信号转换为第三TLP报文;基于所述第三TLP报文,对所述软件仿真器提供的共享内存进行读写操作;以及,若从所述共享内存读取到读响应数据,将所述读响应数据封装为第四TLP报文;基于所述时序规则,将所述第四TLP报文转换为读响应信号;将所述读响应信号发送至所述硬件仿真器。8.一种软硬件联合仿真方法,所述方法应用于虚拟连接器,所述虚拟连接器用于仿真真实软件的真实运行平台与真实硬件之间的真实连接设备,所述方法包括:接收发起方发送的读写请求数据;
基于所述读写请求数据,对响应方执行读写操作;其中,所述发起方和所述响应方分别为软件仿真器和硬件仿真器中的一方;所述软件仿真器用于仿真真实软件的真实运行平台,以生成虚拟运行平台,以及,在所述虚拟运行平台上运行所述真实软件;所述硬件仿真器用于仿真所述真实硬件,以生成虚拟硬件。9.根据权利要求8所述的方法,其中,所述真实运行平台与所述真实硬件基于PCIe总线连接,相应地,所述虚拟连接器是虚拟PCIe RC;所述发起方为所述软件仿真器,相应地,所述读写请求数据为读写请求消息;所述接收发起方发送的读写请求数据,包括:在请求消息队列中,获取所述软件仿真器存入的所述读写请求消息;和/或,所述基于所述读写请求数据,对响应方执行读写操作,包括:基于所述读写请求消息,生成第一TLP报文;基于所述真实硬件的时序规则,将所述第一TLP报文转换为第一读取请求信号;将所述第一读写请求信号发送至所述硬件仿真器,所述第一读写请求信号用于触发所述硬件仿真器执行读写操作。10.根据权利要求9所述的方法,其中,所述读写请求消息为读请求消息,相应地,所述读写操作是读操作;所述方法还包括:接收所述硬件仿真器发送的第一读响应信号,所述第一读响应信号是所述硬件仿真器执行所述读操作后生成的;基于所述时序规则,将所述第一读响应信号转换为第二TLP报文;基于所述第二TLP报文,生成读响应消息;将所述读响应消息存入响应消息队列,所述软件仿真器用于从所述响应消息队列获取所述读响应消息。11.根据权利要求8所述的方法,其中,所述真实运行平台与所述真实硬件基于PCIe总线连...
【专利技术属性】
技术研发人员:李鸿明,李兆耕,
申请(专利权)人:北京百度网讯科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。