CN110659172A - 一种微处理器锁机制的指令级校验方法 - Google Patents
一种微处理器锁机制的指令级校验方法 Download PDFInfo
- Publication number
- CN110659172A CN110659172A CN201910858612.7A CN201910858612A CN110659172A CN 110659172 A CN110659172 A CN 110659172A CN 201910858612 A CN201910858612 A CN 201910858612A CN 110659172 A CN110659172 A CN 110659172A
- Authority
- CN
- China
- Prior art keywords
- lock
- reference model
- design
- lock mechanism
- verification
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/263—Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/273—Tester hardware, i.e. output processing circuits
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)
Abstract
本发明涉及一种微处理器锁机制的指令级校验方法,包括以下步骤:在参考模型中对锁机制进行完整建模,得到锁机制模型;为所述参考模型的每个核心单独设置一套锁同步模块,所述锁同步模块用于保存与锁相关的数据;在测试平台中,为待测设计的每个核心设置一套锁监测状态机,所述锁监测状态机用于抓取可信的与锁相关的数据,并将所述可信的与锁相关的数据实时同步给所述参考模型中的锁同步模块;所述参考模型在运行包含锁测试的激励时,在自身锁机制模型和锁同步模块的共同作用下,得出每一条指令的执行结果,并将所述执行结果与所述待测设计的结果进行对比分析,完成校验。本发明能够提高验证速度和验证效果。
Description
技术领域
本发明涉及微处理器验证技术领域,特别是涉及一种微处理器锁机制的指令级校验方法。
背景技术
现代高性能微处理的模拟验证中,大都采用对参考模型的预测结果与待测设计的执行结果进行对比的方法。然而,在多核处理器的验证中,由于多核并行执行的特性,对于涉及到多核交互的验证场景,多核竞争或者共享在指令级的结果往往是无法预测的,因而参考模型给出的预测结果无法用于对待测设计执行结果的检查。尤其是多核锁机制的验证,以往做法是放弃在指令级进行检查,而趋向更高的层级,比如在系统软件级运行特殊的自检查程序,在应用软件级对有实际意义的多核程序的结果进行检查,直接或间接完成对锁机制的验证。
已有的锁机制的模拟验证技术,实际上仅仅是解决了能否检查的问题。并不能满足细粒度以及高随机性的验证要求,不利于验证各种边界情况,难以重现错误现场或者定位错误原因。与其它指令级的测试场景进行混合时也会带来额外的工作量。而且较高层级的验证,相关激励或者程序开发较慢,模拟时间也会呈指数增长。综上所述,已有的锁机制的模拟验证技术,在验证速度和验证效果两方面都难以让人满意。
发明内容
本发明所要解决的技术问题是提供一种微处理器锁机制的指令级校验方法,能够提高验证速度和验证效果。
本发明解决其技术问题所采用的技术方案是:提供一种微处理器锁机制的指令级校验方法,包括以下步骤:
(1)在参考模型中对锁机制进行完整建模,得到锁机制模型;
(2)为所述参考模型的每个核心单独设置一套锁同步模块,所述锁同步模块用于保存与锁相关的数据;
(3)在测试平台中,为待测设计的每个核心设置一套锁监测状态机,所述锁监测状态机用于抓取可信的与锁相关的数据,并将所述可信的与锁相关的数据实时同步给所述参考模型中的锁同步模块。
所述锁同步模块兼具镜像数据和高速缓冲的特点。
所述步骤(3)中的锁监测状态机监测任何与锁相关的高速缓冲的一致性的请求和响应数据包,并根据高速缓冲的一致性协议和锁机制设计方案抓取可信的与锁相关的数据。
所述步骤(4)中得出的每一条指令的执行结果都具备与所述待测设计的可比性。
有益效果
由于采用了上述的技术方案,本发明与现有技术相比,具有以下的优点和积极效果:本发明通过为参考模型的每个核心单独设置一套锁的同步模块,同时设置锁的监测状态机,依据协议和设计方案,在恰当的时机抓取可信的锁数据并实时同步,从而克服了高性能多核微处理器的锁机制的验证中指令级运行结果无法预测,也即无法检查的问题。本发明实现了对锁机制的细粒度验证,实时精确地进行结果检查,及时报错,精确保存报错现场,便于快速定位锁错误的原因和修改后再验证,整体提升了锁机制验证的效率,加快芯片研发的进度。
附图说明
图1是本发明的应用结构示意图;
图2是本发明的流程图。
具体实施方式
下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。
本发明的实施方式涉及一种微处理器锁机制的指令级校验方法,该方法中,如图1所示,参考模型中的每个核心单独设置一套锁同步模块,测试平台中的待测设计的每个核心设置一套锁监测状态机。本实施方式的步骤如图2所示,具体为:
步骤1,根据处理器的设计方案,在参考模型中对锁机制进行完整建模,得到锁机制模型。
步骤2,为参考模型的每个核心单独设置一套锁同步模块,用于保存与锁相关的数据。该锁同步模块兼具镜像数据和高速缓冲的特点,可以接收并保存外部输入的同步数据,也可以被参考模型中的本核心更新和读取。
步骤3,在测试平台中,为待测设计的每个核心设置一套锁监测状态机。该锁监测状态机用于监测任何与锁相关的高速缓冲的一致性的请求和响应数据包,根据高速缓冲的一致性协议和锁机制设计方案,在恰当的时机,抓取可信的与锁相关的数据。
步骤4,锁监测状态机通过测试平台将抓取到的可信的与锁相关的数据实时同步给参考模型,参考模型的锁同步模块接收这些与锁相关的数据并进行保存。
步骤5,参考模型在运行包含锁测试的激励时,在自身锁机制模型和锁同步模块的共同作用下,得出每一条指令执行结果,这些执行结果与待测设计的结果之间是精确对应的,因此具备可比性。
步骤6,对参考模型和待测设计指令结果实时地一一进行检查,即实现了在指令级实时比较模拟验证环境中锁机制验证。同时,当发现检查不通过时,即时保存报错现场。
不难发现,本实施方式通过特殊的同步方法,在指令级实现了对锁机制的校验,克服了以往在高层级的校验速度较慢和验证效果不好的缺点,实现了对锁机制的细粒度验证,实时精确地进行结果检查,及时报错,精确保存报错现场,便于快速定位锁错误的原因和修改后再验证,整体提升了锁机制验证的效率,加快芯片研发的进度。
Claims (4)
1.一种微处理器锁机制的指令级校验方法,其特征在于,包括以下步骤:
(1)在参考模型中对锁机制进行完整建模,得到锁机制模型;
(2)为所述参考模型的每个核心单独设置一套锁同步模块,所述锁同步模块用于保存与锁相关的数据;
(3)在测试平台中,为待测设计的每个核心设置一套锁监测状态机,所述锁监测状态机用于抓取可信的与锁相关的数据,并将所述可信的与锁相关的数据实时同步给所述参考模型中的锁同步模块;
(4)所述参考模型在运行包含锁测试的激励时,在自身锁机制模型和锁同步模块的共同作用下,得出每一条指令的执行结果,并将所述执行结果与所述待测设计的结果进行对比分析,完成校验。
2.根据权利要求1所述的微处理器锁机制的指令级校验方法,其特征在于,所述锁同步模块兼具镜像数据和高速缓冲的特点。
3.根据权利要求1所述的微处理器锁机制的指令级校验方法,其特征在于,所述步骤(3)中的锁监测状态机监测任何与锁相关的高速缓冲的一致性的请求和响应数据包,并根据高速缓冲的一致性协议和锁机制设计方案抓取可信的与锁相关的数据。
4.根据权利要求1所述的微处理器锁机制的指令级校验方法,其特征在于,所述步骤(4)中得出的每一条指令的执行结果都具备与所述待测设计的可比性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910858612.7A CN110659172B (zh) | 2019-09-11 | 2019-09-11 | 一种微处理器锁机制的指令级校验方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910858612.7A CN110659172B (zh) | 2019-09-11 | 2019-09-11 | 一种微处理器锁机制的指令级校验方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110659172A true CN110659172A (zh) | 2020-01-07 |
CN110659172B CN110659172B (zh) | 2022-12-27 |
Family
ID=69038188
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910858612.7A Active CN110659172B (zh) | 2019-09-11 | 2019-09-11 | 一种微处理器锁机制的指令级校验方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110659172B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111400997A (zh) * | 2020-03-26 | 2020-07-10 | 超验信息科技(长沙)有限公司 | 一种基于同步执行的处理器核验证方法、系统及介质 |
CN115618801A (zh) * | 2022-12-01 | 2023-01-17 | 北京智芯微电子科技有限公司 | 缓存一致性检验方法、装置及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5845064A (en) * | 1995-09-11 | 1998-12-01 | Digital Equipment Corporation | Method for testing and verification of a CPU using a reference model |
CN102929686A (zh) * | 2012-09-28 | 2013-02-13 | 杭州中天微系统有限公司 | 一种片上多核处理器功能验证方法 |
CN105930242A (zh) * | 2016-05-06 | 2016-09-07 | 中国科学院计算技术研究所 | 一种支持精确访存检测的多核处理器随机验证方法及装置 |
CN108038283A (zh) * | 2017-11-30 | 2018-05-15 | 北京时代民芯科技有限公司 | 一种虚拟时钟同步的高效高覆盖率SoC验证平台 |
-
2019
- 2019-09-11 CN CN201910858612.7A patent/CN110659172B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5845064A (en) * | 1995-09-11 | 1998-12-01 | Digital Equipment Corporation | Method for testing and verification of a CPU using a reference model |
CN102929686A (zh) * | 2012-09-28 | 2013-02-13 | 杭州中天微系统有限公司 | 一种片上多核处理器功能验证方法 |
CN105930242A (zh) * | 2016-05-06 | 2016-09-07 | 中国科学院计算技术研究所 | 一种支持精确访存检测的多核处理器随机验证方法及装置 |
CN108038283A (zh) * | 2017-11-30 | 2018-05-15 | 北京时代民芯科技有限公司 | 一种虚拟时钟同步的高效高覆盖率SoC验证平台 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111400997A (zh) * | 2020-03-26 | 2020-07-10 | 超验信息科技(长沙)有限公司 | 一种基于同步执行的处理器核验证方法、系统及介质 |
CN111400997B (zh) * | 2020-03-26 | 2023-08-08 | 超睿科技(长沙)有限公司 | 一种基于同步执行的处理器核验证方法、系统及介质 |
CN115618801A (zh) * | 2022-12-01 | 2023-01-17 | 北京智芯微电子科技有限公司 | 缓存一致性检验方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110659172B (zh) | 2022-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8595701B2 (en) | Symbolic execution and test generation for GPU programs | |
CN105930242B (zh) | 一种支持精确访存检测的多核处理器随机验证方法及装置 | |
WO2014110922A1 (zh) | 一种基于扩展型Cache Coherence协议的多级一致性域仿真验证和测试方法 | |
Zheng et al. | CIVL: formal verification of parallel programs | |
CN104407951A (zh) | 一种自动化进行服务器整机测试的方法 | |
CN103150228B (zh) | 面向高速缓冲存储器的可综合伪随机验证方法及装置 | |
CN110659172B (zh) | 一种微处理器锁机制的指令级校验方法 | |
Koong et al. | Automatic testing environment for multi-core embedded software—ATEMES | |
CN106407112A (zh) | 基于Selenium和TestNG的自动化测试方法 | |
Hedde et al. | A non intrusive simulation-based trace system to analyse multiprocessor systems-on-chip software | |
CN106844215B (zh) | 一种基于约束求解的原子违背探测方法 | |
Hermanns et al. | Verifying causality between distant performance phenomena in large-scale MPI applications | |
CN108021495B (zh) | 基于回放的代码调试方法 | |
Vergé et al. | Hardware‐assisted software event tracing | |
US9373077B1 (en) | System and method for identifying constraint solver calls | |
Marquet et al. | Efficient encoding of SystemC/TLM in Promela | |
CN116048887A (zh) | 一种芯片验证方法及装置、系统、电子设备、存储介质 | |
US11734475B2 (en) | Performance measurement methodology for co-simulation | |
Malik et al. | Automaton: An autonomous coverage-based multiprocessor system verification environment | |
Zhao et al. | Host-compiled reliability modeling for fast estimation of architectural vulnerabilities | |
Davis et al. | The RASE (rapid, accurate simulation environment) for chip multiprocessors | |
Wen et al. | s2db: A novel simulation-based debugger for sensor network applications | |
Zheng et al. | Protocol-guided analysis of post-silicon traces under limited observability | |
Parker et al. | Performance analysis and debugging tools at scale | |
Banerjee | Static analysis driven performance and energy testing |
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 |