CN117520208A - 一种对tcam的时钟门控功能的验证方法、装置和计算设备 - Google Patents
一种对tcam的时钟门控功能的验证方法、装置和计算设备 Download PDFInfo
- Publication number
- CN117520208A CN117520208A CN202311753267.3A CN202311753267A CN117520208A CN 117520208 A CN117520208 A CN 117520208A CN 202311753267 A CN202311753267 A CN 202311753267A CN 117520208 A CN117520208 A CN 117520208A
- Authority
- CN
- China
- Prior art keywords
- gating
- tcam
- area
- reference model
- test case
- 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.)
- Pending
Links
- 238000012795 verification Methods 0.000 title claims abstract description 63
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000012360 testing method Methods 0.000 claims abstract description 74
- 230000006870 function Effects 0.000 claims abstract description 47
- 230000000630 rising effect Effects 0.000 claims description 9
- 238000010606 normalization Methods 0.000 abstract description 6
- 238000001514 detection method Methods 0.000 abstract description 2
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000004088 simulation Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 208000001613 Gambling Diseases 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- 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/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请涉及内存检测技术领域,尤其涉及一种对TCAM的时钟门控功能的验证方法、装置、计算设备和可读存储介质。方法包括:获取测试用例,所述测试用例包括对gating区执行的预设操作;使TCAM的时钟门控响应所述测试用例,对gating区执行所述预设操作;使参考模型响应所述测试用例,并输出结果;所述参考模型为对应所述TCAM的参考模型;根据所述参考模型的输出结果对所述使TCAM的执行结果进行验证。本申请通过能够应用于不同TCAM的一套测试用例和参考模型实现归一化验证,能够减少工作量、提高验证的效率,减少漏验、错验,保证验证的可靠性和准确性。
Description
技术领域
本发明涉及内存检测技术领域,尤其涉及一种对TCAM的时钟门控功能的验证方法、装置、计算设备和可读存储介质。
背景技术
三态内容寻址存储器(Ternary Content Addressable Memory,TCAM)是一种用于高速查找的存储器,通常用于网络设备中的路由表和交换机中的地址表。为了提高TCAM的功耗效率,可以使用clock gating技术来减少不必要的时钟开销。
在TCAM中,时钟门控(Clock Gating)验证是一项关键的技术。它通过控制时钟信号的传输来实现功耗的优化。通过在不需要进行读写操作时关闭时钟信号,可以有效降低TCAM的功耗,这对于功耗敏感的应用场景,如移动设备、嵌入式系统等是非常重要的优化手段。
然而,由于TCAM通常具有复杂的读写逻辑,对于时钟门控的验证要求也较为复杂和严格,工作量大。因此,亟需提供一种对TCAM的时钟门控功能的验证方法,能够减少工作量、提高验证的效率。
发明内容
鉴于现有技术的以上问题,本申请提供一种对TCAM的时钟门控功能的验证方法、装置、计算设备和可读存储介质,其通过归一化验证能够减少工作量、提高验证的效率,保证验证的可靠性和准确性。
为达到上述目的,本申请第一方面提供一种对TCAM的时钟门控功能的验证方法,包括:
获取测试用例,所述测试用例包括对gating区执行的预设操作;
使TCAM的时钟门控响应所述测试用例,对gating区执行所述预设操作;
使参考模型响应所述测试用例,并输出结果;所述参考模型为对应所述TCAM的参考模型;
根据所述参考模型的输出结果对所述使TCAM的执行结果进行验证。
本实施方式中,通过能够应用于不同TCAM的一套测试用例和参考模型实现归一化验证,能够减少工作量、提高验证的效率,减少漏验、错验,保证验证的可靠性和准确性。
作为第一方面的一种可能的实现方式,还包括:在所述参考模型中配置至少一Task,所述Task用于确定当前所有的TCAM中受到了时钟门控的条目。
本实施方式中,通过在参考模型中增加Task,用于解析和确定当前所有的TCAM中,哪些条目受到了时钟门控的影响。通过对该任务的扩展,能够适应当前不同类型的TCAM,以及未来可能出现的不同TCAM的时钟门控情况,同时做到最小的修改,能够减少工作量,提高工作效率。
作为第一方面的一种可能的实现方式,所述参考模型的至少一TCAM的条目中包括一标志位,所述标志位用于标志GATING状态;
所述参考模型响应所述测试用例时,根据所述标志位对应的GATING状态执行所述预设操作。
本实施方式中,通过使用标志位来管理GATING状态,可以实现在参考模型对TCAM中的条目进行更细粒度的控制,以适应不同的应用场景和需求。
作为第一方面的一种可能的实现方式,所述GATING状态包括全gating、半gating和不gating;
当所述标志位对应的GATING状态为全gating时,对gating区执行所述预设操作;
当所述标志位对应的GATING状态为半gating时,对半gating区执行所述预设操作;
当所述标志位的对应GATING状态为不gating时,对非gating区执行所述预设操作。
作为第一方面的一种可能的实现方式,所述对gating区执行所述预设操作包括至少以下之一:
读写gating区;搬移gating区;初始化gating区;读写默认表项区;查找。
作为第一方面的一种可能的实现方式,对所述半gating区执行预设操作,包括至少以下之一:
读写gating区;搬移gating区;初始化gating区;查找gating区;读写非gating区;搬移非gating区;初始化非gating区;读写默认表项区;查找非gating区;搬移从gating区到非gating区;搬移从非gating区到gating区。
作为第一方面的一种可能的实现方式,所述对非gating区执行预设操作,包括至少以下之一:读、写和查找。
本申请第二方面提供一种对TCAM的时钟门控功能的验证装置,包括:
获取模块,用于获取测试用例,所述测试用例包括对gating区执行的预设操作;
执行模块,用于使TCAM的时钟门控响应所述测试用例,对gating区执行所述预设操作;
所述执行模块,还用于使参考模型响应所述测试用例,并输出结果;所述参考模型为对应所述TCAM的参考模型;
验证模块,用于根据所述参考模型的输出结果对所述使TCAM的执行结果进行验证。
本申请第三方面提供一种计算设备,包括:
处理器,以及
存储器,其上存储有程序指令,所述程序指令当被所述处理器执行时使得所述处理器执行如上所述的对TCAM的时钟门控功能的验证方法。
本申请第四方面一种计算机可读存储介质,其上存储有程序指令,所述程序指令当被计算机执行时使得所述计算机执行如上所述的对TCAM的时钟门控功能的验证方法。
本发明的这些和其它方面在以下(多个)实施例的描述中会更加简明易懂。
附图说明
以下参照附图来进一步说明本发明的各个特征和各个特征之间的联系。附图均为示例性的,一些特征并不以实际比例示出,并且一些附图中可能省略了本申请所涉及领域的惯常的且对于本申请非必要的特征,或是额外示出了对于本申请非必要的特征,附图所示的各个特征的组合并不用以限制本申请。另外,在本说明书全文中,相同的附图标记所指代的内容也是相同的。具体的附图说明如下:
图1是本申请实施例提供的时钟门控的电路示意图;
图2是本申请实施例提供的对TCAM的时钟门控功能的验证方法的流程示意图;
图3是本申请第二实施例提供的对TCAM的时钟门控功能的验证方法的流程示意图;
图4是本申请实施例提供的对TCAM的时钟门控功能的验证装置的结构示意图;
图5是本申请实施例提供的计算设备的结构性示意性图。
具体实施方式
下面结合附图并举实施例,对本申请提供的技术方案作进一步说明。应理解,本申请实施例中提供的系统结构和业务场景主要是为了说明本申请的技术方案的可能的实施方式,不应被解读为对本申请的技术方案的唯一限定。本领域普通技术人员可知,随着系统结构的演进和新业务场景的出现,本申请提供的技术方案对类似技术问题同样适用。
应理解,本申请实施例提供的对TCAM的时钟门控功能的验证方案,包括对TCAM的时钟门控功能的验证方法、装置、计算设备及计算机可读存储介质等。由于这些技术方案解决问题的原理相同或相似,在如下具体实施例的介绍中,某些重复之处可能不再赘述,但应视为这些具体实施例之间已有相互引用,可以相互结合。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。如有不一致,以本说明书中所说明的含义或者根据本说明书中记载的内容得出的含义为准。另外,本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。为了准确地对本申请中的技术内容进行叙述,以及为了准确地理解本发明,在对具体实施方式进行说明之前先对本说明书中所使用的术语给出如下的解释说明或定义:
1)时钟门控(Clock Gating):是一种通过控制时钟信号的传递,使某些模块或电路在不活动或无需工作时进入低功耗状态的技术。如图1所示的时钟门控的电路示意图,将控制信号(EN)直接与时钟信号(CLK)进行与操作,以完成门控。门控后的时钟信号(GCLK)送到寄存器阵列中。这样,当EN为0时,该时钟被关掉。
2)参考模型(Reference Model),本申请中参考模型用于完成与TCAM相同的功能,通过将参考模型的输出与TCAM的输出进行比较,实现对TCAM时钟门控功能的验证。
3)仿真环境:用于提供运行测试用例以访问TCAM的软硬件环境,例如解析测试用例生成相应的作用于TCAM的信号,这些信号如时钟信号、不同时序的读信号、写信号等。
4)Gating区:TCAM中受到时钟门控的区域。
TCAM的Clock Gating功能是一种电源管理技术,TCAM的Clock Gating功能可以用于控制TCAM模块的时钟信号,以便在不需要进行查找或操作时减少TCAM模块的功耗。
本申请提供一种对TCAM的时钟门控功能的验证方法,尤其提供涉及拼接类型的归一化的、通用的Clock Gating验证方法,可以防止出现错验,漏验,保证验证的可靠性和准确性,以及通过通用的验证手段,在验证过程中,不用每个项目重复编写,减少工作量,提高工作效率。
图2是本申请实施方式提供的一种对TCAM的时钟门控功能的验证方法的流程示意图。如图2所示,本实施方式提供的对TCAM的时钟门控功能的验证方法包括以下步骤:
S101:获取测试用例。
该测试用例可以包括针对不同测试场景的输入数据、预期输出、预期操作结果以及验证步骤等内容。同时,需要确保测试用例尽可能覆盖了各种可能的时钟门控情况。另外,获取的测试用例还可以包括考虑各种边界情况和异常情况的数据,以确保TCAM在极端情况下也能正常工作。
该测试用例可以是验证人员根据预期的验证需求编写的,包括对gating区执行的预设操作,以实现TCAM在不同的时钟门控状态下的响应和功能,验证其时钟门控功能是否符合设计要求。
另外,上述测试用例可以作为公共测试用例,在对TCAM进行测试验证时,只需获取上述测试用例即可。并且,针对于特定TCAM进行测试验证时,只需对公共测试用例进行适应性修改即可,有效减少了工作量。
在一些实施方式中,测试用例还可以包括对半gating区和非gating区执行的预设操作。本实施方式中,gating区是TCAM中受到时钟门控的区域,半gating区是TCAM中部分受到时钟门控的区域,非gating区可以是TCAM中未受到时钟门控的区域。
S102:使TCAM的时钟门控响应所述测试用例,对gating区执行所述预设操作。
获取到测试用例后,验证人员可以进行手动配置或通过自动脚本配置等方式,使TCAM的时钟门控响应所述测试用例,对gating区执行预设操作。
具体的,使TCAM的时钟门控响应测试用例包括:将待测试TCAM连接到仿真环境中,可以通过信号线、总线或者其他适配器来实现。仿真环境中包括软件部分的测试框架和硬件部分测试设备。测试设备中包含待测试的TCAM时钟门控电路等。
然后在仿真环境中执行测试用例,通过仿真环境中的虚拟接口进行对待测试TCAM的访问,对gating区执行所述预设操作并记录结果。
其中,对gating区执行预设操作可以包括:
读写gating区:在不同的时钟门控状态下执行读写操作,以验证TCAM在时钟门控的情况下是否能够正确响应读写请求。
搬移gating区:根据测试需求,修改时钟门控逻辑或控制信号,以实现搬移gating区的操作。
初始化gating区:通过特定的寄存器或配置接口,向时钟门控逻辑或功能模块写入初始配置值,将时钟门控状态置于已知的初始状态。例如向特定寄存器写入时钟门控的配置值或者对特定的控制信号执行操作,以模拟时钟门控的启用或禁用情况等。
读写默认表项区:确定默认表项的地址,发起对默认表项区的读写操作操作。
查找操作:在不同的时钟门控状态下执行查找操作,以验证TCAM在时钟门控的情况下是否能够正确响应查找请求。
在一些实施方式中,对半gating区执行预设操作,可以包括读写gating区;搬移gating区;初始化gating区;查找gating区;读写非gating区;搬移非gating区;初始化非gating区;读写默认表项区;查找非gating区;搬移从gating区到非gating区;搬移从非gating区到gating区。
在一些实施方式中,对非gating区执行预设操作,即非gating区的验证操作与不进行时钟门控的TCAM验证相同,可以包括读、写换和查找操作等。
S103:使参考模型响应所述测试用例,并输出结果。
参考模型的TCAM的条目是用来模拟待测试TCAM的条目状态和操作的。在测试用例中,可以通过设置参考模型的TCAM的条目的状态来模拟不同的场景和情况,以验证待测试TCAM的功能是否符合预期。
将上述测试用例作为输入数据,输入参考模型中。该参考模型为对应TCAM的参考模型,本申请中参考模型用于完成与TCAM相同的功能,通过将参考模型的输出与在仿真环境中TCAM的输出结果进行比较,实现对TCAM时钟门控功能的验证。
在一些实施方式中,可以在测试用例中的至少一TCAM的条目中添加一标志位,标志位用于标志GATING状态;以使参考模型响应测试用例时,根据标志位对应的GATING状态执行预设操作。例如,在进行写入操作之前,先设置标志位为GATING状态;在进行读取操作之前,先检查标志位的状态,判断是否可以进行读取。通过这样的操作和验证,可以确保所有的参考模型都可以进行独立的判断,并验证TCAM的时钟门控功能是否正常工作。在本申请实施例中,GATING状态可以包括全gating、半gating和不gating。
当标志位对应的GATING状态为全gating时,参考模型模拟对gating区执行预设操作;
当标志位对应的GATING状态为半gating时,参考模型模拟对半gating区执行预设操作;
当标志位的对应GATING状态为不gating时,参考模型模拟对非gating区执行预设操作。
本实施方式中,通过使用标志位来管理GATING状态,可以实现对参考模型模拟TCAM中进行更细粒度的控制,以适应不同的应用场景和需求。例如,可以根据需要选择性地对TCAM中的条目进行时钟门控验证。
在一些实施方式中,可以在参考模型中配置至少一任务(Task),该任务用于确定测试用例即参考模型模拟的当前所有的TCAM中,受到了时钟门控的条目,用于解析和确定当前模拟的TCAM中,哪些条目受到了时钟门控的影响。通过对该任务的扩展,能够适应当前不同类型的TCAM,以及未来可能出现的不同TCAM的时钟门控情况。同时,只需对该任务进行修改即可适应不同的TCAM测试,做到最小的修改,能够减少工作量,提高工作效率。
在一些实施方式中,上述实施方式提供的测试用例和参考模型可以应用于云办公、协同办公的场景中,对于执行相同类型TCAM验证的任务、或执行验证任务的特定IP的设备,可以直接调用上述测试用例和参考模型,有效提升了工作效率。
S104:根据所述参考模型的输出结果对所述使TCAM的执行结果进行验证。
将参考模型响应测试用例的输出结果,与TCAM在仿真环境中响应所述测试用例的结果进行对比,如果二者一致,则验证通过;否则,验证不通过,需要对TCAM的时钟门控功能进行调试和修复。
另外,还可以基于上述在参考模型中配置的任务(Task),实现自动比对;以及将对比结果进行输出等,进一步减小工作量。
本实施例中,通过能够应用于不同TCAM的一套测试用例和参考模型实现归一化和通用的验证,能够减少工作量、提高验证的效率,减少漏验、错验,保证验证的可靠性和准确性。另外,通过在参考模型中增加任务,能够适应当前不同类型的TCAM,以及未来可能出现的不同TCAM的时钟门控情况,同时做到最小的修改,进一步减少工作量,提高工作效率。
下面结合一具体实施方式,对本申请提供的对TCAM的时钟门控功能的验证方法的实施例进一步进行介绍。图3是本申请第二实施例提供的一种对TCAM的时钟门控功能的验证方法的流程示意图。如图3所示,本实施例以读gating区操作为例,对TCAM的时钟门控功能的验证方法包括以下步骤:
S201:获取case和RM。
测试用例(case):该case可以是验证人员根据预期的验证需求编写的,包括针对不同TCAM、不同测试场景的输入数据、预期输出、预期操作结果以及验证步骤等内容。因此,可以配置公共case,以适应不同的TCAM和不同测试场景。并且,还可以基于该公共case进行修改调整,以用于特定TCAM的验证。
在公共case中,包括了用于标志GATING状态的标志位,以使参考模型响应测试用例时,根据标志位对应的GATING状态执行预设操作,以实现模拟TCAM在不同的时钟门控状态下的响应和功能,验证其时钟门控功能是否符合设计要求。例如,该预设操作为读gating区操作。通过公共case能够应用于不同TCAM的测试验证,不用针对不同TCAM重复编写case。
参考模型(RM):该参考模型为对应待测试的TCAM的参考模型。
可以在参考模型中配置任务(Task),可以模拟受到了时钟门控的影响的条目,以根据需要对TCAM条目进行修改,能够适应当前不同类型的TCAM,以及未来可能出现的不同TCAM的时钟门控情况,同时做到最小的修改。
例如:
task tcam_base_rm::cpu_wr_ds0(intidx,bit[ENTRY_MODEL_HIGH_BIT:0]data,bit[ENTRY_HODEL_HIGH_BIT:0]mask);
///配置Task.
bit[ENTRY_MODEL HIGH_BIT:0]ds0;
`uvm_info("RM_OPT",$psprintf("cpu_wr_ds0 Begin......"),UVM_HIGH);
Bit entry_ingate[bit[IDX_WIDTH-1:0]];
///1for gating,0for no gating
定义了一个名为entry_ingate的数组,数组的大小为IDX_WIDTH,每个元素是一个Bit类型的值。其中,1表示门控(gating),0表示非门控(no gating)。
在一些实施方式中,还可以在参考模型中追加gate条目(门控标志位),让每一条TCAM条目都可以实现独立的gating判断动作。
例如:
if(entry_ingate[idx]==0)begin
while(1)begin
#1;
///检查变量“entry_ingate”的第“idx”位置是否为零(非门控)。如果为零,则进入一个无限循环。
if(this.lookup_flg==1)begin
`uvm_info("RM_OPT",$psprintf("writedse,waitfor lookup_flg:%-h......",lookup_flg),UVM_DEBUG)@(posdge dut_test_top.sys_clk);
end
else begin
///break
在循环中,首先延迟一个时间单位,然后检查变量“lookup_flg”是否为1(门控gating)。如果为1,则使用uvm_info打印一条日志消息,并等待“dut_test_top.sys_clk”的上升沿。否则,执行一个break语句,跳出循环。实现独立的gating判断动作。
本实施方式中,通过配置一套公用的case+RM的结构,能够应用于不同TCAM的测试验证,实现归一化和通用的验证,不用针对不同TCAM重复编写case和RM,有效减少了工作量。
S202:使TCAM的时钟门控响应case。
获取到测试用例后,验证人员可以进行手动配置,或在RM中配置Task通过自动脚本配置等方式,在仿真环境中执行测试用例,通过仿真环境中的虚拟接口对待测试TCAM进行访问,执行读gating区操作。并且,对TCAM的时钟门控响应case执行读gating区操作的结果进行记录。
S203:使RM响应所述case,并输出结果。
将上述case作为输入数据,输入RM中。上述case中包含一读gating区操作。对应的,RM中的gate条目对case进行判断,此时变量“lookup_flg”为1,即门控gating。
然后,RM响应所述case,执行读gating区操作,并且输出读gating区的结果。
S204:根据RM的输出结果对使TCAM的执行结果进行验证。
将参考模型(RM)响应测试用例的输出结果,与TCAM在仿真环境中响应所述测试用例的结果进行对比,如果二者一致,则验证通过;否则,验证不通过,需要对TCAM的时钟门控功能进行调试和修复。
本实施例中,通过能够应用于不同TCAM的一套case+RM的结构,实现归一化和通用的验证,在针对于不同的TCAM进行验证时,只需对参考模型中的任务(Task)进行针对性的修改,提高验证的效率,减少漏验、错验,保证验证的可靠性和准确性,能够减少工作量,提高工作效率。
基于一个发明构思,本申请还提供了一种对TCAM的时钟门控功能的验证装置,如图4所示,图4是本申请实施方式提供的对TCAM的时钟门控功能的验证装置300的结构示意图。该实施例的对TCAM的时钟门控功能的验证装置300具体用于执行上述步骤S101-步骤S104及其中任一可选的示例。具体可参见方法实施例中的详细描述,此处仅简述如下:
对TCAM的时钟门控功能的验证装置300包括:
获取模块301,用于获取测试用例,所述测试用例包括对gating区执行的预设操作;
执行模块302,用于使TCAM的时钟门控响应所述测试用例,对gating区执行所述预设操作;
所述执行模块302,还用于使参考模型响应所述测试用例,并输出结果;所述参考模型为对应所述TCAM的参考模型;
验证模块303,用于根据所述参考模型的输出结果对所述使TCAM的执行结果进行验证。
本实施方式中,通过能够应用于不同TCAM的一套测试用例和参考模型实现归一化验证,能够减少工作量、提高验证的效率,减少漏验、错验,保证验证的可靠性和准确性。
图5是本申请实施例提供的一种计算设备900的结构性示意性图。该计算设备可以作为对TCAM的时钟门控功能的验证装置,执行上述对TCAM的时钟门控功能的验证方法中的各可选实施例,该计算设备可以是终端,也可以是终端内部的芯片或芯片系统。如图5所示,该计算设备900包括:处理器910、存储器920、通信接口930。
应理解,图5所示的计算设备900中的通信接口930可以用于与其他设备之间进行通信,具体可以包括一个或多个收发电路或接口电路。
其中,该处理器910可以与存储器920连接。该存储器920可以用于存储该程序代码和数据。因此,该存储器920可以是处理器910内部的存储单元,也可以是与处理器910独立的外部存储单元,还可以是包括处理器910内部的存储单元和与处理器910独立的外部存储单元的部件。
可选的,计算设备900还可以包括总线。其中,存储器920、通信接口930可以通过总线与处理器910连接。总线可以是外设部件互连标准(PeripheralComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中采用了一条无箭头的线表示,但并不表示仅有一根总线或一种类型的总线。
应理解,在本申请实施例中,该处理器910可以采用中央处理单元(centralprocessing unit,CPU)。该处理器还可以是其它通用处理器、数字信号处理器(digitalsignal processor,DSP)、专用集成电路(application specific integratedcircuit,ASIC)、现成可编程门阵列(field programmable gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。或者该处理器910采用一个或多个集成电路,用于执行相关程序,以实现本申请实施例所提供的技术方案。
该存储器920可以包括只读存储器和随机存取存储器,并向处理器910提供指令和数据。处理器910的一部分还可以包括非易失性随机存取存储器。例如,处理器910还可以存储设备类型的信息。
在计算设备900运行时,所述处理器910执行所述存储器920中的计算机执行指令执行上述方法的任一操作步骤以及其中任一可选的实施例。
应理解,根据本申请实施例的计算设备900可以对应于执行根据本申请各实施例的方法中的相应主体,并且计算设备900中的各个模块的上述和其它操作和/或功能分别为了实现本实施例各方法的相应流程,为了简洁,在此不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时用于执行上述方法,该方法包括上述各个实施例所描述的方案中的至少之一。
本申请实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是,但不限于,电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括、但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。另外,说明书和权利要求书中的词语“第一、第二、第三等”或模块A、模块B、模块C等类似用语,仅用于区别类似的对象,不代表针对对象的特定排序,可以理解地,在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
在上述的描述中,所涉及的表示步骤的标号,如S110、S120……等,并不表示一定会按此步骤执行,在允许的情况下可以互换前后步骤的顺序,或同时执行。
说明书和权利要求书中使用的术语“包括”不应解释为限制于其后列出的内容;它不排除其它的元件或步骤。因此,其应当诠释为指定所提到的所述特征、整体、步骤或部件的存在,但并不排除存在或添加一个或更多其它特征、整体、步骤或部件及其组群。因此,表述“包括装置A和B的设备”不应局限为仅由部件A和B组成的设备。
本说明书中提到的“一个实施例”或“实施例”意味着与该实施例结合描述的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在本说明书各处出现的用语“在一个实施例中”或“在实施例中”并不一定都指同一实施例,但可以指同一实施例。此外,在一个或多个实施例中,能够以任何适当的方式组合各特定特征、结构或特性,如从本公开对本领域的普通技术人员显而易见的那样。
注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,均属于本申请保护范畴。
Claims (10)
1.一种对TCAM的时钟门控功能的验证方法,其特征在于,包括:
获取测试用例,所述测试用例包括对gating区执行的预设操作;
使TCAM的时钟门控响应所述测试用例,对gating区执行所述预设操作;
使参考模型响应所述测试用例,并输出结果;所述参考模型为对应所述TCAM的参考模型;
根据所述参考模型的输出结果对所述使TCAM的执行结果进行验证。
2.根据权利要求1所述的方法,其特征在于,还包括:在所述参考模型中配置至少一Task,所述Task用于确定当前所有的TCAM中受到了时钟门控的条目。
3.根据权利要求1所述的方法,其特征在于,所述参考模型的至少一TCAM的条目中包括一标志位,所述标志位用于标志GATING状态;
所述参考模型响应所述测试用例时,根据所述标志位对应的GATING状态执行所述预设操作。
4.根据权利要求3所述的方法,其特征在于,所述GATING状态包括全gating、半gating和不gating;
当所述标志位对应的GATING状态为全gating时,对gating区执行所述预设操作;
当所述标志位对应的GATING状态为半gating时,对半gating区执行所述预设操作;
当所述标志位的对应GATING状态为不gating时,对非gating区执行所述预设操作。
5.根据权利要求4所述的方法,其特征在于,所述对gating区执行所述预设操作包括至少以下之一:
读写gating区;搬移gating区;初始化gating区;读写默认表项区;查找。
6.根据权利要求4所述的方法,其特征在于,对所述半gating区执行所述预设操作,包括至少以下之一:
读写gating区;搬移gating区;初始化gating区;查找gating区;读写非gating区;搬移非gating区;初始化非gating区;读写默认表项区;查找非gating区;搬移从gating区到非gating区;搬移从非gating区到gating区。
7.根据权利要求4所述的方法,其特征在于,对所述非gating区执行所述预设操作,包括至少以下之一:读;写;查找。
8.一种对TCAM的时钟门控功能的验证装置,其特征在于,包括:
获取模块,用于获取测试用例,所述测试用例包括对gating区执行的预设操作;
执行模块,用于使TCAM的时钟门控响应所述测试用例,对gating区执行所述预设操作;
所述执行模块,还用于使参考模型响应所述测试用例,并输出结果;所述参考模型为对应所述TCAM的参考模型;
验证模块,用于根据所述参考模型的输出结果对所述使TCAM的执行结果进行验证。
9.一种计算设备,其特征在于,包括:
处理器,以及
存储器,其上存储有程序指令,所述程序指令当被所述处理器执行时使得所述处理器执行权利要求1至7任意一项所述的对TCAM的时钟门控功能的验证方法。
10.一种计算机可读存储介质,其特征在于,其上存储有程序指令,所述程序指令当被计算机执行时使得所述计算机执行权利要求1至7任一项所述的对TCAM的时钟门控功能的验证方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311753267.3A CN117520208A (zh) | 2023-12-19 | 2023-12-19 | 一种对tcam的时钟门控功能的验证方法、装置和计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311753267.3A CN117520208A (zh) | 2023-12-19 | 2023-12-19 | 一种对tcam的时钟门控功能的验证方法、装置和计算设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117520208A true CN117520208A (zh) | 2024-02-06 |
Family
ID=89764657
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311753267.3A Pending CN117520208A (zh) | 2023-12-19 | 2023-12-19 | 一种对tcam的时钟门控功能的验证方法、装置和计算设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117520208A (zh) |
-
2023
- 2023-12-19 CN CN202311753267.3A patent/CN117520208A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7536662B2 (en) | Method for recognizing and verifying FIFO structures in integrated circuit designs | |
US10209306B2 (en) | Methods and systems for generating functional test patterns for manufacture test | |
US8595680B1 (en) | Constrained random error injection for functional verification | |
CN113779912B (zh) | 一种芯片验证系统、方法、装置、电子设备及存储介质 | |
CN115146568A (zh) | 一种基于uvm的芯片验证系统及验证方法 | |
US20070067150A1 (en) | Method and apparatus to provide alternative stimulus to signals internal to a model actively running on a logic simulation hardware emulator | |
CN112925524A (zh) | 一种检测驱动程序中不安全直接存储器访问的方法及装置 | |
CN117112447B (zh) | 一种数据传输方法、装置、电子设备及可读存储介质 | |
CN117076337B (zh) | 一种数据传输方法、装置、电子设备及可读存储介质 | |
US9600616B1 (en) | Assuring chip reliability with automatic generation of drivers and assertions | |
US10929584B1 (en) | Environmental modification testing for design correctness with formal verification | |
CN117520208A (zh) | 一种对tcam的时钟门控功能的验证方法、装置和计算设备 | |
CN112363875B (zh) | 一种系统缺陷检测方法、设备、电子设备和存储介质 | |
US9697018B2 (en) | Synthesizing inputs to preserve functionality | |
CN114398214A (zh) | 性能验证方法、装置、存储介质及计算机设备 | |
US20200349304A1 (en) | Method, apparatus, device, and medium for implementing simulator | |
US8572449B1 (en) | Integrated functional testing mechanism for integrated circuits | |
KR102032180B1 (ko) | 디지털변전시스템 정보교환 서비스 검증시험 장치 | |
US10437716B2 (en) | Method and apparatus for coverage analysis of SRT look-up table | |
US10546083B1 (en) | System, method, and computer program product for improving coverage accuracy in formal verification | |
CN117725866B (zh) | 一种验证方法、装置、电子设备及可读存储介质 | |
US12066926B2 (en) | Circuitry for memory address collision prevention | |
US8555226B1 (en) | Automatic verification of dependency | |
CN113176861A (zh) | 一种实现存储器访问的方法、装置以及存储器 | |
US8949754B1 (en) | System, method, and computer program product for verification using X-propagation |
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 |