CN102841837B - 一种基于模拟器的软硬件协同验证方法及系统 - Google Patents
一种基于模拟器的软硬件协同验证方法及系统 Download PDFInfo
- Publication number
- CN102841837B CN102841837B CN201210214895.XA CN201210214895A CN102841837B CN 102841837 B CN102841837 B CN 102841837B CN 201210214895 A CN201210214895 A CN 201210214895A CN 102841837 B CN102841837 B CN 102841837B
- Authority
- CN
- China
- Prior art keywords
- instruction
- data
- model
- simulator
- comparison
- 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.)
- Expired - Fee Related
Links
Landscapes
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明涉及一种基于模拟器的软硬件模型协同验证方法及其系统。该方法包括:硬件模型在指令流水线开始工作前调用软件模型,并将硬件模型仿真的时钟信息发送给软件模型;软件模型驱动内核模拟器进行初始化配置;当硬件模型在指令流水线执行到指令执行阶段时调用软件模型,并将硬件模型仿真的当前时间点发送给软件模型;软件模型驱动内核模拟器执行完指令,并根据硬件模型仿真的当前时间点、时钟信息计算指令在硬件模型中执行完成的时间点;当硬件模型写寄存器堆时,调用软件模型,并将指令执行完的数据信息发送给软件模型;软件模型驱动内核模拟器进行数据信息比较,如果数据信息比较不一致,则定位出错指令。本发明可高效定位出错指令。
Description
技术领域
本发明涉及处理器验证技术,特别涉及一种基于模拟器的软硬件协同验证方法及系统。
背景技术
伴随着DSP(Digital Signal Processing,数字信号处理)处理器设计复杂度的增加,验证的代价也在稳步提升。作为DSP处理器设计不可或缺的一个环节,验证逐渐成为了DSP处理器设计中的瓶颈,因此,寻找更加丰富的验证手段或方法十分重要。传统DSP处理器验证中,软件描述语言模型(以下简称“软件模型”)和硬件描述语言模型(以下简称“硬件模型”)分开验证各自的功能是否正确,这种验证方法的缺点在于,首先,软件模型和硬件模型必须按照各自对系统资源的要求,以及目标,配置独立的验证环境,这导致无法有效利用相互间的资源;其次,通过软件模型模拟硬件模型有别于实际的DSP处理器结构,容易产生不可预期的错误,导致DSP处理器设计周期的延长。
软硬件模型协同验证的方法,在很大程度上解决了软件模型和硬件模型分开验证的缺点,使软件模型和硬件模型能在同一时间进行,能够及时发现软件和硬件中存在的错误。目前基于模拟器验证的方法已经在越来越多的处理器设计难验证中得到了应用,在开发一款新型号的处理器之前,首先通过软件模型模拟微处理器内部的功能和处理器的指令集,这种模拟器主要用于检测指令集的的设计方案是否合理,各大芯片制造公司为用户开发硬件产品也提供了相应的模拟器,但这种模拟器主要用于软件开发和代码移植,无法和硬件仿真器的其他部份连接,主要的原因在于这些公司所提供的模拟器上,没有提供接口供硬件仿真环境的自动调用。为了解决这个问题,最常见的是软原型验证,即将硬件设计仿真器协同在工作站上模拟,软件模型与硬件模型之间通过Verilog编程语言接口(ProgramLanguage Interface,简称:PLI)通信实现整个系统的软硬件模型部分的联合仿真。
传统的软硬件协同验证方案中,通常对硬件模型设计要求偏高,在实际的验证过程中很难精定位到出错的指令,执行效率低下导致了自动化协同验证效果不明显,在软件模型的设计上,通常需要设计周期精确的模拟器,而这种模拟器的设计复杂度通常较大。
发明内容
本发明的目的是为了解决现有技术中软硬件模型协同验证中不能精确定位到出错的指令、且验证效率低下的技术的问题。
为实现上述目的,一方面,本发明提供了一种基于模拟器的软硬件模型协同验证的方法,该方法包括以下步骤:硬件模型在指令流水线开始工作前调用软件模型,并将所述硬件模型仿真的时钟信息发送给软件模型;软件模型驱动内核模拟器进行初始化配置;当硬件模型在指令流水线执行到指令执行阶段时调用软件模型,并将硬件模型仿真的当前时间点发送给软件模型;软件模型驱动内核模拟器执行完指令,并根据硬件模型仿真的当前时间点、时钟信息计算指令在硬件模型中执行完成的时间点;当硬件模型写寄存器堆时,调用软件模型,并将指令执行完的数据信息发送给软件模型;软件模型驱动内核模拟器进行数据信息比较,如果数据信息比较不一致,则定位出错指令。
另一方面,本发明提供了一种基于模拟器的软硬件模型协同验证的系统,该系统包括:包括硬件模型和软件模型,其中软件模型包括初始化模块、模拟执行模块和数据比较模块。初始化模块用于所述硬件模型在指令流水线开始工作前,驱动模拟器进行初始化配置,并接收由所述硬件模型发送的硬件仿真的时钟精度与步长;模拟执行模块用于当所述硬件模型在指令流水线执行到指令执行阶段时,驱动所述模拟器执行完指令,并接收所述硬件模型仿真的当前时间点,所述模拟器根据所述硬件模型仿真的当前时间点、所述时钟精度与步长计算所述指令在硬件模型中执行完成的时间点;数据比较模块用于接收由所述硬件模型发送的指令执行完的数据信息,并驱动所述模拟器进行数据信息比较,如果数据信息比较不一致,则定位出错指令。
本发明实施例提供的基于模拟器的软硬件模型协同验证方法,对硬件模型的设计要求很低,且硬件模型调用软件模型相对简单,环境配置要求简单,实际使用过程中通过自动化操作可高效完成出错指令的定位。另外,不需要软件模型提供时钟模型,降低了对软件模型设计的复杂度。
附图说明
图1为本发明实施例提供的基于模拟器的软硬件模型协同验证方法流程图;
图2为本发明实施例提供的硬件模型访问寄存器堆时的数据比较示意图;
图3为本发明实施例提供的数据比较方法流程图。
图4为本发明实施例提供的基于模拟器的软硬件模型协同验证系统结构示意图。
具体实施方式
本发明实施例提供了一种基于模拟器的软硬件模型协同验证方法,该方法以硬件模型为主控端,通过调用软件模型提供的接口指导其执行行为。软件模型则用于提供正确的指令级参考模型(模拟器),并以动态链接库的形式交由硬件仿真软件使用,完成模拟器执行驱动、数据比较、时钟计算等功能。本发明实施例提供的软硬件模型协同验证方法,对硬件模型的设计要求很低,且硬件模型调用软件模型相对容易,环境配置要求简单,实际使用过程中通过自动化操作可高效完成出错指令的定位。另外,软件模型不需要提供时钟模型,只需要提供对指令行为级的模拟,降低了对软件模型设计的复杂度。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
图1为本发明实施例提供的一种基于模拟器的软硬件模型协同验证方法流程图。如图1所示,步骤101-103由主控端硬件模型执行,步骤110-115由软件模型协同执行。
本发明实施例软件模型根据Verilog PLI提供的标准访问机制来访问Verilog代码,按照PLI提供的标准访问机制,需要在软件模型中预先定义系统访问函数。
系统访问函数定义如下:
其中,"$dataload"表示为dataload函数,用于当硬件模型启动时控制模拟器进行初始化配置,包括加载可执行文件,并配置各项参数;"$cpustep"表示为cpustep函数,用于硬件模型驱动模拟器执行完一个指令包或一条指令;"$peek_mem_ptr"、"$peek_mem_data"、和"$peek_mem_address"分别表示推断寄存器比较函数、数据寄存器比较函数和地址寄存器比较函数。"$dumpmem"表示为Dumpmem函数,用于内存数据比较,以及从内存中读出数据。
如上所述,这些系统访问函数的定义可根据用户实际的需要自行定义。
在步骤101,启动硬件模型,加载一个待运行的可执行文件,开始硬件仿真工作。
硬件模型在指令流水线开始工作之前,调用软件模型中预先定义的dataload函数,并执行步骤111,驱动软件模型的内核模拟器进行初始化配置,包括加载待运行的可执行文件,并配置各项参数,具体包括初始化寄存器、获取硬件仿真的时钟信息(时钟精度与步长)、分配内存地址等,并将硬件模型的仿真器测试台的时钟精度以及时钟步长信息发送给模拟器,用以保证模拟器计算所获得的时间点与硬件模型的仿真时间同步。
在步骤102,当硬件模型的指令流水线执行到执行阶段时,调用软件模型的cpustep函数,执行步骤112,驱动软件模型的内核模拟器执行完一条指令或一个指令包,当执行完一条指令或一个指令包后,则将执行完后的每条指令相关信息存入到数据缓冲器中,同时将当前硬件模型仿真的时间点发送给模拟器,模拟器通过获取得的时间点的值以及在步骤101中获取得硬件仿真时钟精度和时钟步长计算出具体指令执行完成的硬件模型仿真时间,作为后期数据比较的约束之一。
有关上述硬件模型的当前时间点的获取和计算如下所述:
Verilog PLI中提供了用于获取时钟信息的函数。例如,函数tf_strgettime用于获取当前硬件模型时间点;函数tf_igettime用于获取当前硬件模型仿真器的时钟精度;以及函数tf_igettimeprecision用于获取当前硬件模型仿真器的时钟步长。当模拟器运行到指令流水线的执行阶段时,软件模型可通过调用函数tf_strgettime获取当前硬件模型的时间点,并根据函数tf_igettime和函数tf_igettimeprecision获取硬件模型仿真时的时钟精度和时钟步长,计算出该条指令执行完成的时间。
模拟器在执行完每条指令后,还需要建立合适的数据结构用以存储指令的相关数据信息,并存入到数据缓冲器中,指令的相关数据信息包括寄存器类型、当前PC指针、指令执行完成的时间点,指令所对应的二进制码、寄存器存放的数据、寄存器索引号,以及是否被核实过的标志位中的一个或多个。
在一个例子中,上述数据结构的定义描述如下:
其中,type表示寄存器类型,PC表示pc指针,time表示时间点,insn表示指令所对应的二进制码,register_data表示寄存器存放的数据,index表示寄存器索引号,flag表示标志位,databuffer[queuq_length]表示数据缓冲器。
在步骤103,当硬件模型访问寄存器堆时,调用软件模型中对应的比较函数,例如,推断寄存器比较函数、数据寄存器比较函数或地址寄存器比较函数,并将硬件模型访问的数据信息,例如寄存器类型、寄存器号、待写的数据以及指令执行完成的时间点发送给模拟器,并执行步骤113,在步骤113,模拟器根据获取的数据信息与数据缓冲器中的数据信息进行比较,如果数据信息比较一致,硬件模型继续执行,否则执行步骤115,即中断并定位出错指令。
上述实施例针对软硬件模型协同验证的方法进行描述,以下针对协同验证方法中数据比较操作步骤进行描述。图2为本发明实施例提供的硬件模型访问寄存器堆时的数据比较方法流程图,该方法包括步骤201-204:
在步骤201,判断硬件模型是否访问寄存器堆端口,如果是,则执行步骤202。
在步骤202,根据硬件模型访问寄存器的类型调用相应的比较函数,例如,针对地址寄存器,需要调用相应的地址寄存器比较函数peek_mem_address。
在步骤203,硬件模型向模拟器发送数据包,该数据包携带当前指令执行完成的时间点、寄存器类型和寄存器索引号和待写的寄存器数据。
在步骤204,模拟器根据获取的数据包所携带的信息与数据缓冲器中存储的指令相关信息进行数据信息比较,如果比较不一致,则定位出错指令。
以下针对软硬件模型协同验证方法中指令分别在软硬件模型中执行完后的指令数据进行比较。图3为本发明实施例提供的数据比较方法流程图,该方法包括步骤301-311。
在步骤301,模拟器获取数据缓冲器的索引。
在步骤302,模拟器访问该索引对应的数据缓冲器,该数据缓冲器中存储了指令在模拟器中执行完成后的相关数据信息,包括寄存器类型、当前PC指针、指令执行完成的时间点,指令所对应的二进制码、寄存器存放的数据、寄存器索引号,以及是否被核实过的标志位。
在步骤303,模拟器判断当前数据缓冲器中存储的标志位(flag)的布尔值,如果flag为假,则返回到步骤301,否则执行步骤304。
在步骤304,进一步判断当前数据缓冲器中的时间点是否相同,即具体指令执行完成的硬件仿真时间是否等于模拟器执行完成的时间,如果相同,则执行步骤305,否则返回到步骤301。
在步骤305,进一步判断指令在硬件模型中执行完成时修改的寄存器类型与当前数据缓冲器中存储的寄存器类型是否相同,如果相同,则进行步骤306,否则返回到步骤301。
在步骤306,进一步判断硬件模型要访问的寄存器索引号与当前数据缓冲器中存储的寄存器索引号是否相同,如果相同,则执行步骤307,否则返回到步骤301。
在307,进一步判断硬件模型要写入寄存器的数据与当前数据缓冲器中存储的数据是否相同,如果相同,执行步骤308,否则执行步骤309。
在步骤308,硬件模型继续执行。
在步骤309-步骤311,模拟器从当前数据缓冲器中读出该条指令的PC值、通过PC值获取具体的指令,并打印该条指令的汇编码。
本发明实施例提供的软硬件模型协同验证方法,对硬件模型的设计要求很低,且硬件模型调用软件模型相对简单,环境配置要求简单,实际使用过程中通过自动化操作可高效完成出错指令的定位。另外,不需要软件模型提供时钟模型,只需要提供对指令行为级的模拟,并通过PLI接口获取HDL模型触发时的时钟信息进行细粒度上的模拟,降低了对软件模型设计的复杂度。
图4为本发明实施例提供的基于模拟器的软硬件模型协同验证系统结构示意图。如图4所示,该协同验证系统400包括硬件模型410和软件模型420,软件模型420包括初始化模块421、模拟执行模块422和数据比较模块423。
初始化模块421用于硬件模型410在指令流水线开始工作前,驱动模拟器进行初始化配置,并配置各项参数,具体包括加载可执行文件、初始化寄存器、分配内存地址等,并接收硬件模型410仿真的时钟信息,例如,时钟精度以及时钟步长信息。
模拟执行模块422用于当硬件模型410在指令流水线执行到指令执行阶段时,驱动模拟器执行完一个指令包或一条指令,并接收硬件模型210仿真的当前时间点,模拟器根据硬件模型仿真的当前时间点、时钟精度和时钟步长计算指令或指令包在硬件模型中执行完成的时间点。
本发明实施例软件模型还包括数据模块(图中未标出),该数据模块用于建立数据结构,用以存放的模拟器执行完指令后的指令相关信息,例如,寄存器类型、当前程序计数器PC指针、指令执行结束时的时间点、对应指令的二进制码、寄存器存放的数据、寄存器索引号和标志位信息中的一个或多个。
数据比较模块423用于硬件模型410在写寄存器堆时,接收由硬件模型410发送的指令执行完后的指令数据信息,例如,寄存器类型、寄存器索引号、待写的寄存器数据和当前时间点数据信息,并驱动所述模拟器进行数据信息比较。如果数据信息比较一致,硬件模型410继续执行;否则,定位出错指令。
具体地的,数据比较模块423根据硬件模型410发送的指令数据信息和数据缓冲器中存储的指令相关信息进行比较。数据比较模块423首先获取数据缓冲器的索引,根据该索引访问对应的数据缓冲器,再判断当前数据缓冲器中存储的标志位的布尔值,如果标志位为假,则进行时间点的比较,否则重新获取数据缓冲器的索引,并重新进行数据比较;数据比较模块423进一步判断指令在硬件模型中执行完成的时间点与数据缓冲器中存储的时间点是否相同,即具体指令执行完成的硬件仿真时间是否等于模拟器计算出执行完成的时间点,如果该时间点相同,则进行寄存器类型的比较,否则重新获取数据缓冲器的索引,并重新进行数据比较;数据比较模块423进一步判断硬件模型410要访问的寄存器类型与当前数据缓冲器中存储的寄存器类型是否相同,如果相同,则进行寄存器索引号的比较,否则重新获取数据缓冲器的索引,并重新进行数据比较;数据比较模块423进一步判断硬件模型410要访问的寄存器索引号与当前数据缓冲器中存储的寄存器索引号是否相同,如果相同,则进行数据的比较,否则重新获取数据缓冲器的索引,并重新进行数据比较;数据比较模块423进一步判断硬件模型要写入寄存器的数据与当前数据缓冲器中存储的数据是否相同,如果相同,硬件模型继续执行写寄存器堆,否则定位出错指令,模拟器从当前数据缓冲器中读出错指令的PC值,并通过PC值获取具体指令信息。
本发明实施例提供的软硬件模型协同验证系统,对硬件模型的设计要求很低,且硬件模型调用软件模型相对容易,环境配置要求简单,实际使用过程中通过自动化操作可高效完成出错指令的定位。另外,软件模型不需要提供时钟模型,只需要提供对指令行为级的模拟,降低了对软件模型设计的复杂度。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (11)
1.一种基于模拟器的软硬件模型协同验证方法,其特征在于:
硬件模型在指令流水线开始工作前调用软件模型,具体为调用所述软件模型中预先定义的dataload函数,并将所述硬件模型仿真的时钟信息发送给所述软件模型的dataload函数;所述软件模型的dataload函数驱动内核模拟器进行初始化配置;
当所述硬件模型在指令流水线执行到指令执行阶段时调用所述软件模型,具体为调用所述软件模型中的cpustep函数,并将所述硬件模型仿真的当前时间点发送给所述软件模型的cpustep函数;所述软件模型的cpustep函数驱动所述内核模拟器执行完指令,并根据所述硬件模型仿真的当前时间点、所述时钟信息计算所述指令在硬件模型中执行完成的时间点;
当所述硬件模型写寄存器堆时,调用所述软件模型,具体为调用所述软件模型中对应的比较函数,并将指令执行完成时的数据信息发送给所述软件模型的比较函数;所述软件模型的比较函数驱动所述内核模拟器进行数据信息比较,如果数据信息比较不一致,则定位出错指令。
2.根据权利要求1所述的方法,其特征在于,所述时钟信息包括时钟精度和步长。
3.根据权利要求1所述的方法,其特征在于,所述内核模拟器在执行完指令后还包括:
建立数据结构,在所述数据结构中存放所述内核模拟器在执行完指令后的指令数据信息,所述指令数据信息包括寄存器类型、当前程序计数器PC指针、指令执行结束时的时间点、对应指令的二进制码、寄存器存放的数据、寄存器索引号和标志位信息中的一个或多个。
4.根据权利要求1所述的方法,其特征在于,所述数据信息比较进一步包括:
判断标志位的布尔值,如果为假,则进行时间点比较,否则重新获取数据缓冲器的索引,并重新进行数据比较;
判断时间点是否相同,如果相同,则进行寄存器类型比较,否则重新获取数据缓冲器的索引,并重新进行数据比较;
判断寄存器类型是否相同,如果相同,则进行寄存器索引号比较,否则重新获取数据缓冲器的索引,并重新进行数据比较;
判断寄存器索引号是否相同,如果相同,则进行寄存器存放的数据比较,否则重新获取数据缓冲器的索引,并重新进行数据比较;
判断寄存器存放的数据是否相同,如果相同,硬件模型继续执行写寄存器堆,如果不相同,则定位出错指令,模拟器从当前数据缓冲器中读出错指令的PC值,并通过PC值获取具体指令信息。
5.根据权利要求1所述的方法,其特征在于,所述模拟器的初始化配置操作包括加载可执行文件,初始化寄存器、获取所述硬件模型仿真的时钟信息和分配内存地址。
6.根据权利要求1所述的方法,其特征在于,所述硬件模型与所述软件模型通过Verilog语言提供的标准编程语言接口进行通信。
7.一种基于模拟器的软硬件模型协同验证系统,包括硬件模型和软件模型,其特征在于:所述软件模型包括初始化模块、模拟执行模块和数据比较模块;
初始化模块,用于所述硬件模型在指令流水线开始工作前,驱动模拟器进行初始化配置,并接收由所述硬件模型发送的硬件仿真的时钟精度与步长;
模拟执行模块,用于当所述硬件模型在指令流水线执行到指令执行阶段时,驱动所述模拟器执行完指令,并接收所述硬件模型仿真的当前时间点,所述模拟器根据所述硬件模型仿真的当前时间点、所述硬件仿真时钟精度与步长计算所述指令在硬件模型中执行完成的时间点;
数据比较模块,用于接收由所述硬件模型发送的指令执行完后的指令数据信息,并驱动所述模拟器进行数据信息比较,如果数据信息比较不一致,则定位出错指令。
8.根据权利要求7所述的系统,其特征在于,所述初始化模块具体用于:驱动所述模拟器加载可执行文件,初始化寄存器、硬件仿真时钟精度与步长的获取和内存地址分配。
9.根据权利要求7所述的系统,其特征在于,所述软件模型还包括:
数据模块,用于建立数据结构,用以在所述数据结构中存放所述模拟执行模块在执行完指令后需要存储的指令数据信息,所述指令数据信息包括寄存器类型、当前程序计数器PC指针、指令执行结束时的时间点、对应指令的二进制码、寄存器存放的数据、寄存器索引号和标志位信息中的一个或多个。
10.根据权利要求7所述的系统,其特征在于,所述比较模块具体用于:
判断标志位的布尔值,如果为假,则进行时间点比较,否则重新获取数据缓冲器的索引,并重新进行数据比较;
判断时间点是否相同,如果相同,则进行寄存器类型比较,否则重新获取数据缓冲器的索引,并重新进行数据比较;
判断寄存器类型是否相同,如果相同,则进行寄存器索引号比较,否则重新获取数据缓冲器的索引,并重新进行数据比较;
判断寄存器索引号是否相同,如果相同,则进行数据比较,否则重新获取数据缓冲器的索引,并重新进行数据比较;
判断数据比较是否相同,如果相同,硬件模型继续执行写寄存器堆,如果不相同,则定位出错指令,模拟器从当前数据缓冲器中读出错指令的PC值,并通过PC值获取具体指令信息。
11.根据权利要求7所述的系统,其特征在于,所述硬件模型与所述软件模型器通过Verilog语言提供的标准编程语言接口进行通信。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210214895.XA CN102841837B (zh) | 2012-06-26 | 2012-06-26 | 一种基于模拟器的软硬件协同验证方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210214895.XA CN102841837B (zh) | 2012-06-26 | 2012-06-26 | 一种基于模拟器的软硬件协同验证方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102841837A CN102841837A (zh) | 2012-12-26 |
CN102841837B true CN102841837B (zh) | 2014-07-30 |
Family
ID=47369229
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210214895.XA Expired - Fee Related CN102841837B (zh) | 2012-06-26 | 2012-06-26 | 一种基于模拟器的软硬件协同验证方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102841837B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103455401B (zh) * | 2013-08-25 | 2015-11-04 | 浙江大学 | 一种dsp和fpga紧耦合架构的协同验证方法 |
CN106155855B (zh) * | 2015-04-07 | 2018-06-19 | 龙芯中科技术有限公司 | 对微处理器进行功能验证的方法及服务器 |
US10546079B2 (en) | 2015-06-06 | 2020-01-28 | The Board Of Trustees Of The Leland Stanford Junior University | System-level validation of systems-on-a-chip (SoC) |
CN106293641B (zh) * | 2016-07-27 | 2018-12-25 | 北京计算机技术及应用研究所 | 基于流水线重构的超长指令字体系架构性能模拟方法 |
CN107395452A (zh) * | 2017-06-22 | 2017-11-24 | 重庆大学 | 一种利用软硬件协同技术提高WebServer的HTTPS应用性能的方法 |
CN111611121B (zh) * | 2020-04-09 | 2023-11-07 | 浙江口碑网络技术有限公司 | 硬件模拟测试方法、装置及设备 |
CN115062496B (zh) * | 2022-08-08 | 2023-01-17 | 北京智芯半导体科技有限公司 | 嵌入式应用的验证方法、装置、电子设备及芯片 |
CN117539705B (zh) * | 2024-01-10 | 2024-06-11 | 深圳鲲云信息科技有限公司 | 片上系统的验证方法、装置、系统及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1928816A (zh) * | 2006-09-26 | 2007-03-14 | 武汉大学 | 嵌入式系统软件的模型驱动与构件化开发方法 |
CN1983209A (zh) * | 2005-12-14 | 2007-06-20 | 中兴通讯股份有限公司 | 一种软件单元测试自动化系统及其方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008282314A (ja) * | 2007-05-14 | 2008-11-20 | Toshiba Corp | シミュレータ、シミュレーション方法 |
-
2012
- 2012-06-26 CN CN201210214895.XA patent/CN102841837B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1983209A (zh) * | 2005-12-14 | 2007-06-20 | 中兴通讯股份有限公司 | 一种软件单元测试自动化系统及其方法 |
CN1928816A (zh) * | 2006-09-26 | 2007-03-14 | 武汉大学 | 嵌入式系统软件的模型驱动与构件化开发方法 |
Non-Patent Citations (4)
Title |
---|
专用指令集处理器系统级设计方法;邵洋等;《微电子学与计算机》;20070806;第24卷(第7期);第102-104页 * |
刘博.基于软硬件协同设计的虚拟机的并行性研究.《上海交通大学硕士学位论文》.2009,全文. |
基于软硬件协同设计的虚拟机的并行性研究;刘博;《上海交通大学硕士学位论文》;20091231;全文 * |
邵洋等.专用指令集处理器系统级设计方法.《微电子学与计算机》.2007,第24卷(第7期),第102-104页. |
Also Published As
Publication number | Publication date |
---|---|
CN102841837A (zh) | 2012-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102841837B (zh) | 一种基于模拟器的软硬件协同验证方法及系统 | |
US8549468B2 (en) | Method, system and computer readable storage device for generating software transaction-level modeling (TLM) model | |
CN1885295B (zh) | 使用逻辑单元建置集成电路 | |
CN101231589B (zh) | 用于原位开发嵌入式软件的系统和方法 | |
US8326592B2 (en) | Method and system for verifying electronic designs having software components | |
US11836641B2 (en) | Machine learning-based prediction of metrics at early-stage circuit design | |
US7844928B2 (en) | Method and apparatus for evaluating integrated circuit design performance using enhanced basic block vectors that include data dependent information | |
CN102623069B (zh) | 随机激励闪存模型验证方法 | |
US8838430B1 (en) | Detection of memory access violation in simulations | |
JP6600011B2 (ja) | エミュレーションのための効率的波形生成 | |
CN106155766A (zh) | 一种虚拟串口屏模拟系统及其模拟方法 | |
CN103793263B (zh) | 一种基于PowerPC处理器的DMA事务级建模方法 | |
Pohl et al. | vMAGIC—automatic code generation for VHDL | |
Posadas et al. | M3-SCoPE: performance modeling of multi-processor embedded systems for fast design space exploration | |
US9658849B2 (en) | Processor simulation environment | |
Hong et al. | Creation and utilization of a virtual platform for embedded software optimization: An industrial case study | |
US9317636B1 (en) | System and method for stopping integrated circuit simulation | |
CN115858092A (zh) | 时序仿真方法、装置及系统 | |
US9898563B2 (en) | Modeling memory in emulation based on cache | |
US8145466B1 (en) | Clustering of electronic circuit design modules for hardware-based and software-based co-simulation platforms | |
CN115185638A (zh) | 一种仿真运行应用程序时获取调用栈的方法及计算设备 | |
JP2013020425A (ja) | オープンソースソフトウェアを利用したハードウェア・ソフトウェア協調検証方法 | |
US20120191444A1 (en) | Simulation device, simulation method, and computer program therefor | |
CN114168259A (zh) | 虚拟芯片及虚拟芯片内串口外设的方法 | |
US20230267253A1 (en) | Automated synthesis of virtual system-on-chip environments |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140730 Termination date: 20190626 |
|
CF01 | Termination of patent right due to non-payment of annual fee |