CN114428749A - 用于验证cache的检测器 - Google Patents
用于验证cache的检测器 Download PDFInfo
- Publication number
- CN114428749A CN114428749A CN202210357508.1A CN202210357508A CN114428749A CN 114428749 A CN114428749 A CN 114428749A CN 202210357508 A CN202210357508 A CN 202210357508A CN 114428749 A CN114428749 A CN 114428749A
- Authority
- CN
- China
- Prior art keywords
- information
- tag
- cache
- updating
- verified
- 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/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种用于验证cache的检测器,包括:信息获取模块:用于从待验证的cache的所有外围接口获取外围接口信息,外围接口信息包括请求信息,以及在待验证的cache处理请求信息的过程中,在待验证的cache的tag模块接口的tag更新点获取对应的tag更新信息,并将interface信息和对应的tag更新信息发送给预测模块;tag数组:用于存储tag验证信息;预测模块:用于基于interface信息和对应的tag更新信息更新tag数组中的tag验证信息;还用于在待验证的cache在处理请求信息的过程中,完成tag数组中的tag验证信息更新后,从tag模块接口获取待验证的cache中当前的tag信息,并与当前的tag验证信息进行逐条比对,如果不一致,则生成第一预警信息。本发明提高了cache验证的准确性和效率。
Description
技术领域
本发明涉及芯片技术领域,尤其涉及一种用于验证cache的检测器。
背景技术
在芯片设计过程中,需要对芯片设计进行验证,cache(高速缓冲存储器)是重要组成部分,也是需要验证的一个重要模块。现有技术中,通常从cache的外围接口(interface)获取信息,预测目标数据,并与从cache实际获取的目标数据进行对比,来验证cache的正确性。但是,cache内部包含很多逻辑,仅从最后获取的数据是否准确来验证cache是不够准确的。
例如,当一个请求通过cache获取目标数据时,实际在cache执行过程中,并没有在cache中查询到目标数据,而是从外部memory中获取的,而检测预测的结果应该是直接在cache中获取的,不应该出现miss的情况,但最后获取到的目标数据与预测的目标数据是一致的,显然没有验证出cache存在问题,导致cache验证准确性差。此外,现有技术中即便验证cache存在问题,通常还需要去回溯多个clock查找问题所在,导致cache验证效率低。由此可知,如何提高cache验证的准确性和效率成为亟待解决的技术问题。
发明内容
本发明目的在于,提供一种用于验证cache的检测器,提高了cache验证的准确性和效率。
本发明提供了一种用于验证cache的检测器,包括信息获取模块、预测模块和tag数组,其中,
所述信息获取模块用于从待验证的cache的所有外围接口获取外围接口信息,所述外围接口信息包括请求信息,以及在待验证的cache处理请求信息的过程中,在待验证的cache的tag模块接口的tag更新点获取对应的tag更新信息,并将interface信息和对应的tag更新信息发送给所述预测模块;
所述tag数组用于存储tag验证信息;
所述预测模块用于基于interface信息和对应的tag更新信息更新所述tag数组中的tag验证信息;
所述预测模块用于在待验证的cache在处理请求信息的过程中,完成tag数组中的tag验证信息更新后,通过所述信息获取模块从所述tag模块接口获取待验证的cache中当前的tag信息,并与当前的tag验证信息进行逐条比对,如果不一致,则生成第一预警信息。
本发明与现有技术相比具有明显的优点和有益效果。借由上述技术方案,本发明提供的一种用于验证cache的检测器可达到相当的技术进步性及实用性,并具有产业上的广泛利用价值,其至少具有下列优点:
本发明通过在检测器中设置tag数组,并在待验证的cache对应的tag更新点更新所述tag数组中的tag验证信息,在完成tag数组中的tag验证信息更新后,及时通过所述信息获取模块从所述tag模块接口获取待验证的cache中当前的tag信息,对tag模块中的tag信息进行验证,通过对tag信息的及时验证,提高了cache验证的准确性和效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
附图说明
图1为本发明实施例提供的用于验证cache的检测器进行cache验证的示意图。
具体实施方式
为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的一种用于验证cache的检测器的具体实施方式及其功效,详细说明如后。
根据实施例提供了一种用于验证cache的检测器,如图1所示,包括信息获取模块、预测模块和tag数组,其中,
所述信息获取模块用于从待验证的cache的所有外围接口(interface)获取外围接口信息,所述外围接口信息包括请求信息(request),以及在待验证的cache处理请求信息的过程中,在待验证的cache的tag模块接口的tag更新点获取对应的tag更新信息,并将interface信息和对应的tag更新信息发送给所述预测模块。
所述tag数组用于存储tag验证信息。所述预测模块用于基于interface信息和对应的tag更新信息更新所述tag数组中的tag验证信息。需要说明的是,待验证的cache是基于Verilog生成的RTL设计代码。检测器是基于SystemVerilog生成的检测模块,在检测器中,tag验证信息以数组形式存储。tag验证信息是检测器中与待验证的cache中相同的tag更新策略更得到的tag信息,用于实时验证cache中tag模块是否正确。
所述预测模块用于在待验证的cache在处理请求信息的过程中,完成tag数组中的tag验证信息更新后,通过所述信息获取模块从所述tag模块接口获取待验证的cache中当前的tag信息,并与当前的tag验证信息进行逐条比对,如果不一致,则生成第一预警信息。
作为一种实施例,所述检测器若生成第一预警信息,则触发对待验证的cache的tag模块进行debug(调试)处理。需要说明的是,一个cache在同一时间内只能处理一个请求信息,在处理一个请求信息的过程中,会涉及对tag信息的更新,但所有tag信息的更新在一个cycle中完成,待基于一个请求信息处理的所有tag信息更新完后,与tag验证信息进行比对,能够准确快速地验证tag模块,在tag模块检测出异常时及时预警。
本发明实施例通过在检测器中设置tag数组,并在待验证的cache对应的tag更新点更新所述tag数组中的tag验证信息,在完成tag数组中的tag验证信息更新后,及时通过所述信息获取模块从所述tag模块接口获取待验证的cache中当前的tag信息,对tag模块中的tag信息进行验证,通过对tag信息的及时验证,提高了cache验证的准确性和效率。
作为一种实施例,所述tag模块和所述tag数组均用于存储tag参数,所述tag参数包括地址标识、有效标识、使用标识和处理标识,其中,所述地址标识用于标识cache的data模块中对应存储行的地址信息;所述有效标识用于标识所述对应存储行当前是否有效,所述使用标识用于标识所述对应存储行当前是否处于使用状态;所述处理标识用于标识所述当前存储行是否处于待存储数据状态。
需要说明的是,如果当前存储行未被分配地址,或者被设置为无效状态,则有效标识设置为无效状态标识,如果当前存储行分配有地址,处于有效状态,则有效标识设置为有效状态。作为示例,有效标识设置为1时,表示对应存储行当前为有效状态,有效标识设置为0时,表示对应存储行当前为无效状态。当请求信息在待验证的cache中未查到目标数据时,在cache中分配对应存储行,到memory获取对应存储行的数据,分配好对应存储行至将从memory获取的数据存储至对应存储行的过程处于所述待存储数据状态,处理标识设置为处理状态,除此之外的过程处于未处理状态,作为示例,处理标识设置为1时,表示处理状态,处理标识设置为0时,标识未处理状态。当处理标识设置为1时,以及当处理请求信息时,检测到cache中确定存储有对应的目标数据,并在目标数据所在行进行获取数据的过程中,表示正在使用中,作为示例,使用中的使用表示设置为1,非使用状态设置为0。
需要说明的是,当cache存满后,再向cache中存储数据时,则需要删除部分存储行的内容,再存放新内容,基于地址标识、有效标识、使用标识和处理标识,来确定待删除存储行。
作为一种实施例,所述tag更新点包括第一tag更新点、第二tag更新点和第三tag更新点,所述第一tag更新点对应的第一tag更新信息为更新地址标识和/或有效标识的信息,所述第二tag更新点对应的第二tag更新信息为更新使用标识的信息,所述第三tag更新点对应的第三tag更新信息为更新处理标识的信息。需要说明的是,第一tag更新信息、第二tag更新信息、第三tag更新信息的具体更新内容根据具体处理过程来确定。
作为一种实施例,所述检测器中设置有与待验证的cache的相同或等同的tag更新逻辑,在待验证的cache处理请求信息过程中:
若检测到当前cache中不存在所述请求信息对应的目标数据时,则在cache中为所述请求信息分配一个待存储行,触发所述第一tag更新点,向所述信息获取模块发送第一tag更新信息,所述预测模块基于请求信息和第一tag更新信息按照所述tag更新逻辑更新所述tag数组中待存储行的地址标识和/或有效标识;
在cache中为所述请求信息分配一个待存储行之后,待验证的cache从memory中获取目标数据,当所获取的目标数据向所述待存储行存储时,触发所述第三tag更新点,所述预测模块基于请求信息和第三tag更新信息按照所述tag更新逻辑更新所述tag数组中目标存储行的处理标识;
若当前cache中存在目标数据,则确定对应的目标存储行,触发所述第二tag更新点,向所述信息获取模块发送第二tag更新信息,所述预测模块基于请求信息和第二tag更新信息按照所述tag更新逻辑更新所述tag数组中目标存储行的使用标识。
需要说明的是,检测器中的tag数组的更新与待验证的cache中的tag模块同步更新,待验证的cache中的tag模块中的更新过程直接采用现有tag更新技术实现即可,在此不再赘述。
作为一种实施例,所述检测器还包括data数组,所述data数组用于存储data验证信息,所述外围接口信息还包括data信息,所述预测模块还用于基于所述data信息更新所述data数组。需要说明的是,当cache向memory获取数据时,当数据达到cache的外围接口,即被检测器的信息获取模块获取到,对应存储至data数组中。data数组和cache中的data模块也是相对应的,同步更新,data数组用于验证cache中的data模块是否正确。cache中的data模块和tag模块每一存储行相对应,即tag中存储了每一data模块中存储行对应的tag信息。同理,tag数组中存储了每一data数组中每一存储行数据对应的tag信息。
作为一种实施例,所述预测模块还用于在待验证的cache在处理请求信息的过程中,完成tag数组中的data数组更新完成后,通过信息获取模块从待验证的cachedata模块接口获取当前data信息与当前的data数组进行逐条比对,如果不一致,则生成第二预警信息。所述检测器若生成第二预警信息,则触发对待验证的cache的data模块进行debug处理。
作为一种实施例,所述预测模块还用于基于interface信息和更新后的tag数组、data数组预测待验证的cache的输出信息,所述输出信息为miss或hit,所述预测模块还用于基于interface信息确定待验证的cache对应请求信息的实际处理结果为miss或hit,对比实际处理结果和所述输出信息,若不一致,则生成第三预警信息。需要说明的是,即便cache中的tag模块和date模块均验证通过,miss或hit的结果也可能不一致,因为在tag模块、data模块到得到输出结果之间还存在cache中的后处理逻辑,通过验证miss或hit,可以及时对cache中的后处理逻辑进行验证。所述检测器若生成第三预警信息,则触发对待验证的cachetag模块之后的逻辑进行debug处理。
本发明实施例所述检测器能够对cache中的处理逻辑、tag模块、data模块进行准确快速验证,实现对整个cache的全面验证,提高了cache验证的准确率和效率。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (10)
1.一种用于验证cache的检测器,其特征在于,
包括信息获取模块、预测模块和tag数组,其中,
所述信息获取模块用于从待验证的cache的所有外围接口获取外围接口信息,所述外围接口信息包括请求信息,以及在待验证的cache处理请求信息的过程中,在待验证的cache的tag模块接口的tag更新点获取对应的tag更新信息,并将interface信息和对应的tag更新信息发送给所述预测模块;
所述tag数组用于存储tag验证信息;
所述预测模块用于基于interface信息和对应的tag更新信息更新所述tag数组中的tag验证信息;
所述预测模块用于在待验证的cache在处理请求信息的过程中,完成tag数组中的tag验证信息更新后,通过所述信息获取模块从所述tag模块接口获取待验证的cache中当前的tag信息,并与当前的tag验证信息进行逐条比对,如果不一致,则生成第一预警信息。
2.根据权利要求1所述的检测器,其特征在于,
所述tag模块和所述tag数组均用于存储tag参数,所述tag参数包括地址标识、有效标识、使用标识和处理标识,其中,所述地址标识用于标识cache的data模块中对应存储行的地址信息;所述有效标识用于标识所述对应存储行当前是否有效;所述使用标识用于标识所述对应存储行当前是否处于使用状态;所述处理标识用于标识所述当前存储行是否处于待存储数据状态。
3.根据权利要求2所述的检测器,其特征在于,
所述tag更新点包括第一tag更新点、第二tag更新点和第三tag更新点,所述第一tag更新点对应的第一tag更新信息为更新地址标识和/或有效标识的信息,所述第二tag更新点对应的第二tag更新信息为更新使用标识的信息,所述第三tag更新点对应的第三tag更新信息为更新处理标识的信息。
4.根据权利要求3所述的检测器,其特征在于,
所述检测器中设置有与待验证的cache的相同或等同的tag更新逻辑,在待验证的cache处理请求信息过程中:
若检测到当前cache中不存在所述请求信息对应的目标数据时,则在cache中为所述请求信息分配一个待存储行,触发所述第一tag更新点,向所述信息获取模块发送第一tag更新信息,所述预测模块基于请求信息和第一tag更新信息按照所述tag更新逻辑更新所述tag数组中待存储行的地址标识和/或有效标识;
在cache中为所述请求信息分配一个待存储行之后,待验证的cache从memory中获取目标数据,当所获取的目标数据向所述待存储行存储时,触发所述第三tag更新点,所述预测模块基于请求信息和第三tag更新信息按照所述tag更新逻辑更新所述tag数组中目标存储行的处理标识;
若当前cache中存在目标数据,则确定对应的目标存储行,触发所述第二tag更新点,向所述信息获取模块发送第二tag更新信息,所述预测模块基于请求信息和第二tag更新信息按照所述tag更新逻辑更新所述tag数组中目标存储行的使用标识。
5.根据权利要求1所述的检测器,其特征在于,
所述检测器若生成第一预警信息,则触发对待验证的cache的tag模块进行debug处理。
6.根据权利要求1所述的检测器,其特征在于,
所述检测器还包括data数组,所述data数组用于存储data验证信息,所述外围接口信息还包括data信息,所述预测模块还用于基于所述data信息更新所述data数组。
7.根据权利要求1所述的检测器,其特征在于,
所述预测模块还用于在待验证的cache在处理请求信息的过程中,完成tag数组中的data数组更新完成后,通过信息获取模块从待验证的cachedata模块接口获取当前data信息与当前的data数组进行逐条比对,如果不一致,则生成第二预警信息。
8.根据权利要求7所述的检测器,其特征在于,
所述检测器若生成第二预警信息,则触发对待验证的cache的data模块进行debug处理。
9.根据权利要求6所述的检测器,其特征在于,
所述预测模块还用于基于interface信息和更新后的tag数组、data数组预测待验证的cache的输出信息,所述输出信息为miss或hit,所述预测模块还用于基于interface信息确定待验证的cache对应请求信息的实际处理结果为miss或hit,对比实际处理结果和所述输出信息,若不一致,则生成第三预警信息。
10.根据权利要求9所述的检测器,其特征在于,
所述检测器若生成第三预警信息,则触发对待验证的cachetag模块之后的逻辑进行debug处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210357508.1A CN114428749B (zh) | 2022-04-07 | 2022-04-07 | 用于验证cache的检测器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210357508.1A CN114428749B (zh) | 2022-04-07 | 2022-04-07 | 用于验证cache的检测器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114428749A true CN114428749A (zh) | 2022-05-03 |
CN114428749B CN114428749B (zh) | 2022-06-10 |
Family
ID=81314422
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210357508.1A Active CN114428749B (zh) | 2022-04-07 | 2022-04-07 | 用于验证cache的检测器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114428749B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114637609A (zh) * | 2022-05-20 | 2022-06-17 | 沐曦集成电路(上海)有限公司 | 基于冲突检测的gpu的数据获取系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080201331A1 (en) * | 2007-02-15 | 2008-08-21 | Bjorn Marius Aamodt Eriksen | Systems and Methods for Cache Optimization |
CN102880537A (zh) * | 2012-09-07 | 2013-01-16 | 浪潮电子信息产业股份有限公司 | 一种Cache一致性协议软件模拟验证方法 |
CN103150264A (zh) * | 2013-01-18 | 2013-06-12 | 浪潮电子信息产业股份有限公司 | 一种基于扩展型Cache Coherence协议的多级一致性域仿真验证和测试方法 |
CN106933750A (zh) * | 2015-12-31 | 2017-07-07 | 北京国睿中数科技股份有限公司 | 用于多级缓存中数据及状态的验证方法及装置 |
CN106933749A (zh) * | 2015-12-31 | 2017-07-07 | 北京国睿中数科技股份有限公司 | 应用于缓存验证系统的地址随机方法和装置 |
-
2022
- 2022-04-07 CN CN202210357508.1A patent/CN114428749B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080201331A1 (en) * | 2007-02-15 | 2008-08-21 | Bjorn Marius Aamodt Eriksen | Systems and Methods for Cache Optimization |
CN102880537A (zh) * | 2012-09-07 | 2013-01-16 | 浪潮电子信息产业股份有限公司 | 一种Cache一致性协议软件模拟验证方法 |
CN103150264A (zh) * | 2013-01-18 | 2013-06-12 | 浪潮电子信息产业股份有限公司 | 一种基于扩展型Cache Coherence协议的多级一致性域仿真验证和测试方法 |
CN106933750A (zh) * | 2015-12-31 | 2017-07-07 | 北京国睿中数科技股份有限公司 | 用于多级缓存中数据及状态的验证方法及装置 |
CN106933749A (zh) * | 2015-12-31 | 2017-07-07 | 北京国睿中数科技股份有限公司 | 应用于缓存验证系统的地址随机方法和装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114637609A (zh) * | 2022-05-20 | 2022-06-17 | 沐曦集成电路(上海)有限公司 | 基于冲突检测的gpu的数据获取系统 |
CN114637609B (zh) * | 2022-05-20 | 2022-08-12 | 沐曦集成电路(上海)有限公司 | 基于冲突检测的gpu的数据获取系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114428749B (zh) | 2022-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103365776B (zh) | 基于确定性重放的并行系统弱一致性的验证方法和系统 | |
CN105930242B (zh) | 一种支持精确访存检测的多核处理器随机验证方法及装置 | |
CN110875851B (zh) | 地下电缆故障预警方法和装置 | |
CN105138461A (zh) | 一种应用程序的接口测试方法及装置 | |
CN109062613B (zh) | 多核互联二级缓存访问验证方法 | |
CN109189405A (zh) | 一种验证程序Flash数据一致性的方法及系统 | |
US7343266B2 (en) | System and method for metadata verification during measurement processing | |
CN114428749B (zh) | 用于验证cache的检测器 | |
CN110868241A (zh) | 基于多模型的地下电缆故障预警方法和装置 | |
CN110245028B (zh) | IoT-MQ的消息存储方法、装置、计算机设备和存储介质 | |
TW201539462A (zh) | 用於測試及組裝記憶體模組之系統及方法 | |
US7991807B2 (en) | Method and system for garbage collection | |
CN115563914A (zh) | 验证方法及装置、计算设备、计算机可读存储介质 | |
CN102789407B (zh) | 内存块有效性检测方法 | |
CN111238320B (zh) | 一种电子雷管的现场检测方法及装置 | |
US10210103B2 (en) | Method and device for checking validity of memory access | |
CN106339270B (zh) | 数据校验方法及装置 | |
CN110032341A (zh) | 一种模组的数据处理方法、装置、电子设备及介质 | |
CN112666389B (zh) | 双芯智能电表双芯交互方法、装置、双芯智能电表和介质 | |
CN114648696A (zh) | 一种更新管理定位地图的方法、系统、装置和介质 | |
CN114564903A (zh) | 一种芯片仿真设计验证方法、装置、设备及介质 | |
CN114237715A (zh) | 多核访存指令验证系统与方法 | |
CN116643945B (zh) | 一种二级缓存的数据检测方法、系统及计算机设备 | |
CN103164290A (zh) | 应用内存管理方法和装置 | |
CN114371683B (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 |