[go: up one dir, main page]

CN105930242B - A kind of multi-core processor random verification method and device for supporting accurate memory access detection - Google Patents

A kind of multi-core processor random verification method and device for supporting accurate memory access detection Download PDF

Info

Publication number
CN105930242B
CN105930242B CN201610299336.1A CN201610299336A CN105930242B CN 105930242 B CN105930242 B CN 105930242B CN 201610299336 A CN201610299336 A CN 201610299336A CN 105930242 B CN105930242 B CN 105930242B
Authority
CN
China
Prior art keywords
core processor
memory access
verification
verified
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.)
Expired - Fee Related
Application number
CN201610299336.1A
Other languages
Chinese (zh)
Other versions
CN105930242A (en
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.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
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 Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN201610299336.1A priority Critical patent/CN105930242B/en
Publication of CN105930242A publication Critical patent/CN105930242A/en
Application granted granted Critical
Publication of CN105930242B publication Critical patent/CN105930242B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提出一种支持精确访存检测的多核处理器随机验证方法及其装置,该方法包括步骤1,将待验证的多核处理器中的用户约束与指令库相结合,生成存在访存冲突的并行程序作为验证向量;运行验证向量,记录验证向量的执行结果及访存操作的时间信息;步骤2,根据所述执行结果及所述访存操作的时间信息,进行存储一致性设计正确性检查,如果所述待验证的多核处理器的存储一致性设计符合存储一致性模型,则执行步骤3;步骤3,将所述验证向量及所述访存操作的时间信息送入指令级模拟器,所述指令级模拟器按照访存操作的时间顺序执行所述验证向量,并将结果与多核处理器模拟仿真后的执行结果进行比较,如果比较结果一致,继续执行多核处理器随机验证。

The present invention proposes a random verification method and device for a multi-core processor that supports accurate memory access detection. The method includes step 1, combining user constraints in the multi-core processor to be verified with an instruction library to generate a memory access conflict The parallel program is used as a verification vector; run the verification vector, record the execution result of the verification vector and the time information of the memory access operation; step 2, perform a storage consistency design correctness check according to the execution result and the time information of the memory access operation , if the storage consistency design of the multi-core processor to be verified conforms to the storage consistency model, then perform step 3; step 3, send the verification vector and the time information of the memory access operation to the instruction level simulator, The instruction level simulator executes the verification vector according to the chronological sequence of the memory access operation, and compares the result with the execution result after the simulation of the multi-core processor, and if the comparison results are consistent, continues to perform random verification of the multi-core processor.

Description

一种支持精确访存检测的多核处理器随机验证方法及装置A random verification method and device for a multi-core processor supporting accurate memory access detection

技术领域technical field

本发明涉及超大规模集成电路设计验证领域,特别涉及一种支持精确访存检测的多核处理器随机验证方法及其装置。The invention relates to the field of VLSI design verification, in particular to a multi-core processor random verification method and device thereof supporting accurate memory access detection.

背景技术Background technique

单核处理器的存储模型的语义很直观,即对任何内存单元的读操作将返回最近对该单元进行写操作所写入的值,而写操作则唯一确定了此后对同一单元读操作的结果。用仿真方法对单核处理器进行随机验证时,通常采用参考模型给出验证向量的参考执行结果,通过将参考模型给出的结果与实际RTL(register-transfer level)执行结果比较来判断对错,对单核处理器环境下的串行程序来说,每次运行的结果具有唯一确定性,这使得处理器随机验证可以顺利进行。The semantics of the memory model of a single-core processor are intuitive, that is, a read operation to any memory unit will return the value written to the unit by the most recent write operation, and the write operation uniquely determines the result of subsequent read operations on the same unit . When random verification of a single-core processor is performed by a simulation method, the reference model is usually used to give the reference execution result of the verification vector, and the result of the reference model is compared with the actual RTL (register-transfer level) execution result to judge whether it is right or wrong , for a serial program in a single-core processor environment, the result of each run is uniquely deterministic, which makes the random verification of the processor go smoothly.

与单核处理器不同,片上多核处理器采用共享存储系统,多个处理器核可以读写同一存储单元,这就意味着多核处理器共享存储访存事件发生次序及其结果可以不唯一,其正确性由存储一致性模型确定,存储一致性模型作为片上多核处理器的硬件与软件、操作系统与应用程序的接口,详细规定了共享存储系统中访存事件之间的次序要求,保证系统的正确性,学术界对存储一致性验证的复杂性进行了大量的研究,认为多核共享存储情况下并行程序执行结果的正确性依赖于程序中冲突操作的访问次序,并给出了并行程序执行正确的标准:用全局序表示的并行程序结果的有向图无环(参考文献:胡伟武,《共享存储系统结构》,高等教育出版社,2001)。同时,学术界也证明了不加任何限制的存储一致性验证是一个NP难的问题,这使得片上多核处理器的正确性验证成为一个高度困难的问题。Different from single-core processors, on-chip multi-core processors use a shared memory system, and multiple processor cores can read and write the same storage unit. The correctness is determined by the storage consistency model. As the interface between hardware and software, operating system and application program of the multi-core processor on chip, the storage consistency model specifies the sequence requirements between memory access events in the shared storage system in detail, ensuring the system Correctness, the academic community has conducted a lot of research on the complexity of storage consistency verification. It is believed that the correctness of parallel program execution results in the case of multi-core shared storage depends on the access order of conflicting operations in the program, and the correctness of parallel program execution is given. The standard of: the directed graph of the parallel program results represented by the global order is acyclic (reference: Hu Weiwu, "Shared Storage System Structure", Higher Education Press, 2001). At the same time, academic circles have also proved that memory consistency verification without any restrictions is an NP-hard problem, which makes the correctness verification of on-chip multi-core processors a highly difficult problem.

随后,有学者提出在多核处理器中,每条访存操作都有一段执行时间:这个时间从操作进入处理器开始,到操作提交时结束,在时间序上位于前面的操作的结果会被后面的操作所观察到,只有执行时间有重叠部分的操作之间才存在顺序的不确定性,由于多核处理器实现时操作窗口、访存队列、写缓存等部件的大小限制,和一个访存操作的执行时间相重叠的操作的数量也是有限的,因此,在验证存储一致性时,序关系的推导及执行图中环的检测都可以被限定在一定的操作范围内,这使得多核处理器存储一致性验证可以降为线性时间复杂度(参考文献:Yunji Chen,etc."Fast Complete Memory ConsistencyVerification",in Proceedings of the 15th IEEE International Symposium onHigh-Performance Computer Architecture,2009.),这一结论使得在实践中验证多核处理器存储一致性成为可能,依照该方法可以检测有限范围内多核处理器并行程序访存顺序的有向图是否无环,并据此判断多核处理器存储一致性设计是否正确。Later, some scholars proposed that in multi-core processors, each memory access operation has a period of execution time: this time starts when the operation enters the processor and ends when the operation is submitted. It is observed that only operations with overlapping execution times have sequence uncertainty. Due to the size limitations of the operation window, memory access queue, write cache and other components when implementing a multi-core processor, and a memory access operation The number of operations whose execution time overlaps is also limited. Therefore, when verifying storage consistency, the derivation of the sequence relationship and the detection of loops in the execution graph can be limited to a certain range of operations, which makes the storage consistency of multi-core processors Consistency verification can be reduced to linear time complexity (reference: Yunji Chen, etc. "Fast Complete Memory Consistency Verification", in Proceedings of the 15th IEEE International Symposium on High-Performance Computer Architecture, 2009.), this conclusion makes in practice It is possible to verify the memory consistency of multi-core processors. According to this method, it can be detected whether the directed graph of the parallel program memory access sequence of multi-core processors within a limited range is acyclic, and based on this, it can be judged whether the memory consistency design of multi-core processors is correct.

然而,上述方法并不能解决多核处理器仿真验证中的结果正确性比较问题,即使证明了多核处理器并行程序访存顺序的有向图无环,也只能说明多核处理器存储一致性设计符合存储一致性模型规范,而符合存储一致性模型规范情况下的多核处理器访存次序及结果仍可以不唯一,当访存指令与并行程序中更多复杂指令随机组合在一起时,这种访存结果的不唯一性会引起执行结果状态空间爆炸,使得多核处理器执行随机仿真验证时指令执行结果的正确性很难判断。However, the above method cannot solve the problem of correctness comparison in the simulation verification of multi-core processors. Even if it is proved that the directed graph of the parallel program memory access sequence of multi-core processors is acyclic, it can only show that the memory consistency design of multi-core processors conforms to The storage consistency model specification, and the multi-core processor memory access sequence and results in the case of conforming to the storage consistency model specification can still be non-unique. When the memory access instruction is randomly combined with more complex instructions in the parallel program, this access The non-uniqueness of the stored results will cause the state space explosion of the execution results, making it difficult to judge the correctness of the instruction execution results when the multi-core processor performs random simulation verification.

随机验证技术是处理器仿真验证流程中的重要支撑技术,图1中描述了处理器随机验证方法的常用框架,将用户约束102和指令库101相结合,通过随机生成引擎103生成验证向量,生成的验证向量被分别送入指令级模拟器104和待验证设计仿真环境105中执行,并对执行结果进行比较,比较结果不一致时可以检测出处理器设计中的错误,对于多核处理器来说,当并行程序中访存指令与其它复杂指令随机组合在一起,访存结果的不唯一性会引起执行结果状态空间爆炸问题,使得随机验证时结果比较环节很难完成,导致很难直接使用传统随机验证技术进行多核处理器仿真验证,这一问题一直未得到解决。目前验证多核处理器常用模式是:首先运用传统随机验证技术对多核处理器中每个处理器核进行验证,再针对连接各个处理器核的片上网络进行仿真验证,最后对多核处理器系统进行存储一致性验证,这种多核处理器验证模式常常会出现设计错误逃逸现象,特别是当多核处理器存储一致性设计正确,多核交叉访存与其它指令混合执行会发生错误时,多核处理器验证常常无法准确检测和定位错误。Random verification technology is an important supporting technology in the process of processor simulation verification. Figure 1 describes the common framework of processor random verification methods, combining user constraints 102 and instruction library 101, and generating verification vectors through random generation engine 103, generating The verification vectors are respectively sent to the instruction level simulator 104 and the design simulation environment 105 to be verified for execution, and the execution results are compared. When the comparison results are inconsistent, errors in the processor design can be detected. For multi-core processors, When the memory access instruction is randomly combined with other complex instructions in a parallel program, the non-uniqueness of the memory access result will cause the state space explosion of the execution result, making it difficult to complete the result comparison during random verification, making it difficult to directly use the traditional random Verification techniques for multi-core processor simulation verification, this problem has not been resolved. At present, the commonly used mode for verifying multi-core processors is: firstly use the traditional random verification technology to verify each processor core in the multi-core processor, then perform simulation verification for the on-chip network connecting each processor core, and finally store the multi-core processor system. Consistency verification, this multi-core processor verification mode often causes design error escape, especially when the multi-core processor storage consistency design is correct, and errors will occur when multi-core interleaved memory access and other instructions are mixed and executed, multi-core processor verification often Errors cannot be accurately detected and localized.

综上,当前多核处理器仿真验证中,访存结果的不唯一性引起结果状态空间爆炸问题,使得随机验证时结果比较环节很难完成,无法准确检测和定位错误,在多核处理器芯片实际运行时,由于操作系统的调度及共享存储访存冲突的随机性使得并行程序执行结果无法唯一确定。To sum up, in the current multi-core processor simulation verification, the non-uniqueness of memory access results causes the result state space explosion problem, which makes it difficult to complete the result comparison link during random verification, and cannot accurately detect and locate errors. In the actual operation of multi-core processor chips When , due to the scheduling of the operating system and the randomness of shared memory access conflicts, the execution results of parallel programs cannot be uniquely determined.

发明内容Contents of the invention

针对现有技术的不足,本发明提出一种支持精确访存检测的多核处理器随机验证方法及其装置。Aiming at the deficiencies of the prior art, the present invention proposes a multi-core processor random verification method and device thereof supporting accurate memory access detection.

本发明提出一种支持精确访存检测的多核处理器随机验证方法,包括:The present invention proposes a multi-core processor random verification method supporting accurate memory access detection, including:

步骤1,将待验证的多核处理器中的用户约束与指令库相结合,通过并行程序产生器,生成存在访存冲突的并行程序作为验证向量;在待验证的多核处理器仿真环境中运行所述验证向量,记录所述验证向量的执行结果及访存操作的时间信息;Step 1. Combine the user constraints and the instruction library in the multi-core processor to be verified, and generate a parallel program with memory access conflicts as a verification vector through the parallel program generator; The verification vector, recording the execution result of the verification vector and the time information of the memory access operation;

步骤2,根据所述执行结果及所述访存操作的时间信息,进行存储一致性设计正确性检查,如果所述待验证的多核处理器的存储一致性设计符合存储一致性模型,则执行步骤3,否则发现设计错误,停止本次随机验证并执行错误调试;Step 2, according to the execution result and the time information of the memory access operation, check the correctness of the storage consistency design, if the storage consistency design of the multi-core processor to be verified conforms to the storage consistency model, then perform the step 3. Otherwise, if a design error is found, stop this random verification and perform error debugging;

步骤3,将所述验证向量及所述访存操作的时间信息送入指令级模拟器,所述指令级模拟器按照访存操作的时间顺序执行所述验证向量,并将结果与多核处理器模拟仿真后的执行结果进行比较,如果比较结果一致,则本次随机验证通过,继续执行多核处理器随机验证,否则进行错误调试。Step 3, sending the time information of the verification vector and the memory access operation into the instruction level simulator, the instruction level simulator executes the verification vector according to the time sequence of the memory access operation, and compares the result with the multi-core processor The execution results after the simulation are compared. If the comparison results are consistent, the random verification is passed, and the multi-core processor random verification is continued, otherwise, error debugging is performed.

所述步骤1之前还包括:Also include before the step 1:

步骤11,设置全局时钟,用于记录所述访存操作的时间信息;Step 11, setting a global clock for recording the time information of the memory access operation;

步骤12,设置所述并行程序产生器,支持通过伪随机方法生成所述验证向量;Step 12, setting the parallel program generator to support generating the verification vector through a pseudo-random method;

步骤13,记录每条访存操作的进入时间与提交时间并写入到文件中;Step 13, record the entry time and submission time of each memory access operation and write them into the file;

步骤14,通过所述文件,进行存储一致性设计正确性检查;Step 14, check the correctness of the storage consistency design through the file;

步骤15,改进指令级模拟器,使所述指令级模拟器能够按照访存操作的时间顺序执行所述验证向量,并将执行结果与多核处理器模拟仿真后的执行结果进行比较。Step 15, improve the instruction level simulator, so that the instruction level simulator can execute the verification vector according to the time sequence of the memory access operation, and compare the execution result with the execution result after the multi-core processor simulation.

所述步骤14包括检测有限范围内所述待验证的多核处理器的所述验证向量访存顺序的有向图是否无环,并判断所述待验证的多核处理器存储一致性设计是否正确。The step 14 includes detecting whether the directed graph of the verification vector memory access sequence of the multi-core processor to be verified within a limited range is acyclic, and judging whether the storage consistency design of the multi-core processor to be verified is correct.

所述全局时钟包括设置一个64位的计数器,从0时刻开始每个时钟节拍自增1。The global clock includes setting a 64-bit counter, which increments by 1 every clock beat from time 0.

所述步骤13包括通过引线方式监听所述待验证的多核处理器的各个处理器核的每条访存操作的进入时间与提交时间。The step 13 includes monitoring the entry time and submission time of each memory access operation of each processor core of the multi-core processor to be verified through wires.

本发明还提出一种支持精确访存检测的多核处理器随机验证装置,包括:The present invention also proposes a multi-core processor random verification device that supports accurate memory access detection, including:

获取验证向量模块,用于将待验证的多核处理器中的用户约束与指令库相结合,通过并行程序产生器,生成存在访存冲突的并行程序作为验证向量;在待验证的多核处理器仿真环境中运行所述验证向量,记录所述验证向量的执行结果及访存操作的时间信息;Obtain the verification vector module, which is used to combine the user constraints in the multi-core processor to be verified with the instruction library, and generate parallel programs with memory access conflicts as verification vectors through the parallel program generator; in the simulation of the multi-core processor to be verified Running the verification vector in the environment, recording the execution result of the verification vector and the time information of the memory access operation;

存储一致性检查模块,用于根据所述执行结果及所述访存操作的时间信息,进行存储一致性设计正确性检查,如果所述待验证的多核处理器的存储一致性设计符合存储一致性模型,则进入执行结果比较模块,否则发现设计错误,停止本次随机验证并执行错误调试;A storage consistency check module, configured to check the correctness of the storage consistency design according to the execution result and the time information of the memory access operation, if the storage consistency design of the multi-core processor to be verified meets the storage consistency model, enter the execution result comparison module, otherwise design errors are found, stop this random verification and perform error debugging;

执行结果比较模块,用于将所述验证向量及所述访存操作的时间信息送入指令级模拟器,所述指令级模拟器按照访存操作的时间顺序执行所述验证向量,并将结果与多核处理器模拟仿真后的执行结果进行比较,如果比较结果一致,则本次随机验证通过,继续执行多核处理器随机验证,否则进行错误调试。The execution result comparison module is used to send the verification vector and the time information of the memory access operation into the instruction-level simulator, and the instruction-level simulator executes the verification vector according to the time sequence of the memory access operation, and outputs the result Compare with the execution result after the simulation of the multi-core processor, if the comparison result is consistent, then this random verification is passed, and continue to perform the random verification of the multi-core processor, otherwise, perform error debugging.

所述获取验证向量模块之前还包括:Before the module of obtaining the verification vector, it also includes:

设置全局时钟模块,用于设置全局时钟,用于记录所述访存操作的时间信息;Setting a global clock module for setting a global clock for recording the time information of the memory access operation;

设置所述并行程序产生器模块,用于设置所述并行程序产生器,支持通过伪随机方法生成所述验证向量;Setting the parallel program generator module for setting the parallel program generator to support generating the verification vector through a pseudo-random method;

进入时间与提交时间模块,用于记录每条访存操作的进入时间与提交时间并写入到文件中;The entry time and submission time module is used to record the entry time and submission time of each memory access operation and write them into the file;

检查模块,用于通过所述文件,进行存储一致性设计正确性检查;A check module, configured to check the correctness of the storage consistency design through the file;

改进指令级模拟器模块,用于改进指令级模拟器,使所述指令级模拟器能够按照访存操作的时间顺序执行所述验证向量,并将执行结果与多核处理器模拟仿真后的执行结果进行比较。The improved instruction level simulator module is used to improve the instruction level simulator, so that the instruction level simulator can execute the verification vector according to the time sequence of the memory access operation, and perform the execution result with the execution result after the multi-core processor simulation Compare.

所述检查模块包括检测有限范围内所述待验证的多核处理器的所述验证向量访存顺序的有向图是否无环,并判断所述待验证的多核处理器存储一致性设计是否正确。The inspection module includes detecting whether the directed graph of the verification vector memory access sequence of the multi-core processor to be verified within a limited range is acyclic, and judging whether the storage consistency design of the multi-core processor to be verified is correct.

所述全局时钟包括设置一个64位的计数器,从0时刻开始每个时钟节拍自增1。The global clock includes setting a 64-bit counter, which increments by 1 every clock beat from time 0.

所述进入时间与提交时间模块包括通过引线方式监听所述待验证的多核处理器的各个处理器核的每条访存操作的进入时间与提交时间。The entry time and commit time module includes monitoring the entry time and commit time of each memory access operation of each processor core of the multi-core processor to be verified through wires.

由以上方案可知,本发明的优点在于:As can be seen from the above scheme, the present invention has the advantages of:

本发明提出了一种支持精确访存检测的多核处理器随机验证方法及其装置,通过在随机验证环境中设置全局时钟及运行后比较机制,支持多核处理器随机验证中的精确结果比较,解决了长期困扰多核处理器随机验证的错误准确检测和定位的问题。The present invention proposes a multi-core processor random verification method and its device supporting accurate memory access detection. By setting a global clock and a post-run comparison mechanism in the random verification environment, it supports the comparison of accurate results in the random verification of the multi-core processor and solves the problem of The problem of accurate detection and localization of errors in stochastic verification of multi-core processors has long been plagued.

附图说明Description of drawings

图1为现有技术中单核处理器随机验证系统结构示意图;Fig. 1 is a schematic structural diagram of a single-core processor random verification system in the prior art;

图2为本发明中多核处理器随机验证环境改进流程示例图;Fig. 2 is an example diagram of the improvement process of multi-core processor random verification environment in the present invention;

图3为本发明中多核处理器随机验证执行流程示意图。FIG. 3 is a schematic diagram of a random verification execution flow of a multi-core processor in the present invention.

具体实施方式Detailed ways

本发明的目的是解决多核处理器随机验证中的精确结果比较问题,支持多核处理器随机验证的错误准确检测和定位,为了解决上述技术问题,提出了一种支持精确访存检测的多核处理器随机验证方法及其装置。The purpose of the present invention is to solve the problem of accurate result comparison in the random verification of multi-core processors, and to support the accurate detection and positioning of errors in the random verification of multi-core processors. In order to solve the above technical problems, a multi-core processor supporting accurate memory access detection is proposed Random verification method and device thereof.

为了达到上述目的,本发明提出一种支持精确访存检测的多核处理器随机验证方法及其装置,包括多核处理器随机验证环境改进方法和多核处理器随机验证执行方法两部分,通过以下技术方案实现:In order to achieve the above object, the present invention proposes a multi-core processor random verification method and its device supporting accurate memory access detection, including two parts: a multi-core processor random verification environment improvement method and a multi-core processor random verification execution method, through the following technical solutions accomplish:

多核处理器随机验证环境改进方法,包括如下步骤:The multi-core processor random verification environment improvement method includes the following steps:

1.在随机验证测试平台顶层模块中设置全局时钟;1. Set the global clock in the top module of the random verification test platform;

2.将单核处理器随机验证环境中的随机生成引擎改造为并行程序产生器,支持用伪随机方法产生有访存冲突的并行程序;2. Transform the random generation engine in the random verification environment of single-core processors into a parallel program generator, and support the use of pseudo-random methods to generate parallel programs with memory access conflicts;

3.在随机验证测试平台顶层模块中设置对待验证的多核处理器中每个处理器核访存操作的监听机制,记录每条访存操作的进入时间和提交时间并写入到文件中;3. Set the monitoring mechanism for the memory access operation of each processor core in the multi-core processor to be verified in the top module of the random verification test platform, record the entry time and submission time of each memory access operation and write it into the file;

4.在随机验证环境的结果比较中增加存储一致性设计正确性检测机制,利用上述记录每条访存操作的进入时间和提交时间的文件,进行存储一致性设计正确性检查;4. Add a storage consistency design correctness detection mechanism in the result comparison of the random verification environment, and use the above-mentioned files that record the entry time and submission time of each memory access operation to check the correctness of the storage consistency design;

5.改进指令级模拟器,使其能够按照此前记录的访存操作时间顺序执行并行程序,并将结果与待验证的多核处理器模拟仿真后的执行结果进行比较。5. Improve the instruction-level simulator so that it can execute parallel programs according to the time sequence of the previously recorded memory access operations, and compare the results with the execution results of the multi-core processor to be verified after simulation.

多核处理器随机验证执行方法,包括如下步骤:The multi-core processor random verification execution method includes the following steps:

1.将用户约束和指令库相结合,通过并行程序产生器,用伪随机方法生成有访存冲突的并行程序作为验证向量;1. Combining user constraints and instruction libraries, through the parallel program generator, use the pseudo-random method to generate parallel programs with memory access conflicts as verification vectors;

2.在待验证的多核处理器仿真环境中运行前述有访存冲突的并行程序,记录并行程序的执行结果及访存操作的时间信息;2. Run the aforementioned parallel program with memory access conflict in the multi-core processor simulation environment to be verified, and record the execution result of the parallel program and the time information of the memory access operation;

3.根据前述并行程序的执行结果及访存操作的时间信息,进行存储一致性设计正确性检查。如果待验证的多核处理器存储一致性设计不符合需求规范要求的存储一致性模型,则发现设计错误,停止本次随机验证执行错误调试;否则继续执行下一步骤;3. According to the execution result of the aforementioned parallel program and the time information of the memory access operation, the correctness of the storage consistency design is checked. If the storage consistency design of the multi-core processor to be verified does not meet the storage consistency model required by the requirements specification, a design error is found, and this random verification execution error debugging is stopped; otherwise, continue to the next step;

4.将前述有访存冲突的并行程序及访存操作的时间信息送入指令级模拟器,指令级模拟器按照此前记录的访存操作时间顺序执行并行程序,并将结果与待验证的多核处理器模拟仿真后的执行结果进行比较,如果比较结果一致,则本次模拟仿真验证通过,继续执行多核处理器随机验证;如果比较结果不一致,则发现设计错误,进行错误调试。4. Send the aforementioned parallel program with memory access conflict and the time information of the memory access operation to the instruction-level simulator, and the instruction-level simulator executes the parallel program according to the time sequence of the previously recorded memory access operation, and compares the result with the multi-core to be verified The execution results after the processor simulation are compared. If the comparison results are consistent, the simulation verification is passed, and the random verification of the multi-core processor is continued; if the comparison results are inconsistent, a design error is found and error debugging is performed.

下面结合附图和具体实施方式对本发明做进一步详细描述。The present invention will be further described in detail below in conjunction with the accompanying drawings and specific embodiments.

一种支持精确访存检测的多核处理器随机验证方法及其装置,具体实施流程包括多核处理器随机验证环境改进流程和多核处理器随机验证执行流程两部分。A multi-core processor random verification method and device supporting precise memory access detection, the specific implementation process includes two parts: a multi-core processor random verification environment improvement process and a multi-core processor random verification execution process.

多核处理器随机验证环境改进流程,如图2所示:The improvement process of multi-core processor random verification environment is shown in Figure 2:

步骤S201.在随机验证测试平台顶层模块中设置全局时钟。在具体实施时,可以在随机验证测试平台顶层模块中,设置一个64位的计数器,从0时刻开始每个时钟节拍自增1,即可获得全局时钟;Step S201. Set the global clock in the top module of the random verification test platform. In the specific implementation, a 64-bit counter can be set in the top module of the random verification test platform, and the global clock can be obtained by incrementing by 1 every clock tick from time 0;

步骤S202.将单核处理器随机验证环境中的随机生成引擎改造为并行程序产生器,支持用伪随机方法产生有访存冲突的并行程序。并行程序中访问的内存地址是虚拟地址,而访存冲突是指对相同物理内存地址的访问,需要在程序的实际运行中把相同的访存虚拟地址映射到同样的物理地址,这样才会产生真正的冲突,在待验证的多核处理器随机验证环境中没有操作系统支持,在具体实施时,可以在随机验证环境中将并行程序中每个进程的代码段分配到不同的物理地址,而将所有进程的数据段都分配到相同的物理地址,以便产生真正的访存冲突;Step S202. Transform the random generation engine in the random verification environment of the single-core processor into a parallel program generator, and support pseudo-random method to generate parallel programs with memory access conflicts. The memory address accessed in the parallel program is a virtual address, and the access conflict refers to the access to the same physical memory address. It is necessary to map the same memory access virtual address to the same physical address in the actual operation of the program, so that it will generate The real conflict is that there is no operating system support in the random verification environment of the multi-core processor to be verified. In the specific implementation, the code segments of each process in the parallel program can be assigned to different physical addresses in the random verification environment, and the The data segments of all processes are allocated to the same physical address in order to generate real memory access conflicts;

步骤S203.在随机验证测试平台顶层模块中设置对待验证的多核处理器中每个处理器核访存操作的监听机制,记录每条访存操作的进入时间和提交时间并写入到文件中。在具体实施时,随机验证测试平台顶层模块可以通过引线方式监听各个处理器核模块的访存信息,例如:在顶层模块中设置对某个处理器核cache写操作的监听,使用assign dcw_valid=top.cpu_core1......dcache_0.dcw_valid,其它访存操作监听方式可以此类推;Step S203. In the top-level module of the random verification test platform, a monitoring mechanism for each processor core memory access operation in the multi-core processor to be verified is set, and the entry time and submission time of each memory access operation are recorded and written into a file. In actual implementation, the top-level module of the random verification test platform can monitor the memory access information of each processor core module through wires, for example: to set the monitor for a certain processor core cache write operation in the top-level module, use assign dcw_valid=top .cpu_core1......dcache_0.dcw_valid, other memory access operation monitoring methods can be deduced by analogy;

步骤S204.在随机验证环境的结果比较中增加存储一致性设计正确性检测机制,利用上述记录每条访存操作的进入时间和提交时间的文件,进行存储一致性设计正确性检查。在具体实施时,采用传统方法检测有限范围内待验证的多核处理器并行程序访存顺序的有向图是否无环,并据此判断待验证的多核处理器存储一致性设计是否正确;Step S204. Add a storage consistency design correctness detection mechanism to the result comparison of the random verification environment, and use the above-mentioned file recording the entry time and submission time of each memory access operation to check the correctness of the storage consistency design. In the specific implementation, the directed graph of the parallel program memory access sequence of the multi-core processor to be verified in a limited range is detected by traditional methods, and whether the directed graph of the memory access sequence of the multi-core processor to be verified is acyclic, and based on this, it is judged whether the storage consistency design of the multi-core processor to be verified is correct;

步骤S205.改进指令级模拟器,使其能够按照此前记录的访存操作时间顺序执行并行程序,并将结果与待验证的多核处理器模拟仿真后的执行结果进行比较。Step S205. Improve the instruction level simulator so that it can execute the parallel program according to the time sequence of the previously recorded memory access operation, and compare the result with the execution result after the simulation of the multi-core processor to be verified.

多核处理器随机验证执行流程,如图3所示:Multi-core processor random verification execution process, as shown in Figure 3:

步骤S301.将用户约束和指令库相结合,通过并行程序产生器,用伪随机方法生成有访存冲突的并行程序作为验证向量;Step S301. Combining the user constraints with the instruction library, and using a pseudo-random method to generate parallel programs with memory access conflicts as verification vectors through the parallel program generator;

步骤S302.在待验证的多核处理器仿真环境中运行前述有访存冲突的并行程序,记录并行程序的执行结果及访存操作的时间信息;Step S302. Run the aforementioned parallel program with memory access conflict in the multi-core processor simulation environment to be verified, and record the execution result of the parallel program and the time information of the memory access operation;

步骤S303.根据前述并行程序的执行结果及访存操作的时间信息,进行存储一致性设计正确性检查;Step S303. According to the execution result of the aforementioned parallel program and the time information of the memory access operation, check the correctness of the storage consistency design;

步骤S304.判断待验证的多核处理器存储一致性设计是否符合需求规范要求的存储一致性模型,如果不符合需求规范要求的存储一致性模型,则发现设计错误,停止本次随机验证执行,进行错误调试;否则执行步骤S305;Step S304. Determine whether the storage consistency design of the multi-core processor to be verified conforms to the storage consistency model required by the requirements specification. If it does not meet the storage consistency model required by the requirements specification, a design error is found, and this random verification execution is stopped. Error debugging; otherwise, execute step S305;

步骤S305.将前述有访存冲突的并行程序及访存操作的时间信息送入指令级模拟器;Step S305. Sending the aforementioned parallel programs with memory access conflicts and time information of memory access operations to the instruction level simulator;

步骤S306.指令级模拟器按照此前记录的访存操作时间顺序执行并行程序,并将结果与待验证的多核处理器模拟仿真后的执行结果进行比较;Step S306. The instruction level simulator executes the parallel program according to the time sequence of the previously recorded memory access operation, and compares the result with the execution result after the simulation of the multi-core processor to be verified;

步骤S307.判断前述比较结果是否一致,如果比较结果一致,则执行步骤S308;如果比较结果不一致,则发现设计错误,进行错误调试;Step S307. Judging whether the aforementioned comparison results are consistent, if the comparison results are consistent, then perform step S308; if the comparison results are inconsistent, then find a design error, and perform error debugging;

步骤308本次模拟仿真验证通过,继续执行多核处理器随机验证。In step 308, the current simulation verification is passed, and the multi-core processor random verification is continued.

本发明还提出一种支持精确访存检测的多核处理器随机验证装置,包括:The present invention also proposes a multi-core processor random verification device that supports accurate memory access detection, including:

获取验证向量模块,用于将待验证的多核处理器中的用户约束与指令库相结合,通过并行程序产生器,生成存在访存冲突的并行程序作为验证向量;在待验证的多核处理器仿真环境中运行所述验证向量,记录所述验证向量的执行结果及访存操作的时间信息;Obtain the verification vector module, which is used to combine the user constraints in the multi-core processor to be verified with the instruction library, and generate parallel programs with memory access conflicts as verification vectors through the parallel program generator; in the simulation of the multi-core processor to be verified Running the verification vector in the environment, recording the execution result of the verification vector and the time information of the memory access operation;

存储一致性检查模块,用于根据所述执行结果及所述访存操作的时间信息,进行存储一致性设计正确性检查,如果所述待验证的多核处理器的存储一致性设计符合存储一致性模型,则进入执行结果比较模块,否则发现设计错误,停止本次随机验证并执行错误调试;A storage consistency check module, configured to check the correctness of the storage consistency design according to the execution result and the time information of the memory access operation, if the storage consistency design of the multi-core processor to be verified meets the storage consistency model, enter the execution result comparison module, otherwise design errors are found, stop this random verification and perform error debugging;

执行结果比较模块,用于将所述验证向量及所述访存操作的时间信息送入指令级模拟器,所述指令级模拟器按照访存操作的时间顺序执行所述验证向量,并将结果与多核处理器模拟仿真后的执行结果进行比较,如果比较结果一致,则本次随机验证通过,继续执行多核处理器随机验证,否则进行错误调试。The execution result comparison module is used to send the verification vector and the time information of the memory access operation into the instruction-level simulator, and the instruction-level simulator executes the verification vector according to the time sequence of the memory access operation, and outputs the result Compare with the execution result after the simulation of the multi-core processor, if the comparison result is consistent, then this random verification is passed, and continue to perform the random verification of the multi-core processor, otherwise, perform error debugging.

所述获取验证向量模块之前还包括:Before the module of obtaining the verification vector, it also includes:

设置全局时钟模块,用于设置全局时钟,用于记录所述访存操作的时间信息;Setting a global clock module for setting a global clock for recording the time information of the memory access operation;

设置所述并行程序产生器模块,用于设置所述并行程序产生器,支持通过伪随机方法生成所述验证向量;Setting the parallel program generator module for setting the parallel program generator to support generating the verification vector through a pseudo-random method;

进入时间与提交时间模块,用于记录每条访存操作的进入时间与提交时间并写入到文件中;The entry time and submission time module is used to record the entry time and submission time of each memory access operation and write them into the file;

检查模块,用于通过所述文件,进行存储一致性设计正确性检查;A check module, configured to check the correctness of the storage consistency design through the file;

改进指令级模拟器模块,用于改进指令级模拟器,使所述指令级模拟器能够按照访存操作的时间顺序执行所述验证向量,并将执行结果与多核处理器模拟仿真后的执行结果进行比较。The improved instruction level simulator module is used to improve the instruction level simulator, so that the instruction level simulator can execute the verification vector according to the time sequence of the memory access operation, and perform the execution result with the execution result after the multi-core processor simulation Compare.

所述检查模块包括检测有限范围内所述待验证的多核处理器的所述验证向量访存顺序的有向图是否无环,并判断所述待验证的多核处理器存储一致性设计是否正确。The inspection module includes detecting whether the directed graph of the verification vector memory access sequence of the multi-core processor to be verified within a limited range is acyclic, and judging whether the storage consistency design of the multi-core processor to be verified is correct.

所述全局时钟包括设置一个64位的计数器,从0时刻开始每个时钟节拍自增1。The global clock includes setting a 64-bit counter, which increments by 1 every clock beat from time 0.

所述进入时间与提交时间模块包括通过引线方式监听所述待验证的多核处理器的各个处理器核的每条访存操作的进入时间与提交时间。The entry time and commit time module includes monitoring the entry time and commit time of each memory access operation of each processor core of the multi-core processor to be verified through wires.

Claims (10)

1. a kind of multi-core processor random verification method for supporting accurate memory access detection, which is characterized in that including:
Step 1, the user in multi-core processor to be verified is constrained and be combined with instruction database, by concurrent program generator, It generates there are the concurrent program of memory access conflict as verification vectors;In multi-core processor simulated environment to be verified described in operation Verification vectors record the implementing result of the verification vectors and the temporal information of accessing operation;
Step 2, according to the implementing result and the temporal information of the accessing operation, storage consistency design correctness inspection is carried out It looks into, if the storage consistency design of the multi-core processor to be verified meets memory consistency model, performs step 3, Otherwise it finds design mistake, stop this accidental validation and performs wrong debugging;
Step 3, the temporal information of the verification vectors and the accessing operation is sent into instruction-level simulator, described instruction grade mould Intend device and perform the verification vectors according to the time sequencing of accessing operation, and by result and holding after multi-core processor analog simulation Row result is compared, if comparison result is consistent, this accidental validation passes through, and continues to execute multi-core processor and tests at random Otherwise card carries out wrong debugging;
Generation to be specifically included there are the concurrent program of memory access conflict as verification vectors wherein in step 1:In accidental validation environment The middle code segment by process each in concurrent program is assigned to different physical address, and the data segment of all processes is all distributed To identical physical address, to generate memory access conflict.
2. the multi-core processor random verification method of accurate memory access detection is supported as described in claim 1, which is characterized in that institute It is further included before stating step 1:
Step 11, global clock is set, for recording the temporal information of the accessing operation;
Step 12, the concurrent program generator is set, supports to generate the verification vectors by pseudo-random method;
Step 13, the entry time of every accessing operation and submission time are recorded and is written in file;
Step 14, by the file, storage consistency design Correctness checking is carried out;
Step 15, instruction-level simulator is improved, described instruction grade simulator is enable to be performed according to the time sequencing of accessing operation The verification vectors, and implementing result and the implementing result after multi-core processor analog simulation are compared.
3. the multi-core processor random verification method of accurate memory access detection is supported as claimed in claim 2, which is characterized in that institute State step 14 include detection limited range in the multi-core processor to be verified the verification vectors memory access sequence it is oriented Whether figure is acyclic, and judges whether the multi-core processor storage consistency design to be verified is correct.
4. the multi-core processor random verification method of accurate memory access detection is supported as claimed in claim 2, which is characterized in that institute The counter that global clock includes setting one 64 is stated, each timeticks increase 1 certainly since 0 moment.
5. the multi-core processor random verification method of accurate memory access detection is supported as claimed in claim 2, which is characterized in that institute Step 13 is stated to include monitoring every memory access behaviour of each processor core of the multi-core processor to be verified by gage system The entry time and submission time of work.
6. a kind of multi-core processor accidental validation device for supporting accurate memory access detection, which is characterized in that including:
Verification vectors module is obtained, for user's constraint in multi-core processor to be verified to be combined with instruction database, is passed through Concurrent program generator is generated there are the concurrent program of memory access conflict as verification vectors;It is imitated in multi-core processor to be verified The verification vectors are run in true environment, record the implementing result of the verification vectors and the temporal information of accessing operation;
Consistency check module is stored, for the temporal information according to the implementing result and the accessing operation, is stored Consistency designs Correctness checking, if the storage consistency design of the multi-core processor to be verified meets storage consistency Model then into implementing result comparison module, otherwise finds design mistake, stops this accidental validation and performs wrong debugging;
Implementing result comparison module, for the temporal information of the verification vectors and the accessing operation to be sent into instruction level simulation Device, described instruction grade simulator perform the verification vectors, and result and multinuclear are handled according to the time sequencing of accessing operation Implementing result after device analog simulation is compared, if comparison result is consistent, this accidental validation passes through, and continues to execute more Otherwise core processor accidental validation carries out wrong debugging;
Generation in verification vectors module is wherein obtained to specifically include as verification vectors there are the concurrent program of memory access conflict:With The code segment of process each in concurrent program is assigned to different physical address in machine verification environment, and by the number of all processes Identical physical address is all assigned to according to section, to generate memory access conflict.
7. the multi-core processor accidental validation device of accurate memory access detection is supported as claimed in claim 6, which is characterized in that institute It states and is further included before obtaining verification vectors module:
Global clock module is set, for setting global clock, for recording the temporal information of the accessing operation;
The concurrent program generator block is set, and for setting the concurrent program generator, support passes through pseudo-random method Generate the verification vectors;
Entry time and submission time module, for recording the entry time of every accessing operation and submission time and being written to text In part;
It checks module, for passing through the file, carries out storage consistency design Correctness checking;
Instruction-level simulator module is improved, for improving instruction-level simulator, enables described instruction grade simulator according to memory access The time sequencing of operation performs the verification vectors, and by the implementing result after implementing result and multi-core processor analog simulation into Row compares.
8. the multi-core processor accidental validation device of accurate memory access detection is supported as claimed in claim 7, which is characterized in that institute It states and checks that the verification vectors memory access sequence that module includes the multi-core processor to be verified in detection limited range has It is whether acyclic to scheming, and judge whether the multi-core processor storage consistency design to be verified is correct.
9. the multi-core processor accidental validation device of accurate memory access detection is supported as claimed in claim 7, which is characterized in that institute The counter that global clock includes setting one 64 is stated, each timeticks increase 1 certainly since 0 moment.
10. the multi-core processor accidental validation device of accurate memory access detection is supported as claimed in claim 7, which is characterized in that The entry time includes monitoring each place of the multi-core processor to be verified by gage system with submission time module Manage the entry time and submission time of every accessing operation of device core.
CN201610299336.1A 2016-05-06 2016-05-06 A kind of multi-core processor random verification method and device for supporting accurate memory access detection Expired - Fee Related CN105930242B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610299336.1A CN105930242B (en) 2016-05-06 2016-05-06 A kind of multi-core processor random verification method and device for supporting accurate memory access detection

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610299336.1A CN105930242B (en) 2016-05-06 2016-05-06 A kind of multi-core processor random verification method and device for supporting accurate memory access detection

Publications (2)

Publication Number Publication Date
CN105930242A CN105930242A (en) 2016-09-07
CN105930242B true CN105930242B (en) 2018-07-06

Family

ID=56834366

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610299336.1A Expired - Fee Related CN105930242B (en) 2016-05-06 2016-05-06 A kind of multi-core processor random verification method and device for supporting accurate memory access detection

Country Status (1)

Country Link
CN (1) CN105930242B (en)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109032879B (en) * 2017-06-09 2021-08-20 展讯通信(上海)有限公司 Multi-core processor memory access data detection and verification system and method
EP3416254B1 (en) * 2017-06-14 2020-04-22 ABB Schweiz AG Electronic protection device
CN112364600B (en) * 2019-07-25 2022-06-17 中国科学院软件研究所 Processor micro-architecture design verification method
CN110659172B (en) * 2019-09-11 2022-12-27 上海高性能集成电路设计中心 Instruction level checking method for microprocessor locking mechanism
CN110598320B (en) * 2019-09-11 2023-06-16 上海高性能集成电路设计中心 Instruction set simulator calibration method based on hardware simulation accelerator
CN111047499A (en) * 2019-11-18 2020-04-21 中国航空工业集团公司西安航空计算技术研究所 Large-scale dyeing array robustness verification method
CN111047502B (en) * 2019-11-21 2023-06-30 中国航空工业集团公司西安航空计算技术研究所 Large-scale SIMT dyeing array verification method
CN111400997B (en) * 2020-03-26 2023-08-08 超睿科技(长沙)有限公司 Processor verification method, system and medium based on synchronous execution
CN113656067A (en) * 2021-06-21 2021-11-16 广东赛昉科技有限公司 RISCV architecture multi-core CPU CoSim comparison method and system
CN114090499A (en) * 2021-11-23 2022-02-25 海光信息技术股份有限公司 Memory access unit verification system, device and storage medium
CN115658414A (en) * 2022-12-29 2023-01-31 中科亿海微电子科技(苏州)有限公司 RISC-V architecture processor core-based function verification method and platform

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101788919A (en) * 2010-01-29 2010-07-28 中国科学技术大学苏州研究院 Chip multi-core processor clock precision parallel simulation system and simulation method thereof
CN101807144A (en) * 2010-03-17 2010-08-18 上海大学 Prospective multi-threaded parallel execution optimization method
CN102789483A (en) * 2012-06-30 2012-11-21 华为技术有限公司 Data verification method, device and system
CN102929686A (en) * 2012-09-28 2013-02-13 杭州中天微系统有限公司 Functional verification method of on-chip multi-core processor

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7979844B2 (en) * 2008-10-14 2011-07-12 Edss, Inc. TICC-paradigm to build formally verified parallel software for multi-core chips
CN104077226B (en) * 2014-07-07 2015-05-13 西安交通大学 Multithreaded program output uniqueness detection and evidence generation method based on program constraint building
JP5920509B2 (en) * 2015-03-19 2016-05-18 富士通株式会社 Controller control program and controller control method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101788919A (en) * 2010-01-29 2010-07-28 中国科学技术大学苏州研究院 Chip multi-core processor clock precision parallel simulation system and simulation method thereof
CN101807144A (en) * 2010-03-17 2010-08-18 上海大学 Prospective multi-threaded parallel execution optimization method
CN102789483A (en) * 2012-06-30 2012-11-21 华为技术有限公司 Data verification method, device and system
CN102929686A (en) * 2012-09-28 2013-02-13 杭州中天微系统有限公司 Functional verification method of on-chip multi-core processor

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
片上多核处理器存储一致性验证;王朋宇等;《软件学报》;20100430;第21卷(第4期);正文第863-874页 *

Also Published As

Publication number Publication date
CN105930242A (en) 2016-09-07

Similar Documents

Publication Publication Date Title
CN105930242B (en) A kind of multi-core processor random verification method and device for supporting accurate memory access detection
CN109032879B (en) Multi-core processor memory access data detection and verification system and method
CN115841089A (en) System-on-chip verification platform and verification method based on UVM
US7788610B2 (en) Random stimuli generation of memory maps and memory allocations
CN104407951A (en) Method for automatically testing complete server
US9262299B1 (en) Simulation observability and control of all hardware and software components of a virtual platform model of an electronics system
CN115130402B (en) Cache verification method, system, electronic equipment and readable storage medium
CN113076709B (en) A multi-core processor function verification platform and method based on hybrid reference model
CN107710166A (en) Using checking after the silicon of the quick error detection of symbol and debug
US8412507B2 (en) Testing the compliance of a design with the synchronization requirements of a memory model
WO2015069869A1 (en) Temporal logic robustness guided testing for cyber-physical sustems
CN116048887A (en) Chip verification method, device, system, electronic equipment and storage medium
Herdt et al. On the application of formal fault localization to automated RTL-to-TLM fault correspondence analysis for fast and accurate VP-based error effect simulation-a case study
Lin et al. Quick error detection tests with fast runtimes for effective post-silicon validation and debug
CN115372791A (en) Test method and device of integrated circuit based on hardware simulation and electronic equipment
CN114691474A (en) Program detection method and device
CN115732025A (en) Method and device for verifying RAM access conflict
TWI221200B (en) System verifying apparatus and method
Wang et al. Detecting data races in interrupt-driven programs based on static analysis and dynamic simulation
Neishaburi et al. On a new mechanism of trigger generation for post-silicon debugging
CN112364600B (en) Processor micro-architecture design verification method
US10339229B1 (en) Simulation observability and control of all hardware and software components of a virtual platform model of an electronics system
CN117454835B (en) Method for storing and reading waveform data, electronic device and storage medium
CN115292760B (en) Chip verification system, method and computer readable storage medium
CN119004565A (en) SMPU module verification system and method based on UVM verification platform

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180706