CN107688467B - 处理器随机指令复用的验证方法 - Google Patents
处理器随机指令复用的验证方法 Download PDFInfo
- Publication number
- CN107688467B CN107688467B CN201611208333.9A CN201611208333A CN107688467B CN 107688467 B CN107688467 B CN 107688467B CN 201611208333 A CN201611208333 A CN 201611208333A CN 107688467 B CN107688467 B CN 107688467B
- Authority
- CN
- China
- Prior art keywords
- mem
- processor
- instruction
- dut
- address
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明提出一种处理器随机指令复用的验证方法,包括:运行参考模型,读入二进制的iss.vmem指令文件到关联数组dut_mem,iss_mem;当参考模型读到的指令或者关联数组的地址不存在时,随机生成指令或者数据,并分别填充到dut_mem及iss_mem;运行处理器,通过外接slave memory模型读mem_dut,并在处理器读取到不存在的地址时,继续以随机指令填写dut_mem;当处理器运行结束后,将dut_mem写入dut.mem,并保存dut_mem的地址以及对应的数据;读取dut.mem以执行处理器的下一次运行。本发明能够随机生成处理器真实需要获取的指令与数据,并且复用性好。
Description
技术领域
本发明涉及处理器技术领域,特别涉及一种处理器随机指令复用的验证方法。
背景技术
处理器作为芯片的核心,其功能的正确性往往是至关重要的,尤其每款重新设计或者设计改动的处理器都需要经过大量的回归测试,甚至多次流片才能够真正使用到项目中。因此处理器的验证通常需要大量时间和人力投入。
传统的激励为一种手工编写C程序,通过编译器产生处理器能够识别的二进制编码,处理器读取这种二进制编码运行;或者建立随机激励的环境,带有参考模型验证环境与处理器同步运行,当指令提交时同步进行数据对比。
传统的激励的复用需要根据相同的验证环境,相同的仿真器,相同种子才能生成固定的随机激励;再次回归生成相同的指令序列需要重新运行,而并不能与软件编译器生成的汇编程序相统一,不利于验证平台的复用;或者读入C程序等软件生成的二进制编码文件,但缺少随机的因素,不利于处理器的充分验证;处理器的参考模型只能模拟最终能够提交的指令,而实际的处理器会有额外的分支预测以及cache会通过总线取得额外的数据并可能执行,但不会真正提交,与参考模型能够提供的数据不一致,传统的是取得固定的数据(比如0),这样不能产生有效得激励对处理器的真实运行的行为产生影响。
也就是说,传统的验证方法用高级语言,如C语言,编写复杂的验证程序,经过编译器编译成二进制码,在微处理器上运行该二进制代码对微处理器设计进行验证。这种方法具有复用性,但随机性差,不能够充分覆盖处理器的各种可能的状态。或者采用随机指令环境进行测试,由于现代的处理器带有分支预测以及cache,当之前的指令未结束,需要提前预取执行,在指令运行未结束前,所以需要随机的指令的PC与访存的地址不能确定,处理器再次访问相同的地址时,相应的指令可能还在cache中,这时如果再次随机出另外一条指令,相应的没有cache的golden与处理器的对比就会出错。所以不能够实时随机生成指令后就将生成的指令给处理器。所以这种激励的环境也不适合带有cache的处理器验证,并且复用性差。
发明内容
本发明旨在至少解决上述技术问题之一。
为此,本发明的目的在于提出一种处理器随机指令复用的验证方法,该方法能够随机生成处理器真实需要获取的指令与数据,并且复用性好。
为了实现上述目的,本发明的实施例提出了一种处理器随机指令复用的验证方法,包括以下步骤:运行参考模型,并读入二进制的iss.vmem指令文件到SystemVerilog的关联数组dut_mem,iss_mem,其中,所述关联数组的索引为地址,所述关联数组的值为指令;当所述参考模型读到的指令或者关联数组的地址不存在时,随机生成指令或者数据,并分别填充到dut_mem及iss_mem;运行所述处理器,通过外接slave memory模型读mem_dut,并在所述处理器读取到不存在的地址时,继续以随机指令填写dut_mem,以生成处理器总线需要的所有数据与指令;当所述处理器运行结束后,将dut_mem写入dut.mem,并保存dut_mem的地址以及对应的数据;读取所述dut.mem以执行处理器的下一次运行。
另外,根据本发明上述实施例的处理器随机指令复用的验证方法还可以具有如下附加的技术特征:
在一些示例中,还包括:在所述处理器的实际运行过程中,slave读取dut_mem初始化slave memory的内存数组;当所述处理器发起总线操作时,判断dut_mem对应的地址是否存在,如果存在,则对slave memory进行数据读写,如果不存在,则调用指令随机产生器,并分别填写dut_mem与slave memory的内存数组;判断指令运行是否结束,如果未结束,则继续等待下一次的总线存取;如果指令运行结束,则将dut_mem的数据写入dut.mem中;读取所述dut.mem以执行处理器的下一次运行。
在一些示例中,当所述参考模型读到的指令或者关联数组的地址在存在时,从iss.mem进行读取与写入操作,以获取处理器能够随机处理器需要的正常提交的指令与数据。
在一些示例中,所述判断指令运行是否结束,进一步包括:当接收到预设的指令或者通过仿存串口输入预设语句标识时,判断所述指令运行结束。
在一些示例中,所述预设的指令为add$0,$0,$0。
在一些示例中,所述关联数组dut_mem,iss_mem包括初始化及例外处理程序。
在一些示例中,还包括:所述参考模型读取所述关联数组dut_mem,iss_mem,并根据所述初始化及例外处理程序进行初始化以及例外处理,以使所述处理器正常运行以及处理例外程序。
在一些示例中,还包括:当所述处理器运行结束时,将所述关联数组dut_mem,iss_mem的地址与数据按照预设格式写回文件。
在一些示例中,通过采用与软件相同的指令存储方式保存所述dut_mem的地址以及对应的数据。
在一些示例中,所述参考模型为单条指令运行模型。
根据本发明实施例的处理器随机指令复用的验证方法,具有如下优点:
1、能够随机生成指令序列供处理器读取,即随机性好;
2、能够将参考模型未执行的指令运行与处理器实际运行的指令相结合,使之能够充分地模拟实际中取到但未提交的指令对处理器的影响;
3、生成了充分的指令序列,能够在此基础上读入dut.mem与参考模型同步执行,运行回归验证的时候,如果出错,在处理器提交后通过与golden的状态对比,会立即报出错误;
4、生成的dut.mem生成之后,处理器能够独立于随机环境单独运行,并且能够在FPGA与硬件加速器上复用,即复用性好。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1是根据本发明实施例的处理器随机指令复用的验证方法的流程图;
图2是根据本发明一个实施例的随机指令验证运行原理示意图;
图3是根据本发明一个实施例的参考模型加入随机指令验证运行流程示意图;以及
图4是根据本发明一个实施例的处理器加入随机指令验证运行流程示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
以下结合附图描述根据本发明实施例的处理器随机指令复用的验证方法。
图1是根据本发明一个实施例的处理器随机指令复用的验证方法的流程图。如图1所示,该方法包括以下步骤:
步骤S1:为了避免cache以及取到未运行的指令,需要先跑仿真模型,生成所有处理器将要执行的指令。因此首先运行参考模型,并读入二进制的iss.vmem指令文件到SystemVerilog的关联数组dut_mem,iss_mem,其中,关联数组的索引存储的是地址,关联数组存储的值为指令。其中,参考模型例如为单条指令运行模型。
在本发明的一个实施例中,关联数组dut_mem,iss_mem包括初始化及例外处理程序。基于此,该方法还包括:参考模型读取关联数组dut_mem,iss_mem,并根据初始化及例外处理程序进行初始化以及例外处理,以使处理器能够正常运行以及处理例外程序。
步骤S2:当参考模型读到的指令或者关联数组的地址不存在时,随机生成指令或者数据,并分别填充到dut_mem及iss_mem。
进一步地,在步骤S2中,当参考模型读到的指令或者关联数组的地址在存在时,则仅从iss.mem进行读取与写入操作,以获取处理器能够随机处理器需要的正常提交的指令与数据,因为此时处理器未运行,所以不对其进行操作。
步骤S3:运行处理器,通过外接slave memory模型读mem_dut,并在处理器读取到不存在的地址(处理器可能执行确未被提交的指令,所以参考模型无法模拟其行为,但能进行读取,如某个cache line未用到的地址,分支预测错误的地址)时,继续以随机指令填写dut_mem,以生成处理器总线需要的所有数据与指令。
步骤S4:当处理器运行结束后,将dut_mem写入dut.mem,并保存dut_mem的地址以及对应的数据。其中,例如通过采用与软件相同的指令存储方式保存dut_mem的地址以及对应的数据,因此dut_mem保持了与软件编译器生成的二进制代码相同风格的指令序列。
步骤S5:直接读取dut.mem以执行处理器的下一次运行。也就是说,在下次运行时,不需要重新生成随机指令,直接读取dut.mem即可。
进一步地,在本发明的一个实施例中,该方法还包括:在处理器的实际运行过程中,slave读取dut_mem初始化slave memory的内存数组;当处理器发起总线操作时,判断dut_mem对应的地址是否存在,如果存在,则对slave memory进行数据读写,如果不存在,则调用指令随机产生器,并分别填写dut_mem与slave memory的内存数组;判断指令运行是否结束,如果未结束,则继续等待下一次的总线存取;如果指令运行结束,则将dut_mem的数据写入dut.mem中;读取dut.mem以执行处理器的下一次运行,也即在下次运行时,直接读取dut.mem即可。
其中,在上述过程中,判断指令运行是否结束,进一步包括:当接收到预设的指令或者通过仿存串口输入预设语句标识时,判断指令运行结束。更为具体地,预设的指令例如为add$0,$0,$0。换言之,即可用某条特殊的指令如add$0,$0,$0或者通过访存串口打某句话来标识指令运行是否结束。
进一步地,在本发明的一个实施例中,当处理器运行结束时,将关联数组dut_mem,iss_mem的地址与数据按照预设格式写回文件。
在本发明的实施例中,处理器例如采用Verilog代码编写,参考模型例如采用SystemVerilog语言编写。
为了便于更好地理解本发明,以下结合附图,以具体的实施例对本发明实施例的处理器随机指令复用的验证方法进行进一步详细描述。
在本实施例中,如图2所示,在随机指令的验证平台中,首先参考模型能够运行,当运行到不存在的地址空间的时候,触发事件请求,调用随机指令发生器产生随机指令与数据。如图3所示的参考模型加入随机指令验证运行平台,此模型为单条指令运行模型,起到了随机指令与数据的作用,生成的dut_mem供处理器读取。图4展示了处理器通过总线取得随机指令与数据后能够运行能够正常提交的指令,并且会随机某个cache line未用到的数据与指令与分支预测错误并未提交的指令。
具体地说,参考模型ref_core首先在0时刻运行参考模型ref_core通过图2所示的随机指令发生器取得指令与访存数据,并在参考模型中计算跳转指令的PC并随机填充相应的指令;计算访存指令的地址并计算或随机相应的数据。将指令与数据填充将要获取的总线模型的slave memory中。这样处理器就获取了能够运行的随机的指令与数据。
在每条指令执行完毕后的图3所示的采样比较点的任务中并送到图2的scordboard中与参考模型进行比较。打包的寄存器状态-包括通用定点寄存器、浮点寄存器、PC,指令等打包并保存到scoreboard的队列中。在此scoreboard中已经获得了需要对比的数据信息。
处理器能够通过总线获取已经产生的随机的指令与数据并运行。在图2采样处理器状态的模块dut_status_monitor在指令提交时采样处理器的状态寄存器。
基于此,在本实施例中,结合图3所示,该方法包含步骤如下:
步骤1:首先需要运行参考模型,取得复位PC,并进行参考模型的关联数组dut_mem,iss_mem读入软件初始化以及例外程序iss.vmem。
步骤2:参考模型读入PC,转换为物理地址。
步骤3:判断iss_mem的物理地址是否存在,如果不存在则随机指令填充dut_mem以及iss_mem;如果存在则从iss_mem对应的地址取得指令。
步骤4:进行指令译码。
步骤5:执行指令,如果需要进行访存操作,则判断对应的关联数组iss_mem是否存在要访问的地址,如果存在,则进行对iss_mem的对应地址读写,如果不存在,则随机数据分别写入iss_mem以及dut_mem。
步骤6:将计算结果写回到对应的寄存器。
步骤7:采样需要比较的寄存器、PC、指令等比较点。
步骤8:更新PC,并进行下一条指令的操作。
进一步地,在本实施例中,结合图4所示,该方法还包括以下步骤:
步骤10:在处理器实际运行过程中,slave读取dut_mem初始化slave memory的内存数组。
步骤20:当处理器发起总线操作的时候,判断dut_mem对应的地址是否存在,如果存在对slave memory进行数据读写;如果不存在调用指令随机产生器,分别填写dut_mem与slave memory的内存数组。
步骤30:判断指令运行是否结束,可用某条特殊的指令如add$0,$0,$0或者通过访存串口打某句话来标识;如果未结束,则继续等待下一次的总线存取。
步骤40:如果结束,将dut_mem的数据写入dut.mem中。
步骤50:下次运行时,直接读取dut.mem即可。
以下举例来详细说明具体的操作:
首先读取iss.vmem,例如iss.mem的格式可以有分离的:
b 3751e580;
c e2e17cc6;
d 36f2e607;
f 62737175;
以及连续的写法:
@b;
3751e580;
e2e17cc6;
36f2e607;
@f;
62737175。
将以上的iss.mem读入到SystemVerilog的关联数组中,例如读到的dut_mem[b]=3751e580,dut_mem[c]=e2e17cc6;当指令从地址b开始运行,如果地址b是访存指令,访问的地址为f,那么根据SystemVerilog的iss_mem.exists(pc_phy/4))语法来判断对应的地址是否存在(默认地址的粒度是32bit,因为每次取得指令为32bit,这样一个地址能够对应一个完整的指令编码),如果判断存在,则取其对应的数据62737175进行访存操作,如果是store操作,store的数据为123456787,那么还需要将参考模型iss_mem的地址f的数据62737175替换为12345678,因为参考模型正在运行,所以需要确保下次地址访问访问到最新的数据;如果访问不存在的地址为1,则调用随机指令发生器对其进行填充,比如随机的指令为11111111,那么填充iss_mem与dut_mem的地址1的数据为11111111;当处理器通过访问dut_mem仍然通过上述机制进行填充。最后将dut_mem写回到文件。
通过上述实施例的描述可以看出,本发明的优点是明显的。本发明可以生成一个随机并且可复用的随机指令代码,使得能通过随机指令对带cache与分支预测的处理器进行充分的验证,既能运用参考模型生成实际的指令运行轨迹,又能将处理器实际取得的总线操作的取数指令或数据给予有意义的指令而非固定的数或者随机值,这样就对正常指令运行造成的影响充分考虑在内。并且能脱离随机指令发生器保持在如同软件编码生成的风格在各个平台的复用。
综上,本发明实施例的处理器随机指令复用的验证方法的主要实现原理及流程可概述为:参考模型首先运行,当参考模型的取指或者访存访问到不存在的地址的时候,随机指令发生器随机填充指令或者访存数据。这样经过参考模型随机指令运行的填充,处理器得到了一个随机的能够正常运行的指令与数据。当处理器实际运行时,由于分支预测以及cache会需要获取参考模型不需要获取的指令与数据,再次调用随机指令发生器填充指令。最后将所有对应已经填充的地址与对应的数据写入文件,之后处理器运行任何平台可均读入此文件复现运行程序。
根据本发明实施例的处理器随机指令复用的验证方法,具有如下优点:
1、能够随机生成指令序列供处理器读取,即随机性好;
2、能够将参考模型未执行的指令运行与处理器实际运行的指令相结合,使之能够充分地模拟实际中取到但未提交的指令对处理器的影响;
3、生成了充分的指令序列,能够在此基础上读入dut.mem与参考模型同步执行,运行回归验证的时候,如果出错,在处理器提交后通过与golden的状态对比,会立即报出错误;
4、生成的dut.mem生成之后,处理器能够独立于随机环境单独运行,并且能够在FPGA与硬件加速器上复用,即复用性好。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同限定。
Claims (10)
1.一种处理器随机指令复用的验证方法,其特征在于,包括以下步骤:
运行参考模型,并读入二进制的iss.vmem指令文件到SystemVerilog的关联数组dut_mem,iss_mem,其中,所述关联数组的索引为地址,所述关联数组的值为指令;
当所述参考模型读到的指令或者关联数组的地址不存在时,随机生成指令或者数据,并分别填充到dut_mem及iss_mem;
运行所述处理器,通过外接slave memory模型读mem_dut,并在所述处理器读取到不存在的地址时,继续以随机指令填写dut_mem,以生成处理器总线需要的所有数据与指令;
当所述处理器运行结束后,将dut_mem写入dut.mem,并保存dut_mem的地址以及对应的数据;
读取所述dut.mem以执行处理器的下一次运行。
2.根据权利要求1所述的处理器随机指令复用的验证方法,其特征在于,还包括:
在所述处理器的实际运行过程中,slave读取dut_mem初始化slave memory的内存数组;
当所述处理器发起总线操作时,判断dut_mem对应的地址是否存在,如果存在,则对slave memory进行数据读写,如果不存在,则调用指令随机产生器,并分别填写dut_mem与slave memory的内存数组;
判断指令运行是否结束,如果未结束,则继续等待下一次的总线存取;
如果指令运行结束,则将dut_mem的数据写入dut.mem中;
读取所述dut.mem以执行处理器的下一次运行。
3.根据权利要求1所述的处理器随机指令复用的验证方法,其特征在于,当所述参考模型读到的指令或者关联数组的地址在存在时,从iss.mem进行读取与写入操作,以获取处理器能够随机处理器需要的正常提交的指令与数据。
4.根据权利要求2所述的处理器随机指令复用的验证方法,其特征在于,所述判断指令运行是否结束,进一步包括:
当接收到预设的指令或者通过仿存串口输入预设语句标识时,判断所述指令运行结束。
5.根据权利要求4所述的处理器随机指令复用的验证方法,其特征在于,所述预设的指令为add$0,$0,$0。
6.根据权利要求1所述的处理器随机指令复用的验证方法,其特征在于,所述关联数组dut_mem,iss_mem包括初始化及例外处理程序。
7.根据权利要求6所述的处理器随机指令复用的验证方法,其特征在于,还包括:
所述参考模型读取所述关联数组dut_mem,iss_mem,并根据所述初始化及例外处理程序进行初始化以及例外处理,以使所述处理器正常运行以及处理例外程序。
8.根据权利要求1或2所述的处理器随机指令复用的验证方法,其特征在于,还包括:
当所述处理器运行结束时,将所述关联数组dut_mem,iss_mem的地址与数据按照预设格式写回文件。
9.根据权利要求1所述的处理器随机指令复用的验证方法,其特征在于,通过采用与软件相同的指令存储方式保存所述dut_mem的地址以及对应的数据。
10.根据权利要求1所述的处理器随机指令复用的验证方法,其特征在于,所述参考模型为单条指令运行模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611208333.9A CN107688467B (zh) | 2016-12-23 | 2016-12-23 | 处理器随机指令复用的验证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611208333.9A CN107688467B (zh) | 2016-12-23 | 2016-12-23 | 处理器随机指令复用的验证方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107688467A CN107688467A (zh) | 2018-02-13 |
CN107688467B true CN107688467B (zh) | 2019-11-15 |
Family
ID=61152283
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611208333.9A Active CN107688467B (zh) | 2016-12-23 | 2016-12-23 | 处理器随机指令复用的验证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107688467B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111523283B (zh) * | 2020-04-16 | 2023-05-26 | 北京百度网讯科技有限公司 | 一种验证处理器的方法、装置、电子设备及存储介质 |
CN112256328B (zh) * | 2020-10-19 | 2023-04-07 | 海光信息技术股份有限公司 | 随机指令的生成方法及装置、存储介质以及电子装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101008962A (zh) * | 2006-12-29 | 2007-08-01 | 深圳市明微电子有限公司 | 可配置可替换的网络芯片使用参考模型的验证方法 |
CN102929686A (zh) * | 2012-09-28 | 2013-02-13 | 杭州中天微系统有限公司 | 一种片上多核处理器功能验证方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10352172A1 (de) * | 2003-11-05 | 2005-06-09 | Robert Bosch Gmbh | Verfahren und Vorrichtung zur Anpassung von Funktionen zur Steuerung von Betriebsabläufen |
US7516302B2 (en) * | 2006-12-19 | 2009-04-07 | Arm Limited | Efficient use of co-processor in platform independent instruction machine by controlling result transfer and translation and transfer timing of subsequent instruction based on instruction type for result forwarding |
-
2016
- 2016-12-23 CN CN201611208333.9A patent/CN107688467B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101008962A (zh) * | 2006-12-29 | 2007-08-01 | 深圳市明微电子有限公司 | 可配置可替换的网络芯片使用参考模型的验证方法 |
CN102929686A (zh) * | 2012-09-28 | 2013-02-13 | 杭州中天微系统有限公司 | 一种片上多核处理器功能验证方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107688467A (zh) | 2018-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Spear | SystemVerilog for verification: a guide to learning the testbench language features | |
Edwards et al. | SHIM: A deterministic model for heterogeneous embedded systems | |
US7769577B2 (en) | Hardware accelerator with a single partition for latches and combinational logic | |
US7483825B2 (en) | Method for the creation of a hybrid cycle simulation model | |
US8443336B2 (en) | System and method for applying model-based testing to train control systems | |
CN101231589B (zh) | 用于原位开发嵌入式软件的系统和方法 | |
CN106599343A (zh) | 一种提高仿真效率的soc系统验证方法和装置 | |
JP2004502990A (ja) | 構成可能なプロセッサを設計する自動化されたプロセッサ生成システムおよびその方法 | |
US8214195B2 (en) | Testing in a hardware emulation environment | |
US7979822B2 (en) | Apparatus and method for performing a sequence of verification tests to verify a design of a data processing system | |
US7437282B2 (en) | Method and apparatus to provide alternative stimulus to signals internal to a model actively running on a logic simulation hardware emulator | |
CN107688467B (zh) | 处理器随机指令复用的验证方法 | |
US8468006B2 (en) | Method of combined simulation of the software and hardware parts of a computer system, and associated system | |
CN114168200B (zh) | 多核处理器访存一致性的验证系统及方法 | |
CN109690536A (zh) | 将多核指令踪迹从虚拟平台仿真器取到性能模拟模型的方法和系统 | |
Hassan et al. | Data flow testing for virtual prototypes | |
US7228513B2 (en) | Circuit operation verification device and method | |
Bunker et al. | Formal hardware specification languages for protocol compliance verification | |
CN116306392A (zh) | 芯片仿真装置、方法、电子设备和存储介质 | |
US11709984B2 (en) | Automatic sequential retry on compilation failure | |
Maillet-Contoz et al. | Transaction Level Modeling: An Abstraction Beyond RTL | |
CN101788932B (zh) | 一种用于提高可靠性的软硬件协同容错系统 | |
JP5056493B2 (ja) | 仮想ソフトウェア生成装置 | |
Picard et al. | Multilevel simulation of heterogeneous reconfigurable platforms | |
CN108604205B (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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20180921 Address after: 100085 west 4 Street 5, five street, Haidian District, Beijing. Applicant after: Beijing Guorui Zhongshu Technology Co.,Ltd. Applicant after: No. 14 Inst., China Electronic Science & Technology Group Corp. Address before: 100085 Haidian District, Beijing, Shanghai Information Road 5 Street high Li two thousand science and Technology Building 4 story West. Applicant before: Beijing Guorui Zhongshu Technology Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |