CN110659172A - 一种微处理器锁机制的指令级校验方法 - Google Patents

一种微处理器锁机制的指令级校验方法 Download PDF

Info

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
Application number
CN201910858612.7A
Other languages
English (en)
Other versions
CN110659172B (zh
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.)
Shanghai Integrated Circuits with Highperformance Center
Original Assignee
Shanghai Integrated Circuits with Highperformance Center
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 Shanghai Integrated Circuits with Highperformance Center filed Critical Shanghai Integrated Circuits with Highperformance Center
Priority to CN201910858612.7A priority Critical patent/CN110659172B/zh
Publication of CN110659172A publication Critical patent/CN110659172A/zh
Application granted granted Critical
Publication of CN110659172B publication Critical patent/CN110659172B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/273Tester 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)中得出的每一条指令的执行结果都具备与所述待测设计的可比性。
CN201910858612.7A 2019-09-11 2019-09-11 一种微处理器锁机制的指令级校验方法 Active CN110659172B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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验证平台

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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