CN110727611B - 一种带状态监测的可配置一致性验证系统 - Google Patents

一种带状态监测的可配置一致性验证系统 Download PDF

Info

Publication number
CN110727611B
CN110727611B CN201910848710.2A CN201910848710A CN110727611B CN 110727611 B CN110727611 B CN 110727611B CN 201910848710 A CN201910848710 A CN 201910848710A CN 110727611 B CN110727611 B CN 110727611B
Authority
CN
China
Prior art keywords
core
consistency
monitoring
processing component
result
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
Application number
CN201910848710.2A
Other languages
English (en)
Other versions
CN110727611A (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.)
Wuxi Jiangnan Computing Technology Institute
Original Assignee
Wuxi Jiangnan Computing Technology Institute
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 Wuxi Jiangnan Computing Technology Institute filed Critical Wuxi Jiangnan Computing Technology Institute
Priority to CN201910848710.2A priority Critical patent/CN110727611B/zh
Publication of CN110727611A publication Critical patent/CN110727611A/zh
Application granted granted Critical
Publication of CN110727611B publication Critical patent/CN110727611B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • 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/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2236Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors

Landscapes

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

Abstract

本发明涉及芯片验证技术领域,具体涉及一种带状态监测的可配置一致性验证方法。本发明通过以下技术方案得以实现的:一种带状态监测的可配置一致性验证系统,包含片上网络以及片上网络连接的核组,每个所述核组包含核心、存储控制器和访存一致性处理部件;所述核心用于生成与发送激励;所述访存一致性处理部件接收来自所述核心发送来的激励并从所述存储控制器中取得结果返还至所述核心;所述核心还用于对所述结果进行验证;还包含动态监测模块。本发明的目的是提供一种带状态监测的可配置一致性验证方法,不仅能快速灵活的构建Cache一致性验证环境,且能动态实时的监测各个模块的状态。

Description

一种带状态监测的可配置一致性验证系统
技术领域
本发明涉及芯片验证技术领域,具体涉及一种带状态监测的可配置一致性验证方法。
背景技术
随着计算机体系结构研究的不断深入和集成电路设计技术的快速发展,处理器的频率得到了极大提升,为了进一步提高处理器的性能,多核并行成为了处理器研制的重要发展方向。虽然存储器技术也在持续提高,但是其频率\容量\读写速度等指标远远满足不了处理器的性能需求,产生了存储墙问题。
为了有效缓解存储墙问题,目前普遍在处理器核心中加入多级高速缓存Cache,使得处理器核心的访存速度接近运算速度,并且可访问的空间没有变小,从而有效提升性能。
如公告号为CN200810246665.5的中国专利文件所公布的技术方案中,其中一个步骤使用了分布式共享存储算法。在现有技术中,多核并行处理器往往采用此种分布式共享存储技术。在这种技术中,每个处理器核心中的Cache都可以和存储器共享数据,便捷高效,但又引发了多个核心间的数据一致性问题。
这就必须设计适合处理器整体架构和性能指标的Cache一致性协议,来统一管理各个核心的Cache和主存中的数据,在保证访存正确性的前提下,提高处理器的性能。
由于处理器的架构千差万别,性能指标各有侧重,再加上片上网络结构创新,在多核处理器系统中,Cache一致性协议的高效、正确和稳定就显得至关重要。进一步的,对Cache一致性协议的验证会贯穿整个处理器研制的始终,对快速构建环境、动态实时报错、激励可重用等方面都提出了更高的要求。
发明内容
本发明的目的是提供一种带状态监测的可配置一致性验证方法,不仅能快速灵活的构建Cache一致性验证环境,且能动态实时的监测各个模块的状态。
一种带状态监测的可配置一致性验证系统,包含片上网络,还包含与片上网络连接的核组,每个所述核组包含核心、存储控制器和仿存一致性处理部件;
所述核心用于生成与发送激励;
所述仿存一致性处理部件接收到来自所述核心发送来的激励并从所述存储控制器中取得结果返还至所述核心;
所述核心还用于对所述结果进行验证;
还包含动态监测模块,所述动态监测模块包含核心监测模块、存控监测模块和一致性协议处理部件监测模块。
作为本发明的优选,所述核组为两个或多个,共同连接在所述片上网络上。
作为本发明的优选,所述动态监测模块包含两项监测内容,分别为自身状态实时监测和传输协议实时监测。
作为本发明的优选,所述核心和所述存储控制器为待测设计或虚拟模型,所述仿存一致性处理部件只能为待测设计。
一种带状态监测的可配置一致性验证系统的验证方法,其特征在于,包含如下步骤:
S1、测试环境搭建步骤;
编写核心与存储控制器的虚拟模型,且根据验证目标来配置参数;
S2、激励生成与结果检查步骤;
核心产生激励数据并发送到仿存一致性处理部件,仿存一致性处理部件从存储控制器中获取到结果并发送回所述核心,所述核心对所述结果进行校验;
S3、动态监测步骤;对于核心、仿存一致性处理部件和存储控制器三个部件的动态监控,包含三个部件本身状态的动态监控和各部件之间传输协议的动态监控。
作为本发明的优选,所述S1、测试环境搭建步骤具体包含如下步骤:
S10、待测目标学习步骤,
学习待测目标的性能、架构和特点;
S11、封装类似模块步骤,
将结构功能类似的模块进行封装处理;
S12、配置步骤,
对核心与存储控制器两个部件进行参数化配置。
作为本发明的优选,对于核心和存储控制器中各个模块,采用统一的模型编写方式。作为本发明的优选,在S02、激励规则制定步骤中,测试结果为有错结果和无错结果。
综上所述,本发明具备如下有益效果:
通过本技术方案,在处理器研制的过程中,可根据不同阶段的验证目标,快速构建不同侧重点的一致性验证环境,由于测试激励有良好的可移植性,大大减少开发测试激励的工作量。
此外,由于对各个模块都加入了状态的动态监测,使得报错变得高效简洁,大大提升了验证效率,尤其可大大缩减大规模高强度测试激励的调试时间。具体实施方式
附图说明:
图1是实施例一的示意图。
具体实施方式:
以下结合附图对本发明作进一步详细说明。
本具体实施例仅仅是对本发明的解释,其并不是对本发明的限制,本领域技术人员在阅读完本说明书后可以根据需要对本实施例做出没有创造性贡献的修改,但只要在本发明的权利要求范围内都受到专利法的保护。
实施例1,一种带状态监测的可配置一致性验证方法。
在整个系统中,宏观可以分成三个部分:部分一、核心。这个部分是激励信号产生的数据源,用于发送仿存请求。部分二、一致性处理部件。这个部分收集到来自存储控制器的仿存请求,并进行处理。部分三、存储控制器。这个部分是仿存目标。一致性处理部件将仿存请求发送给存储控制器。存储控制器随后产生了仿存结果,并将仿存结果发送给部分二,部分二再将数据返还到部分一,形成一个数据闭环。
其中,部分一和部分三可以为虚拟模型,但部分二,即一致性处理部件需要为真实部件,即dut,Design Under Test,待测设计。
第一步骤:待测目标学习步骤。
在这一步骤中,学习待测目标的性能、架构、特点、目的。例如有些芯片支持32位地址,有些芯片支持48位地址,每个待测目标的结构和目的都有一定的差别,这一过程是学习并获得这个芯片这个架构的基本情况。
随后,第二步骤,封装类似模块。
在学习完毕之后对系统进行封装。例如,有16个待测模块,可以进行封装,封装成4个核组,例如图1中片上网络上包含有多个核组,图中为核组0和核组n。
在数据验证过程中,采用由少到多,由浅入深的顺序。可以一开始只测试2个核组,系统稳定了再运行4个核组,从而提升系统运行效率。
第三步骤,验证环境的构建。
在这个步骤中,对部分二不加处理,处理的是部分一和部分三的配置化。例如,部分一,核心,其为激励数据/访存请求的来源。在实际使用中,这部分包含有多个不同类别的模块,例如运算核心模块、系统接口模块、运算控制模块。在不同的验证环境下,根据实际情况,其数据来源模块的种类不同,某种数据的数量也有差别。这个过程就允许验证工程师编写虚拟模型,并根据具体的验证目标,在环境构建时使用参数化配置的方式,快速实现不同结构不同重点的验证环境的构建,方便快捷。
经过了以上三个步骤,整个测试环境已经构建完毕
第四步骤,激励生成与结果检查步骤。
此时,开始激励生成。
具体的,由第一部分,即图1中的核心,产生激励数据。且发送到第二部分,即图1中的Cache一致性处理部件,第二部分经过处理,将请求发送到第三部分,即图1中的存储控制器,并在相应的地址中取得相应的结果。
随后,结果通过第二部分再返回到第一部分。这里需要说明的是,数据结果的检验并不在cache一致性处理部件中完成,而是同样由第一部分,即核心处完成。
在本技术方案中,第一部分,不仅负责激励的生成与发送,同样负责运行结果的校验与检查。第一部分,即核心对结果的校验与检查是个综合性检查,不仅对于数据本身进行校验检查,还包含诸如包格式转换行为的正确性、接口连接的正确性、传输协议的正确性等结果进行校验检查。
在本案中,采用了统一的模型编写方式。例如第一部分,核心里可能包含多个数据来源,但每个数据来源的编写方式、编程格式均是一样的。这就使得各个模块具备良好的移植性和可继承性。不同验证环境间的激励相互迁移比较方便,可以显著减少激励编写的工作量,提升验证工作的效率。
第五步骤,动态监测步骤。这一步骤是本案的核心要素。在传统的技术中,监测往往采用“计分板”式验证方式,即第一部分,核心将激励数据发出,一直等待,至运行结果返回,对运行结果进行校验。这样的方式效率较低,实时性也较差。此外,整个数据闭环也较为复杂,运行结果的不正确也不一定能马上得知是哪一个环节上有错发生。
在本案中,采用了动态监测的方式,存在动态监测模块。动态监测模块包含核心监测模块、存控监测模块和一致性处理部件监测模块,分别对应于核心的监测、对存控的监测和对一致性协议处理部件的监测。每个监测模块所监测的内容都至少包含两项内容,一是传输过程的监测,二是自身工作状态的监测。后者为:例如对一致性协议处理部件的监测,若是Cache一致性处理部件中发现自身状态内容已经出错,此时就可以直接报错,无需等到数据从第二部分到第三部分,再从第三部分第二部分返回到第一部分再进行校验,而是直接在第二部分工作的时候直接报错,大大提升检测效率。前者为:例如激励信号从第一部分到第二部分涉及到交接的协议,此处也会对协议的正确性进行实时监控。若此处报错,也会产生报错标记并被实时监控到,提高了验证效率。
通过本技术方案,在处理器研制的过程中,可根据不同阶段的验证目标,快速构建不同侧重点的一致性验证环境,由于测试激励有良好的可移植性,大大减少开发测试激励的工作量。
此外,由于对各个模块都加入了状态的动态监测,使得报错变得高效简洁,大大提升了验证效率,尤其可大大缩减大规模高强度测试激励的调试时间。

Claims (5)

1.一种带状态监测的可配置一致性验证系统,包含片上网络以及与片上网络连接的核组,每个所述核组包含核心、存储控制器和访存一致性处理部件;所述核心用于生成与发送激励;所述访存一致性处理部件接收来自所述核心发送来的激励并进行处理,处理完毕后将请求发送至所示存储控制器; 所述存储控制器产生访存结果,并发送给所述一致性处理部件,所述一致性处理部件将所述访存结果发送给所述核心, 所述核心对所述访存结果进行验证;还包含动态监测模块,所述动态监测模块包含核心监测模块、存控监测模块和一致性协议处理部件监测模块;所述核心监测模块、所述存控监测模块和所述一致性协议处理部件监测模块分别对所述核心、存储控制器和访存一致性处理部件进行实时检测,检测内容均为两项:传输过程的监测和自身工作状态的监测,对自身工作状态的监测包括:若自身工作状态内容出错,则直接报错;对于所述核心和所述存储控制器中各个模块,采用统一的模型编写方式。
2.根据权利要求1所述的一种带状态监测的可配置一致性验证系统,其特征在于:所述核组为两个或多个,共同连接在所述片上网络上。
3.根据权利要求1所述的一种带状态监测的可配置一致性验证系统,其特征在于:所述核心和所述存储控制器为待测设备或虚拟模型,所述访存一致性处理部件只能为待测设计。
4.一种如权利要求1-3任意一项所述的一种带状态监测的可配置一致性验证系统的验证方法,其特征在于,包含如下步骤: S1、测试环境搭建步骤; 编写核心与存储控制器的虚拟模型,且根据验证目标来配置参数; S2、激励生成与结果检查步骤; 核心产生激励数据并发送到访存一致性处理部件,访存一致性处理部件从存储控制器中获取到结果并发送回所述核心,所述核心对所述结果进行校验; S3、动态监测步骤;对于核心、访存一致性处理部件和存储控制器三个部件的动态监控,包含三个部件本身状态的动态监控和各部件之间传输协议的动态监控。
5.根据权利要求4所述的一种带状态监测的可配置一致性验证系统的验证方法,其特征在于:所述S1、测试环境搭建步骤具体包含如下步骤: S10、待测目标学习步骤, 学习待测目标的性能、架构和特点; S11、封装类似模块步骤, 将结构功能类似的模块进行封装处理; S12、配置步骤, 对核心与存储控制器两个部件进行参数化配置。
CN201910848710.2A 2019-09-09 2019-09-09 一种带状态监测的可配置一致性验证系统 Active CN110727611B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910848710.2A CN110727611B (zh) 2019-09-09 2019-09-09 一种带状态监测的可配置一致性验证系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910848710.2A CN110727611B (zh) 2019-09-09 2019-09-09 一种带状态监测的可配置一致性验证系统

Publications (2)

Publication Number Publication Date
CN110727611A CN110727611A (zh) 2020-01-24
CN110727611B true CN110727611B (zh) 2022-01-07

Family

ID=69218069

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910848710.2A Active CN110727611B (zh) 2019-09-09 2019-09-09 一种带状态监测的可配置一致性验证系统

Country Status (1)

Country Link
CN (1) CN110727611B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113535499B (zh) * 2021-07-22 2023-10-27 无锡江南计算技术研究所 一种支持多核心共享访问的多类型并存访存流验证方法
CN115618801B (zh) * 2022-12-01 2023-04-07 北京智芯微电子科技有限公司 缓存一致性检验方法、装置及电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101477496A (zh) * 2008-12-29 2009-07-08 北京航空航天大学 基于分布式内存虚拟化的numa结构的实现方法
CN102880537A (zh) * 2012-09-07 2013-01-16 浪潮电子信息产业股份有限公司 一种Cache一致性协议软件模拟验证方法
CN104407995A (zh) * 2014-11-28 2015-03-11 上海兆芯集成电路有限公司 基于缓存一致性的控制系统和方法
CN105446840A (zh) * 2015-11-24 2016-03-30 无锡江南计算技术研究所 一种Cache一致性极限测试方法
CN109885905A (zh) * 2019-01-29 2019-06-14 北京中科微电子技术有限公司 一种提高数字电路功能验证效率的验证系统
CN110147915A (zh) * 2018-02-11 2019-08-20 陕西爱尚物联科技有限公司 一种资源配置的方法及其系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3618529B2 (ja) * 1997-11-04 2005-02-09 富士通株式会社 ディスクアレイ装置
US20040071139A1 (en) * 2002-10-10 2004-04-15 Burnett Charles James Method and apparatus for efficient administration of memory resources in a data network tester
CN101446987B (zh) * 2007-11-27 2011-12-14 上海高性能集成电路设计中心 一种用于多核处理器Cache一致性实物验证的装置
CN105302055B (zh) * 2015-11-09 2018-08-14 北京工业大学 一种工业控制系统中可编程逻辑控制器的安全监控系统及方法
US10303899B2 (en) * 2016-08-11 2019-05-28 Intel Corporation Secure public cloud with protected guest-verified host control
CN109062613B (zh) * 2018-06-01 2020-08-28 杭州中天微系统有限公司 多核互联二级缓存访问验证方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101477496A (zh) * 2008-12-29 2009-07-08 北京航空航天大学 基于分布式内存虚拟化的numa结构的实现方法
CN102880537A (zh) * 2012-09-07 2013-01-16 浪潮电子信息产业股份有限公司 一种Cache一致性协议软件模拟验证方法
CN104407995A (zh) * 2014-11-28 2015-03-11 上海兆芯集成电路有限公司 基于缓存一致性的控制系统和方法
CN105446840A (zh) * 2015-11-24 2016-03-30 无锡江南计算技术研究所 一种Cache一致性极限测试方法
CN110147915A (zh) * 2018-02-11 2019-08-20 陕西爱尚物联科技有限公司 一种资源配置的方法及其系统
CN109885905A (zh) * 2019-01-29 2019-06-14 北京中科微电子技术有限公司 一种提高数字电路功能验证效率的验证系统

Also Published As

Publication number Publication date
CN110727611A (zh) 2020-01-24

Similar Documents

Publication Publication Date Title
US10089425B2 (en) Resource mapping in a hardware emulation environment
CN102508753B (zh) Ip核验证系统
US9501408B2 (en) Efficient validation of coherency between processor cores and accelerators in computer systems
US20130024646A1 (en) Method and Simulator for Simulating Multiprocessor Architecture Remote Memory Access
CN100565472C (zh) 一种适用于多处理器核系统芯片的调试方法
US20150095008A1 (en) Extension cache coherence protocol-based multi-level coherency domain simulation verification and test method
US20090248390A1 (en) Trace debugging in a hardware emulation environment
CN114580344B (zh) 测试激励生成方法、验证方法、验证系统及相关设备
CA1246743A (en) Array for simulating computer functions for large computer systems
JP7405773B2 (ja) マルチコア相互接続のレベル2キャッシュへのアクセスを検証する方法
JP2021081413A (ja) 人工知能チップのテスト方法、装置、機器、及び記憶媒体
CN110727611B (zh) 一种带状态监测的可配置一致性验证系统
EP3758317A1 (en) Method, apparatus, electronic device and computer readable storage medium for supporting communication among chips
CN113486625B (zh) 芯片的验证方法与验证系统
JP5628411B2 (ja) 半導体装置
CN116795728B (zh) 一种基于uvm的多核缓存一致性验证模组及方法
US7954012B2 (en) Hierarchical debug information collection
CN116257037B (zh) 控制器测试程序的生成方法、系统、电子设备及存储介质
CN116757132A (zh) 异构多核fpga电路架构、构建方法及数据传输方法
CN116167310A (zh) 一种验证多核心处理器缓存一致性的方法及装置
CN114238182B (zh) 一种处理器、数据处理方法和装置
CN115656788A (zh) 一种芯片测试系统、方法、设备及存储介质
Grambow et al. Dockerization impacts in database performance benchmarking
Manian et al. OMB-UM: Design, implementation, and evaluation of CUDA unified memory aware MPI benchmarks
CN110413464B (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
GR01 Patent grant
GR01 Patent grant