一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于验证cache的检测器的制作方法

2022-05-06 11:10:29 来源:中国专利 TAG:


1.本发明涉及芯片技术领域,尤其涉及一种用于验证cache的检测器。


背景技术:

2.在芯片设计过程中,需要对芯片设计进行验证,cache(高速缓冲存储器)是重要组成部分,也是需要验证的一个重要模块。现有技术中,通常从cache的外围接口(interface)获取信息,预测目标数据,并与从cache实际获取的目标数据进行对比,来验证cache的正确性。但是,cache内部包含很多逻辑,仅从最后获取的数据是否准确来验证cache是不够准确的。
3.例如,当一个请求通过cache获取目标数据时,实际在cache执行过程中,并没有在cache中查询到目标数据,而是从外部memory中获取的,而检测预测的结果应该是直接在cache中获取的,不应该出现miss的情况,但最后获取到的目标数据与预测的目标数据是一致的,显然没有验证出cache存在问题,导致cache验证准确性差。此外,现有技术中即便验证cache存在问题,通常还需要去回溯多个clock查找问题所在,导致cache验证效率低。由此可知,如何提高cache验证的准确性和效率成为亟待解决的技术问题。


技术实现要素:

4.本发明目的在于,提供一种用于验证cache的检测器,提高了cache验证的准确性和效率。
5.本发明提供了一种用于验证cache的检测器,包括信息获取模块、预测模块和tag数组,其中,所述信息获取模块用于从待验证的cache的所有外围接口获取外围接口信息,所述外围接口信息包括请求信息,以及在待验证的cache处理请求信息的过程中,在待验证的cache的tag模块接口的tag更新点获取对应的tag更新信息,并将interface信息和对应的tag更新信息发送给所述预测模块;所述tag数组用于存储tag验证信息;所述预测模块用于基于interface信息和对应的tag更新信息更新所述tag数组中的tag验证信息;所述预测模块用于在待验证的cache在处理请求信息的过程中,完成tag数组中的tag验证信息更新后,通过所述信息获取模块从所述tag模块接口获取待验证的cache中当前的tag信息,并与当前的tag验证信息进行逐条比对,如果不一致,则生成第一预警信息。
6.本发明与现有技术相比具有明显的优点和有益效果。借由上述技术方案,本发明提供的一种用于验证cache的检测器可达到相当的技术进步性及实用性,并具有产业上的广泛利用价值,其至少具有下列优点:本发明通过在检测器中设置tag数组,并在待验证的cache对应的tag更新点更新所述tag数组中的tag验证信息,在完成tag数组中的tag验证信息更新后,及时通过所述信
息获取模块从所述tag模块接口获取待验证的cache中当前的tag信息,对tag模块中的tag信息进行验证,通过对tag信息的及时验证,提高了cache验证的准确性和效率。
7.上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
附图说明
8.图1为本发明实施例提供的用于验证cache的检测器进行cache验证的示意图。
具体实施方式
9.为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的一种用于验证cache的检测器的具体实施方式及其功效,详细说明如后。
10.根据实施例提供了一种用于验证cache的检测器,如图1所示,包括信息获取模块、预测模块和tag数组,其中,所述信息获取模块用于从待验证的cache的所有外围接口(interface)获取外围接口信息,所述外围接口信息包括请求信息(request),以及在待验证的cache处理请求信息的过程中,在待验证的cache的tag模块接口的tag更新点获取对应的tag更新信息,并将interface信息和对应的tag更新信息发送给所述预测模块。
11.所述tag数组用于存储tag验证信息。所述预测模块用于基于interface信息和对应的tag更新信息更新所述tag数组中的tag验证信息。需要说明的是,待验证的cache是基于verilog生成的rtl设计代码。检测器是基于systemverilog生成的检测模块,在检测器中,tag验证信息以数组形式存储。tag验证信息是检测器中与待验证的cache中相同的tag更新策略更得到的tag信息,用于实时验证cache中tag模块是否正确。
12.所述预测模块用于在待验证的cache在处理请求信息的过程中,完成tag数组中的tag验证信息更新后,通过所述信息获取模块从所述tag模块接口获取待验证的cache中当前的tag信息,并与当前的tag验证信息进行逐条比对,如果不一致,则生成第一预警信息。
13.作为一种实施例,所述检测器若生成第一预警信息,则触发对待验证的cache的tag模块进行debug(调试)处理。需要说明的是,一个cache在同一时间内只能处理一个请求信息,在处理一个请求信息的过程中,会涉及对tag信息的更新,但所有tag信息的更新在一个cycle中完成,待基于一个请求信息处理的所有tag信息更新完后,与tag验证信息进行比对,能够准确快速地验证tag模块,在tag模块检测出异常时及时预警。
14.本发明实施例通过在检测器中设置tag数组,并在待验证的cache对应的tag更新点更新所述tag数组中的tag验证信息,在完成tag数组中的tag验证信息更新后,及时通过所述信息获取模块从所述tag模块接口获取待验证的cache中当前的tag信息,对tag模块中的tag信息进行验证,通过对tag信息的及时验证,提高了cache验证的准确性和效率。
15.作为一种实施例,所述tag模块和所述tag数组均用于存储tag参数,所述tag参数包括地址标识、有效标识、使用标识和处理标识,其中,所述地址标识用于标识cache的data模块中对应存储行的地址信息;所述有效标识用于标识所述对应存储行当前是否有效,所
述使用标识用于标识所述对应存储行当前是否处于使用状态;所述处理标识用于标识所述当前存储行是否处于待存储数据状态。
16.需要说明的是,如果当前存储行未被分配地址,或者被设置为无效状态,则有效标识设置为无效状态标识,如果当前存储行分配有地址,处于有效状态,则有效标识设置为有效状态。作为示例,有效标识设置为1时,表示对应存储行当前为有效状态,有效标识设置为0时,表示对应存储行当前为无效状态。当请求信息在待验证的cache中未查到目标数据时,在cache中分配对应存储行,到memory获取对应存储行的数据,分配好对应存储行至将从memory获取的数据存储至对应存储行的过程处于所述待存储数据状态,处理标识设置为处理状态,除此之外的过程处于未处理状态,作为示例,处理标识设置为1时,表示处理状态,处理标识设置为0时,标识未处理状态。当处理标识设置为1时,以及当处理请求信息时,检测到cache中确定存储有对应的目标数据,并在目标数据所在行进行获取数据的过程中,表示正在使用中,作为示例,使用中的使用表示设置为1,非使用状态设置为0。
17.需要说明的是,当cache存满后,再向cache中存储数据时,则需要删除部分存储行的内容,再存放新内容,基于地址标识、有效标识、使用标识和处理标识,来确定待删除存储行。
18.作为一种实施例,所述tag更新点包括第一tag更新点、第二tag更新点和第三tag更新点,所述第一tag更新点对应的第一tag更新信息为更新地址标识和/或有效标识的信息,所述第二tag更新点对应的第二tag更新信息为更新使用标识的信息,所述第三tag更新点对应的第三tag更新信息为更新处理标识的信息。需要说明的是,第一tag更新信息、第二tag更新信息、第三tag更新信息的具体更新内容根据具体处理过程来确定。
19.作为一种实施例,所述检测器中设置有与待验证的cache的相同或等同的tag更新逻辑,在待验证的cache处理请求信息过程中:若检测到当前cache中不存在所述请求信息对应的目标数据时,则在cache中为所述请求信息分配一个待存储行,触发所述第一tag更新点,向所述信息获取模块发送第一tag更新信息,所述预测模块基于请求信息和第一tag更新信息按照所述tag更新逻辑更新所述tag数组中待存储行的地址标识和/或有效标识;在cache中为所述请求信息分配一个待存储行之后,待验证的cache从memory中获取目标数据,当所获取的目标数据向所述待存储行存储时,触发所述第三tag更新点,所述预测模块基于请求信息和第三tag更新信息按照所述tag更新逻辑更新所述tag数组中目标存储行的处理标识;若当前cache中存在目标数据,则确定对应的目标存储行,触发所述第二tag更新点,向所述信息获取模块发送第二tag更新信息,所述预测模块基于请求信息和第二tag更新信息按照所述tag更新逻辑更新所述tag数组中目标存储行的使用标识。
20.需要说明的是,检测器中的tag数组的更新与待验证的cache中的tag模块同步更新,待验证的cache中的tag模块中的更新过程直接采用现有tag更新技术实现即可,在此不再赘述。
21.作为一种实施例,所述检测器还包括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信息。
22.作为一种实施例,所述预测模块还用于在待验证的cache在处理请求信息的过程中,完成tag数组中的data数组更新完成后,通过信息获取模块从待验证的cachedata模块接口获取当前data信息与当前的data数组进行逐条比对,如果不一致,则生成第二预警信息。所述检测器若生成第二预警信息,则触发对待验证的cache的data模块进行debug处理。
23.作为一种实施例,所述预测模块还用于基于interface信息和更新后的tag数组、data数组预测待验证的cache的输出信息,所述输出信息为miss或hit,所述预测模块还用于基于interface信息确定待验证的cache对应请求信息的实际处理结果为miss或hit,对比实际处理结果和所述输出信息,若不一致,则生成第三预警信息。需要说明的是,即便cache中的tag模块和date模块均验证通过,miss或hit的结果也可能不一致,因为在tag模块、data模块到得到输出结果之间还存在cache中的后处理逻辑,通过验证miss或hit,可以及时对cache中的后处理逻辑进行验证。所述检测器若生成第三预警信息,则触发对待验证的cachetag模块之后的逻辑进行debug处理。
24.本发明实施例所述检测器能够对cache中的处理逻辑、tag模块、data模块进行准确快速验证,实现对整个cache的全面验证,提高了cache验证的准确率和效率。
25.以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献