CN109711071A - 一种服务器SoC软硬件协同仿真加速方法及系统 - Google Patents
一种服务器SoC软硬件协同仿真加速方法及系统 Download PDFInfo
- Publication number
- CN109711071A CN109711071A CN201811634368.8A CN201811634368A CN109711071A CN 109711071 A CN109711071 A CN 109711071A CN 201811634368 A CN201811634368 A CN 201811634368A CN 109711071 A CN109711071 A CN 109711071A
- Authority
- CN
- China
- Prior art keywords
- hardware
- software
- fpga
- transaction
- simulation
- 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.)
- Granted
Links
- 238000004088 simulation Methods 0.000 title claims abstract description 74
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000012360 testing method Methods 0.000 claims abstract description 41
- 239000013598 vector Substances 0.000 claims abstract description 31
- 230000005540 biological transmission Effects 0.000 claims abstract description 25
- 238000004891 communication Methods 0.000 claims abstract description 25
- 230000005284 excitation Effects 0.000 claims abstract description 21
- 230000003993 interaction Effects 0.000 claims abstract description 17
- 230000004044 response Effects 0.000 claims abstract description 15
- 239000003795 chemical substances by application Substances 0.000 claims description 22
- 230000001133 acceleration Effects 0.000 claims description 17
- 238000004806 packaging method and process Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 3
- 230000001360 synchronised effect Effects 0.000 claims description 3
- 238000000638 solvent extraction Methods 0.000 claims 1
- 238000013461 design Methods 0.000 abstract description 10
- 230000007246 mechanism Effects 0.000 abstract description 9
- 238000012795 verification Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 9
- 238000011161 development Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000015572 biosynthetic process Effects 0.000 description 4
- 238000003786 synthesis reaction Methods 0.000 description 4
- 239000008186 active pharmaceutical agent Substances 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Debugging And Monitoring (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供一种服务器SoC软硬件协同仿真加速方法及系统,所述方法包括:基于事务生成测试向量;根据测试向量产生激励,封装成事务包;将所封装的事务包转化为用户能识别的响应数据;采用SCE‑MI通信通道将主机工作站与FPGA仿效器进行数据传输,然后基于面向方面进行软硬件协同仿真。本发明能够基于SCE‑MI标准,建立出满足一致性、支持多通道且基于事务的软硬件交互机制;按照面向方面的设计模式,分离待测试系统的功能、时序、结构属性,实现一种层次化软硬件协调仿真加速器系统,支持全芯片、以及各层次子系统的软硬件协同仿真平台的灵活部署。
Description
技术领域
本发明涉及服务器SoC仿真测试技术领域,尤其涉及一种服务器SoC软硬件协同仿真加速方法及系统。
背景技术
随着超大规模集成电路工艺制程技术向10nm、7nm的发展,高性能服务器处理器设计规模、复杂度的不断提高,SoC功能、性能验证工作已占据70%左右的设计时间,并已成为影响服务器处理器芯片产品上市时间及一次性工程费用的关键因素。缩短SoC验证环境的开发时间,提高系统验证效率,已成为解决这一问题的关键。
软硬件协同仿真是指一部分验证组件以及待测试系统(DUT,Design Under Test)在FPGA中运行,而其他验证组件在计算机主机中运行。一般来说,待测试系统、可综合的验证组件在FPGA上运行,而测试向量在计算机主机中运行。
但是,工业界传统协同仿真验证系统存在两个主要问题:1、可移植性差,不同协同验证系统向用户提供的API各不相同。同一个待测试系统,若采用不同的协同仿真平台,用户需根据相应API开发不同的验证环境;2、加速效果较差,传统协同仿真系统所提供的API,一般是基于周期精准事件实现激励。在每个时钟周期,均需要与软件交互,严重限制硬件仿效器加速效果的充分发挥。
发明内容
本发明提供的服务器SoC软硬件协同仿真加速方法及系统,能够基于SCE-MI标准,建立出满足一致性、支持多通道且基于事务的软硬件交互机制;按照面向方面的设计模式,分离待测试系统的功能、时序、结构属性,实现一种层次化软硬件协调仿真加速器系统,支持全芯片、以及各层次子系统的软硬件协同仿真平台的灵活部署。
第一方面,本发明提供一种服务器SoC软硬件协同仿真加速方法,包括:
基于事务生成测试向量;
根据测试向量产生激励封装成事务包;
将所封装的事务包转化为用户能识别的响应数据;
采用SCE-MI通信通道将主机工作站与FPGA仿效器进行数据传输,然后基于面向方面进行软硬件协同仿真。
可选地,所述根据测试向量产生激励封装成事务包包括:
利用SystemC、SystemVerilog语言特性实现RAL建模、基于事务的SoC平台建模;
应用层process之间通过signal进行通信;
按照应用层SystemC与UVM NUMA_Env交互的Phase层次的响应关系将NUMA_env作为主控方,与SystemC通过DPI交互;并且在uvm build phase,NUMA_env开始调用SystemC,各Phases之间的交互通过Events完成握手。
可选地,在所述采用SCE-MI通信通道将主机工作站与FPGA仿效器进行数据传输之前,所述方法还包括:
通过在标准UVM框架中进行软硬件划分并设置UVM_Agent中的BFM作为基于FPGA的可综合事务器,用以通过硬件化的BFM对软硬件协同仿真进行提速。
可选地,所述通过在标准UVM框架中进行软硬件划分并设置UVM_Agent中的BFM作为基于FPGA的可综合事务器,用以通过硬件化的BFM对软硬件协同仿真进行提速包括:
在FPGA仿效器一端通过设置的BFM module将解析/封装软件侧的事务包生成硬件能识别的总线时序;
在主机工作站中设置C-PROXY LAYER将软件侧的接口转换;
在主机工作站中还设置BFM proxy SV interface将FPGA硬件侧的接口转换;其中,
由所设置的BFM module、C-PROXY LAYER和BFM proxy SV interface在标准UVM框架中进行软硬件划分并实现可综合的主动式UVM_Agent软硬件框架。
可选地,所述基于面向方面进行软硬件协同仿真为根据待测试系统采用面向方面确定配置参数,并根据所确定的配置参数进行软硬件协同仿真。
可选地,所述根据待测试系统采用面向方面确定配置参数,并根据所确定的配置参数进行软硬件协同仿真包括:
在软硬件协同仿真初始化阶段时,采用SCE-MI的控制逻辑读取参数配置文件,完成代理器、事务器中软硬件模块的配置和调用,并将待测试系统中的RTL代码编译、综合后,下载到FPGA中;
在软硬件协同仿真初始化阶段之后,在SCE-MI中的每个软件消息代理端口,均与相应的硬件消息端口设置成同一端口号,完成绑定,形成多个独立的虚拟消息通道;
其中,硬件侧的频率、相位、复位,均由事务器通过时钟控制逻辑控制;软硬件系统仿真平台进行事务处理时,将停止整个测试的时钟,完成事务传送后再恢复受控时钟,以使整个软硬件协同仿真平台软硬件双方的同步。
第二方面,本发明提供一种服务器SoC软硬件协同仿真加速系统,包括:软件侧的主机工作站、硬件侧的FPGA仿效器和设置在软件侧和硬件侧之间的SCE-MI通信通道,所述主机工作站与FPGA仿效器通过SCE-MI通信通道进行数据传输,并基于面向方面进行软硬件协同仿真;其中,
所述主机工作站用于基于事务生成测试向量、根据测试向量产生激励封装成事务包以及将所封装的事务包转化为用户能识别的响应数据。
可选地,所述主机工作站包括:
应用层,用于基于事务生成测试向量;
事务层,用于根据测试向量产生激励封装成事务包,并将所封装的事务包转化为用户能识别的响应数据;
传输层,由SCE-MI组件构成SCE-MI框架的软件部分并与SCE-MI框架的硬件部分相对应,用于软件侧数据的传输,其中,所述SCE-MI中的各软件消息代理端口与对应的硬件消息端口一一映射,形成若干个独立的虚拟消息通道;
物理层,由器件驱动、物理通信硬件接口组成,用于消息与比特流之间的转换,通过物理通信通道从软件侧传送到硬件侧。
可选地,所述软件侧的主机工作站还包括用于将软件侧的接口转换的C-PROXYLAYER、以及用于将FPGA硬件侧的接口转换的BFM proxy SV interface。
可选地,所述硬件侧的FPGA仿效器设置用于将解析/封装软件侧的事务包生成硬件能识别的总线时序的BFM module。
本发明实施例提供的服务器SoC软硬件协同仿真加速方法及系统,所述方法能够基于SCE-MI标准,建立出满足一致性、支持多通道且基于事务的软硬件交互机制;按照面向方面的设计模式,分离待测试系统的功能、时序、结构属性,实现一种层次化软硬件协调仿真加速器系统,支持全芯片、以及各层次子系统的软硬件协同仿真平台的灵活部署。
附图说明
图1为本发明一实施例服务器SoC软硬件协同仿真加速方法的流程图;
图2为本发明一实施例服务器SoC软硬件协同仿真加速系统的结构示意图;
图3为本发明另一实施例服务器SoC软硬件协同仿真加速系统的结构示意图;
图4为本发明一实施例可综合的主动式UVM_Agent软硬件框架的结构示意图;
图5为本发明一实施例软硬件交互机制的示意图;
图6为本发明一实施例传输层和物理层的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种服务器SoC软硬件协同仿真加速方法,如图1所示,所述方法包括:
S11、基于事务生成测试向量;
S12、根据测试向量产生激励封装成事务包;
S13、将所封装的事务包转化为用户能识别的响应数据;
S14、采用SCE-MI通信通道将主机工作站与FPGA仿效器进行数据传输,然后基于面向方面进行软硬件协同仿真。
本发明实施例提供的服务器SoC软硬件协同仿真加速方法主要是基于SCE-MI标准,建立出满足一致性、支持多通道且基于事务的软硬件交互机制;按照面向方面的设计模式,分离待测试系统的功能、时序、结构属性,实现一种层次化软硬件协调仿真加速器系统,支持全芯片、以及各层次子系统的软硬件协同仿真平台的灵活部署。
可选地,如图2所示,所述根据测试向量产生激励封装成事务包包括:
利用SystemC、SystemVerilog语言特性实现RAL建模、基于事务的SoC平台建模;
应用层process之间通过signal进行通信;
按照应用层SystemC与UVM NUMA_Env交互的Phase层次的响应关系将NUMA_env作为主控方,与SystemC通过DPI交互;并且在uvm build phase,NUMA_env开始调用SystemC,各Phases之间的交互通过Events完成握手。
具体的,本实施例所述方法中为使测试向量有较好的兼容性,可同时支持子系统、系统级验证,应用层基于SystemC实现,并分层次开发。充分利用SystemC、SystemVerilog语言特性实现RAL建模、基于事务的SoC平台建模。应用层process(进程)之间通过signal(信号)进行通信,process可通过敏感于时钟信号来表达时序逻辑,也可通过敏感于所有输入来表达组合逻辑。
同时,应用层SystemC与UVM NUMA_Env交互的Phase(相、阶段)层次的响应关系如表一所示。其中,NUMA_env作为主控方,与SystemC通过DPI交互。在uvm build phase,NUMA_env开始调用SystemC,各Phases之间的交互通过Events(事件)完成握手。
表一
可选地,在所述采用SCE-MI通信通道将主机工作站与FPGA仿效器进行数据传输之前,所述方法还包括:
通过在标准UVM框架中进行软硬件划分并设置UVM_Agent中的BFM作为基于FPGA的可综合事务器,用以通过硬件化的BFM对软硬件协同仿真进行提速。
可选地,所述通过在标准UVM框架中进行软硬件划分并设置UVM_Agent中的BFM作为基于FPGA的可综合事务器,用以通过硬件化的BFM对软硬件协同仿真进行提速包括:
在FPGA仿效器一端通过设置的BFM module将解析/封装软件侧的事务包生成硬件能识别的总线时序;
在主机工作站中设置C-PROXY LAYER将软件侧的接口转换;
在主机工作站中还设置BFM proxy SV interface将FPGA硬件侧的接口转换;其中,
由所设置的BFM module、C-PROXY LAYER和BFM proxy SV interface在标准UVM框架中进行软硬件划分并实现可综合的主动式UVM_Agent软硬件框架。
具体的,如图4所示,本实施例所述方法对经典的UVM框架进行改造,最大化利用硬件执行效率高的特点,构建出可综合的主动式UVM_Agent软硬件框架,提高软硬件协同仿真的整体效率。
由于典型的UVM验证框架的瓶颈在于软硬件交互局限在信号层面,无法充分利用FPGA上的加速性能。本实施例所述方法主要将事务层在标准UVM框架基础上进行软硬件划分,将UVM_Agent中的BFM(总线功能模块,Bus Function Model),实现为基于FPGA的可综合事务器,通过硬件化BFM实现协同仿真系统的提速。此外,由于主机工作站上的Simulator(模拟器)无法直接解析待测试系统综合后信号的层次关系,DPI、SVA(块的建立,systemVerilog Assertions)、PLI(Verilog Program Language Interface,,也称为VerilogPLI,即PLI提供一种接口)需做相应的处理。
对于全芯片软硬件协同仿真,能最大化利用FPGA上的加速性能。而子系统协同仿真,Driver需由主动式UVM_Agent实现。因此,如图6所示,本实施例所述方法还通过建立满足一致性、支持多通道的Transaction(事务)软硬件交互机制,该机制也支持关键Transaction的Monitor(监测器)和Scoreboard对比。
可选地,如图5-6所示,所述基于面向方面进行软硬件协同仿真为根据待测试系统采用面向方面确定配置参数,并根据所确定的配置参数进行软硬件协同仿真。
可选地,所述根据待测试系统采用面向方面确定配置参数,并根据所确定的配置参数进行软硬件协同仿真包括:
在软硬件协同仿真初始化阶段时,采用SCE-MI的控制逻辑读取参数配置文件,完成代理器、事务器中软硬件模块的配置和调用,并将待测试系统中的RTL代码编译、综合后,下载到FPGA中;
在软硬件协同仿真初始化阶段之后,在SCE-MI中的每个软件消息代理端口,均与相应的硬件消息端口设置成同一端口号,完成绑定,形成多个独立的虚拟消息通道;
其中,硬件侧的频率、相位、复位,均由事务器通过时钟控制逻辑控制;软硬件系统仿真平台进行事务处理时,将停止整个测试的时钟,完成事务传送后再恢复受控时钟,以使整个软硬件协同仿真平台软硬件双方的同步。
综上所述,本实施例所述方法有如下优点:1、通过采用SCE-MI通信通道进行数据传输使得数据传输更加标准化,大大增强底层验证组件的可移植性、重用性;2、层次化,层次化架构使测试向量、验证组件、底层平台的开发完全独立,便于项目分工及协同开发;3、采用面向方面设计模式,可支持全芯片、以及各层次子系统的软硬件协同仿真平台的部署;4、支持增量式编译、增量式FPGA综合,大大减少项目迭代时的编译耗时、FPGA综合耗时;5、与传统的仿真器相比,根据待测试系统的不同部署,本实施例所述方法实现的软硬件协同仿真系统可达到10x~1000x的加速比。
本发明实施例还提供一种服务器SoC软硬件协同仿真加速系统,如图2所示,所述系统包括:软件侧的主机工作站、硬件侧的FPGA仿效器和设置在软件侧和硬件侧之间的SCE-MI通信通道,所述主机工作站与FPGA仿效器通过SCE-MI通信通道进行数据传输,并基于面对对象进行软硬件协同仿真;其中,
所述主机工作站用于基于事务生成测试向量、根据测试向量产生激励封装成事务包以及将所封装的事务包转化为用户能识别的响应数据。
本发明实施例提供的服务器SoC软硬件协同仿真加速系统主要是基于SCE-MI标准,建立出满足一致性、支持多通道且基于事务的软硬件交互机制;按照面向方面的设计模式,分离待测试系统的功能、时序、结构属性,实现一种层次化软硬件协调仿真加速器系统,支持全芯片、以及各层次子系统的软硬件协同仿真平台的灵活部署。
可选地,所述主机工作站包括:
应用层,用于基于事务生成测试向量;
事务层,用于根据测试向量产生激励封装成事务包,并将所封装的事务包转化为用户能识别的响应数据;
传输层,由SCE-MI组件构成SCE-MI框架的软件部分并与SCE-MI框架的硬件部分相对应,用于软件侧数据的传输,其中,所述SCE-MI中的各软件消息代理端口与对应的硬件消息端口一一映射,形成若干个独立的虚拟消息通道;
物理层,由器件驱动、物理通信硬件接口组成,用于消息与比特流之间的转换,通过物理通信通道从软件侧传送到硬件侧。
具体的,如图2-6所示,本实施例所述系统为面向方面的高性能服务器SoC软硬件协同仿真加速系统,主要是基于Transaction(事务)的层次化软硬件协调仿真加速器系统,如图2所示,横向可分为主机工作站(Simulator)、FPGA仿效器(Synthesis FPGAs)两个层次,两者间经SCE-MI通信通道(Co-Emulation Messages(SCE-MI))连接,进行软硬件协同仿真;如图3所示,从纵向看,按功能可分为应用层、事务层、传输层和物理层四个不同的层次。应用层主要包括系统组件初始化、SoC初始化,以及用于验证芯片功能所开发的一系列具体测试向量;测试向量以基于事务的形式进行描述,用户仅需考虑对被测试系统的测试所需开发的测试向量,无需关心平台底层组件设计、底层具体信号的通信协议。事务层主要完成信息抽象层次的转换工作,包括被测试系统代理和事务器两个部分;被测试系统代理主要将用户测试向量产生的激励封装成事务包,并将硬件传回的事务包转化为用户能识别的响应数据;事务器主要完成事务包与周期精准的信号事件之间的转换。传输层由SCE-MI基本组件构成,包括软件、硬件两部分,主要负责信息的收发工作;SCE-MI中的每个软件消息代理端口,均与对应的硬件消息端口一一映射,形成若干个独立的虚拟消息通道;传输层将事务包转换成SCE-MI消息格式,并经虚拟通道进行消息传输;物理层包括器件驱动、物理通信硬件接口,主要实现消息与比特流之间的转换,通过物理通信通道从软件传送到硬件。
同时,如图2所示,所述FPGA仿效器(Synthesis FPGAs)包括待测系统(DUT)、Interfaces(接口定义实例化)、HW_BFMs、HW_Tasks。
因此,本实施例所述系统具有如下优点:1、通过采用SCE-MI通信通道进行数据传输使得数据传输更加标准化,大大增强底层验证组件的可移植性、重用性;2、层次化,层次化架构使测试向量、验证组件、底层平台设计的开发完全独立,便于项目分工及协同开发;3、支持增量式编译,对于验证组件及事务器,可按package分别编译到相应lib中,最后统一链接,大大减少项目迭代时的编译耗时;4、支持增量式FPGA综合,将待测试系统、可综合BFM,按Tile分开综合,减少项目迭代时FPGA的综合耗时。
可选地,所述软件侧的主机工作站还包括用于将软件侧的接口转换的C-PROXYLAYER、以及用于将FPGA硬件侧的接口转换的BFM proxy SV interface。
可选地,所述硬件侧的FPGA仿效器设置用于将解析/封装软件侧的事务包生成硬件能识别的总线时序的BFM module。
本实施例的系统,可以用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (10)
1.一种服务器SoC软硬件协同仿真加速方法,其特征在于,包括:
基于事务生成测试向量;
根据测试向量产生激励封装成事务包;
将所封装的事务包转化为用户能识别的响应数据;
采用SCE-MI通信通道将主机工作站与FPGA仿效器进行数据传输,然后基于面向方面进行软硬件协同仿真。
2.根据权利要求1所述的方法,其特征在于,所述根据测试向量产生激励封装成事务包包括:
利用SystemC、SystemVerilog语言特性实现RAL建模、基于事务的SoC平台建模;
应用层process之间通过signal进行通信;
按照应用层SystemC与UVM NUMA_Env交互的Phase层次的响应关系将NUMA_env作为主控方,与SystemC通过DPI交互;并且在uvm build phase,NUMA_env开始调用SystemC,各Phases之间的交互通过Events完成握手。
3.根据权利要求1或2所述的方法,其特征在于,在所述采用SCE-MI通信通道将主机工作站与FPGA仿效器进行数据传输之前,所述方法还包括:
通过在标准UVM框架中进行软硬件划分并设置UVM_Agent中的BFM作为基于FPGA的可综合事务器,用以通过硬件化的BFM对软硬件协同仿真进行提速。
4.根据权利要求3所述的方法,其特征在于,所述通过在标准UVM框架中进行软硬件划分并设置UVM_Agent中的BFM作为基于FPGA的可综合事务器,用以通过硬件化的BFM对软硬件协同仿真进行提速包括:
在FPGA仿效器一端通过设置的BFM module将解析/封装软件侧的事务包生成硬件能识别的总线时序;
在主机工作站中设置C-PROXY LAYER将软件侧的接口转换;
在主机工作站中还设置BFM proxy SV interface将FPGA硬件侧的接口转换;其中,
由所设置的BFM module、C-PROXY LAYER和BFM proxy SV interface在标准UVM框架中进行软硬件划分并实现可综合的主动式UVM_Agent软硬件框架。
5.根据权利要求1所述的方法,其特征在于,所述基于面向方面进行软硬件协同仿真为根据待测试系统采用面向方面确定配置参数,并根据所确定的配置参数进行软硬件协同仿真。
6.根据权利要求5所述的方法,其特征在于,所述根据待测试系统采用面向方面确定配置参数,并根据所确定的配置参数进行软硬件协同仿真包括:
在软硬件协同仿真初始化阶段时,采用SCE-MI的控制逻辑读取参数配置文件,完成代理器、事务器中软硬件模块的配置和调用,并将待测试系统中的RTL代码编译、综合后,下载到FPGA中;
在软硬件协同仿真初始化阶段之后,在SCE-MI中的每个软件消息代理端口,均与相应的硬件消息端口设置成同一端口号,完成绑定,形成多个独立的虚拟消息通道;
其中,硬件侧的频率、相位、复位,均由事务器通过时钟控制逻辑控制;软硬件系统仿真平台进行事务处理时,将停止整个测试的时钟,完成事务传送后再恢复受控时钟,以使整个软硬件协同仿真平台软硬件双方的同步。
7.一种服务器SoC软硬件协同仿真加速系统,其特征在于,包括软件侧的主机工作站、硬件侧的FPGA仿效器和设置在软件侧和硬件侧之间的SCE-MI通信通道,所述主机工作站与FPGA仿效器通过SCE-MI通信通道进行数据传输,并基于面向方面进行软硬件协同仿真;其中,
所述主机工作站用于基于事务生成测试向量、根据测试向量产生激励封装成事务包以及将所封装的事务包转化为用户能识别的响应数据。
8.根据权利要求7所述的系统,其特征在于,所述主机工作站包括:
应用层,用于基于事务生成测试向量;
事务层,用于根据测试向量产生激励封装成事务包,并将所封装的事务包转化为用户能识别的响应数据;
传输层,由SCE-MI组件构成SCE-MI框架的软件部分并与SCE-MI框架的硬件部分相对应,用于软件侧数据的传输,其中,所述SCE-MI中的各软件消息代理端口与对应的硬件消息端口一一映射,形成若干个独立的虚拟消息通道;
物理层,由器件驱动、物理通信硬件接口组成,用于消息与比特流之间的转换,通过物理通信通道从软件侧传送到硬件侧。
9.根据权利要求7或8所述的系统,其特征在于,所述软件侧的主机工作站还包括用于将软件侧的接口转换的C-PROXY LAYER、以及用于将FPGA硬件侧的接口转换的BFM proxySV interface。
10.根据权利要求7-9任一所述的系统,其特征在于,所述硬件侧的FPGA仿效器设置用于将解析/封装软件侧的事务包生成硬件能识别的总线时序的BFM module。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811634368.8A CN109711071B (zh) | 2018-12-29 | 2018-12-29 | 一种服务器SoC软硬件协同仿真加速方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811634368.8A CN109711071B (zh) | 2018-12-29 | 2018-12-29 | 一种服务器SoC软硬件协同仿真加速方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109711071A true CN109711071A (zh) | 2019-05-03 |
CN109711071B CN109711071B (zh) | 2023-05-05 |
Family
ID=66259447
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811634368.8A Active CN109711071B (zh) | 2018-12-29 | 2018-12-29 | 一种服务器SoC软硬件协同仿真加速方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109711071B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110632499A (zh) * | 2019-09-23 | 2019-12-31 | 珠海格力电器股份有限公司 | 基于测试对象的测试向量生成方法及存储介质 |
CN110691004A (zh) * | 2019-09-11 | 2020-01-14 | 上海高性能集成电路设计中心 | 一种基于硬件仿真加速器的维护协议报文收发方法 |
CN112329366A (zh) * | 2020-12-04 | 2021-02-05 | 国微集团(深圳)有限公司 | 一种提高仿真效率的soc系统验证方法、装置及系统 |
CN112511537A (zh) * | 2020-11-30 | 2021-03-16 | 国微集团(深圳)有限公司 | 一种sce-mi协议桥及仿真系统 |
CN112836455A (zh) * | 2021-01-20 | 2021-05-25 | 上海擎昆信息科技有限公司 | 一种soc仿真方法及系统 |
CN114090250A (zh) * | 2021-11-22 | 2022-02-25 | 厦门大学 | 一种基于Banyan网络和多FPGA结构的EDA硬件加速方法与系统 |
CN115658323A (zh) * | 2022-11-15 | 2023-01-31 | 国网上海能源互联网研究院有限公司 | 基于软硬件协同的fpga潮流计算加速架构和方法 |
CN115688653A (zh) * | 2023-01-03 | 2023-02-03 | 无锡亚科鸿禹电子有限公司 | 基于软硬件协同仿真的软件自动化生成事务器的流程方法 |
CN118211547A (zh) * | 2024-05-20 | 2024-06-18 | 山东云海国创云计算装备产业创新中心有限公司 | 一种芯片建模仿真方法、产品、设备及介质 |
CN118395918A (zh) * | 2024-04-30 | 2024-07-26 | 北京中科昊芯科技有限公司 | 基于软硬件的芯片仿真方法、装置、测试终端及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1828617A (zh) * | 2006-03-31 | 2006-09-06 | 电子科技大学 | 一种软硬件协同仿真/验证系统及矢量模式仿真/验证方法 |
CN101872367A (zh) * | 2009-04-21 | 2010-10-27 | 上海威璞电子科技有限公司 | 采用高速电子开关阵列的板级电路可编程多fpga验证系统 |
CN104461812A (zh) * | 2014-12-18 | 2015-03-25 | 浪潮集团有限公司 | 一种利用已有Verilog BFM构造UVM验证组件的方法 |
CN106021037A (zh) * | 2015-07-10 | 2016-10-12 | 北京中电华大电子设计有限责任公司 | 一种基于技术手册提取的芯片寄存器自动化仿真验证方法 |
CN106202685A (zh) * | 2016-07-01 | 2016-12-07 | 合肥海本蓝科技有限公司 | 一种软硬件协同仿真加速器运行环境搭建方法和装置 |
CN107329869A (zh) * | 2016-04-29 | 2017-11-07 | 展讯通信(上海)有限公司 | 一种片上系统的仿真方法及装置 |
-
2018
- 2018-12-29 CN CN201811634368.8A patent/CN109711071B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1828617A (zh) * | 2006-03-31 | 2006-09-06 | 电子科技大学 | 一种软硬件协同仿真/验证系统及矢量模式仿真/验证方法 |
CN101872367A (zh) * | 2009-04-21 | 2010-10-27 | 上海威璞电子科技有限公司 | 采用高速电子开关阵列的板级电路可编程多fpga验证系统 |
CN104461812A (zh) * | 2014-12-18 | 2015-03-25 | 浪潮集团有限公司 | 一种利用已有Verilog BFM构造UVM验证组件的方法 |
CN106021037A (zh) * | 2015-07-10 | 2016-10-12 | 北京中电华大电子设计有限责任公司 | 一种基于技术手册提取的芯片寄存器自动化仿真验证方法 |
CN107329869A (zh) * | 2016-04-29 | 2017-11-07 | 展讯通信(上海)有限公司 | 一种片上系统的仿真方法及装置 |
CN106202685A (zh) * | 2016-07-01 | 2016-12-07 | 合肥海本蓝科技有限公司 | 一种软硬件协同仿真加速器运行环境搭建方法和装置 |
Non-Patent Citations (2)
Title |
---|
李平等: "SoC软硬件协同技术的FPGA芯片测试新方法", 《电子科技大学学报》 * |
陈小平等: "基于事务级软硬件协同仿真技术的研究", 《微电子学与计算机》 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110691004A (zh) * | 2019-09-11 | 2020-01-14 | 上海高性能集成电路设计中心 | 一种基于硬件仿真加速器的维护协议报文收发方法 |
CN110632499A (zh) * | 2019-09-23 | 2019-12-31 | 珠海格力电器股份有限公司 | 基于测试对象的测试向量生成方法及存储介质 |
CN110632499B (zh) * | 2019-09-23 | 2021-04-23 | 珠海格力电器股份有限公司 | 基于测试对象的测试向量生成方法及存储介质 |
CN112511537A (zh) * | 2020-11-30 | 2021-03-16 | 国微集团(深圳)有限公司 | 一种sce-mi协议桥及仿真系统 |
CN112329366A (zh) * | 2020-12-04 | 2021-02-05 | 国微集团(深圳)有限公司 | 一种提高仿真效率的soc系统验证方法、装置及系统 |
CN112836455B (zh) * | 2021-01-20 | 2023-11-10 | 上海擎昆信息科技有限公司 | 一种soc仿真方法及系统 |
CN112836455A (zh) * | 2021-01-20 | 2021-05-25 | 上海擎昆信息科技有限公司 | 一种soc仿真方法及系统 |
CN114090250A (zh) * | 2021-11-22 | 2022-02-25 | 厦门大学 | 一种基于Banyan网络和多FPGA结构的EDA硬件加速方法与系统 |
CN114090250B (zh) * | 2021-11-22 | 2024-09-24 | 厦门大学 | 一种基于Banyan网络和多FPGA结构的EDA硬件加速方法与系统 |
CN115658323A (zh) * | 2022-11-15 | 2023-01-31 | 国网上海能源互联网研究院有限公司 | 基于软硬件协同的fpga潮流计算加速架构和方法 |
CN115688653A (zh) * | 2023-01-03 | 2023-02-03 | 无锡亚科鸿禹电子有限公司 | 基于软硬件协同仿真的软件自动化生成事务器的流程方法 |
CN118395918A (zh) * | 2024-04-30 | 2024-07-26 | 北京中科昊芯科技有限公司 | 基于软硬件的芯片仿真方法、装置、测试终端及介质 |
CN118211547A (zh) * | 2024-05-20 | 2024-06-18 | 山东云海国创云计算装备产业创新中心有限公司 | 一种芯片建模仿真方法、产品、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109711071B (zh) | 2023-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109711071A (zh) | 一种服务器SoC软硬件协同仿真加速方法及系统 | |
US20040111252A1 (en) | Method and system for emulating a design under test associated with a test environment | |
CN113342583B (zh) | 芯片验证系统、方法、装置、设备和存储介质 | |
US10180850B1 (en) | Emulating applications that use hardware acceleration | |
Wiersema et al. | Embedding FPGA overlays into configurable systems-on-chip: ReconOS meets ZUMA | |
CN115146582A (zh) | 仿真方法及仿真装置、电子设备和计算机可读存储介质 | |
CN115622896A (zh) | 一种axi4高速总线及多队列仿真验证方法及仿真验证装置 | |
US7376544B1 (en) | Vector transfer during co-simulation | |
Huggi et al. | Design and verification of memory elements using python | |
KR101621841B1 (ko) | Hla/rti 기반 혼합회로 시뮬레이션 시스템 및 방법 | |
Hassoun et al. | A transaction-based unified architecture for simulation and emulation | |
Wiersema et al. | An architecture and design tool flow for embedding a virtual FPGA into a reconfigurable system-on-chip | |
Kaith et al. | A technical road map from system verilog to UVM | |
Song et al. | Hy-Sim: Model based hybrid simulation framework for WSN application development | |
Hashmi et al. | Design and use of a system-level specification and verification methodology | |
Patel et al. | Heterogeneous behavioral hierarchy extensions for SystemC | |
US11630935B1 (en) | Data traffic injection for simulation of circuit designs | |
CN106156422A (zh) | 一种封装标准协同仿真建模接口的方法和装置 | |
Beserra et al. | Integrating virtual platforms into a heterogeneous MoC-based modeling framework | |
Wilkes et al. | Application of high level interface-based design to telecommunications system hardware | |
US20230409788A1 (en) | Synchronizing distributed simulations of a circuit design | |
Hsu et al. | Embedded hardware/software design and cosimulation using user mode linux and systemc | |
KR20240135845A (ko) | 낮은 하드웨어 풋프린트를 갖는 고속 파형 캡처 | |
Bailey et al. | Interface Based Design: Using the VSI System-Level Interface Behavioral Documentation Standard | |
CN118643777A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |