CN109657456B - Tcam验证方法及系统 - Google Patents

Tcam验证方法及系统 Download PDF

Info

Publication number
CN109657456B
CN109657456B CN201811516568.3A CN201811516568A CN109657456B CN 109657456 B CN109657456 B CN 109657456B CN 201811516568 A CN201811516568 A CN 201811516568A CN 109657456 B CN109657456 B CN 109657456B
Authority
CN
China
Prior art keywords
tcam
simulation
size
verification
window
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
CN201811516568.3A
Other languages
English (en)
Other versions
CN109657456A (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.)
Suzhou Centec Communications Co Ltd
Original Assignee
Suzhou Centec Communications Co Ltd
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 Suzhou Centec Communications Co Ltd filed Critical Suzhou Centec Communications Co Ltd
Priority to CN201811516568.3A priority Critical patent/CN109657456B/zh
Publication of CN109657456A publication Critical patent/CN109657456A/zh
Application granted granted Critical
Publication of CN109657456B publication Critical patent/CN109657456B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2133Verifying human interaction, e.g., Captcha

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供了一种Tcam验证方法及系统,所述方法包括:S1、确定仿真窗口的大小及移动频率;S2、生成Lookup key以建立Lookup key pool;S3、使用Lookup key pool初始化Tcam;S4、进行当前仿真窗口的仿真验证;S5、重复步骤S2‑S4直至完成Tcam的仿真验证。本发明在一次仿真中利用一个Lookup key pool在不同的移动仿真窗口内多次生成Lookup key进行Tcam的初始化,可以利用相同的存储空间,大大降低了在一次仿真过程中Lookup key的重复概率,提高了有效仿真时间的占比,并且避免重复生成仿真场景的额外开销。

Description

Tcam验证方法及系统
技术领域
本发明涉及数字集成电路验证技术领域,特别是涉及一种Tcam验证方法及系统。
背景技术
在现在高速以太网交换芯片中大量采用Tcam(Ternary content addressablememory,三态内容寻址存储器)来存储ACL和路由等表项,这些表项都是交换芯片中很重要的表项也是交换芯片性能的重要指标,一旦实现错误后果往往是灾难性的,芯片一些重要功能将不能够使用,所以Tcam的验证就显得尤为重要。
然而现有技术中的验证方法为了提高Tcam内部存储内容的命中率,都采用预先初始化好的内容存储到Tcam内部,然后在产生仿真激励的过程中从这些已有的内容池中随机挑选Lookup key(查找关键字)不断的输入到Tcam中进行验证。由于现在Tcam存储的Lookupkey一般位宽都比较大,动辄几百个bit位,所以现有的验证方法,一般Lookup key pool(查找关键字组)会做成与Tcam空间一样大,虽然可以提高Lookup key的命中率,但是所有的Lookup key都是从预先生成的激励池中取出来的,Lookup key pool的空间不够大,导致Lookup key的重复概率大大提高,有效仿真时间占比下降。
参图1所示,一块深度为1024的Tcam,在验证时设置一个同样深度的Lookup keypool A,在一次仿真中总共访问了Tcam 10240次,将整个仿真过程切分成10段,那么在每一段的Lookup key pool都是A,并且平均每个Lookup key的重复次数为10次。
因此,针对上述技术问题,有必要提供一种Tcam验证方法及系统。
发明内容
有鉴于此,本发明的目的在于提供一种Tcam验证方法及系统。
为了实现上述目的,本发明一实施例提供的技术方案如下:
一种Tcam验证方法,所述方法包括:
S1、确定仿真窗口的大小及移动频率;
S2、生成Lookup key以建立Lookup key pool;
S3、使用Lookup key pool初始化Tcam;
S4、进行当前仿真窗口的仿真验证;
S5、重复步骤S2-S4直至完成Tcam的仿真验证。
作为本发明的进一步改进,所述步骤S1具体为:
根据Lookup key pool的大小及所要查找Tcam的次数来确定仿真窗口的大小;
根据仿真窗口的大小确定仿真窗口的移动频率,仿真窗口越大则移动频率越低,仿真窗口越小则移动频率越高。
作为本发明的进一步改进,所述Lookup key pool的大小与Tcam的大小之比为1:2n,其中n=0,1,2…。
作为本发明的进一步改进,所述步骤S2还包括:
清除原有Lookup key pool中的Lookup key。
作为本发明的进一步改进,所述步骤S3后还包括:
将当前Lookup key pool中的Lookup key配置到Tcam中。
本发明另一实施例提供的技术方案如下:
一种Tcam验证系统,所述系统包括:
仿真窗口确定单元,用于确定仿真窗口的大小及移动频率;
查找关键字组建立单元,用于生成Lookup key以建立Lookup key pool;
初始化单元,用于使用Lookup key pool初始化Tcam;
仿真验证单元,用于进行当前仿真窗口的仿真验证。
作为本发明的进一步改进,所述仿真窗口确定单元还用于:
根据Lookup key pool的大小及所要查找Tcam的次数来确定仿真窗口的大小;
根据仿真窗口的大小确定仿真窗口的移动频率,仿真窗口越大则移动频率越低,仿真窗口越小则移动频率越高。
作为本发明的进一步改进,所述Lookup key pool的大小与Tcam的大小之比为1:2n,其中n=0,1,2…。
作为本发明的进一步改进,所述查找关键字组建立单元还用于:
清除原有Lookup key pool中的Lookup key。
作为本发明的进一步改进,所述初始化单元还用于:
将当前Lookup key pool中的Lookup key配置到Tcam中。
本发明具有以下有益效果:
本发明在一次仿真中利用一个Lookup key pool在不同的移动仿真窗口内多次生成Lookup key进行Tcam的初始化,可以利用相同的存储空间,大大降低了在一次仿真过程中Lookup key的重复概率,提高了有效仿真时间的占比,并且避免重复生成仿真场景的额外开销。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本现有技术中Tcam验证的仿真时间轴图;
图2为本发明中Tcam验证方法的流程示意图;
图3为本发明中Tcam验证系统的模块示意图;
图4为本发明一具体实施例中Tcam验证的仿真时间轴图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
参图2所示,本发明公开了一种Tcam验证方法,包括:
S1、确定仿真窗口的大小及移动频率;
S2、生成Lookup key以建立Lookup key pool;
S3、使用Lookup key pool初始化Tcam;
S4、进行当前仿真窗口的仿真验证;
S5、重复步骤S2-S4直至完成Tcam的仿真验证。
本发明中,首先根据要验证Tcam的大小建立Lookup key pool,Lookup key pool的大小与Tcam的大小之比为1:2n,其中n=0,1,2…。
优选地,一般来说建立与Tcam大小相同的Lookup key pool,当然也可以根据需求适当的减小Lookup key pool,比如Tcam大小的二分之一、四分之一、八分之一等。
其中,Lookup key pool会影响仿真窗口的粒度和窗口的移动频率,Lookup keypool的大小与窗口的大小成正比关系。
根据Lookup key pool以及所要查找Tcam的次数来确定窗口的大小,同时窗口的大小也会影响窗口的移动频率,窗口越大需要移动频率越低,窗口越小需要移动的频率越高,此处窗口移动指沿着仿真时间轴的移动。
进一步地,在完成一个仿真窗口之后,清除原有Lookup key pool中的Lookupkey,重新生成Lookup key填充到Lookup key pool中,同时将这些Lookup key配置到Tcam中,进入新的仿真窗口的计算和仿真。
参图3所示,本发明还公开了一种Tcam验证系统,包括:
仿真窗口确定单元,用于确定仿真窗口的大小及移动频率;
查找关键字组建立单元,用于生成Lookup key以建立Lookup key pool;
初始化单元,用于使用Lookup key pool初始化Tcam;
仿真验证单元,用于进行当前仿真窗口的仿真验证。
本发明中的Tcam为三态内容寻址存储器(ternary content addressablememory),Lookup key为查找关键字,Lookup key pool为查找关键字组。
参图4所示,本发明的一具体实施例中,Tcam的大小(即深度)为1024,将整个仿真过程切分成1~10共10个仿真窗口,其中,current simulate window为当前仿真窗口,pastsimulate window为之前的仿真窗口。
每一个仿真窗口进行仿真验证过程中采用的Lookup key pool的大小为1024,Lookup key pool中的Lookup key都是重新生成的,这样保证在10个仿真窗口内采用的都是不同的Lookup key pool(即A-J共10个不同的Lookup key pool)。
本实施例中在一定的时间窗口内动态配置Tcam的查找关键字,降低激励发生器产生Lookup key的重复概率,大大降低了Lookup key的重复率,提高了有效仿真的次数和时间。
应当理解的是,本实施例中的仿真窗口的数量、Lookup key pool的大小、仿真窗口的大小及移动频率等可以根据需要进行调整,而并不限于本实施例中的限定。
由以上技术方案可以看出,本发明具有以下优点:
本发明在一次仿真中利用一个Lookup key pool在不同的移动仿真窗口内多次生成Lookup key进行Tcam的初始化,可以利用相同的存储空间,大大降低了在一次仿真过程中Lookup key的重复概率,提高了有效仿真时间的占比,并且避免重复生成仿真场景的额外开销。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书一个或多个实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书一个或多个实施例的实施例可提供为方法、系统或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。

Claims (6)

1.一种Tcam验证方法,其特征在于,所述方法包括:
S1、确定仿真窗口的大小及移动频率;
S2、生成查找关键字以建立查找关键字组;
S3、使用查找关键字组初始化Tcam;
S4、进行当前仿真窗口的仿真验证;
S5、重复步骤S2-S4直至完成Tcam的仿真验证;
所述步骤S1具体为:
根据查找关键字组的大小及所要查找Tcam的次数来确定仿真窗口的大小;
根据仿真窗口的大小确定仿真窗口的移动频率,仿真窗口越大则移动频率越低,仿真窗口越小则移动频率越高;
所述查找关键字组的大小与Tcam的大小之比为1:2n,其中n=1,2…。
2.根据权利要求1所述的Tcam验证方法,其特征在于,所述步骤S2还包括:
清除原有查找关键字组中的查找关键字。
3.根据权利要求1所述的Tcam验证方法,其特征在于,所述步骤S3后还包括:
将当前查找关键字组中的查找关键字配置到Tcam中。
4.一种Tcam验证系统,其特征在于,所述系统包括:
仿真窗口确定单元,用于确定仿真窗口的大小及移动频率;
查找关键字组建立单元,用于生成查找关键字以建立查找关键字组;
初始化单元,用于使用查找关键字组初始化Tcam;
仿真验证单元,用于进行当前仿真窗口的仿真验证;
所述仿真窗口确定单元还用于:
根据查找关键字组的大小及所要查找Tcam的次数来确定仿真窗口的大小;
根据仿真窗口的大小确定仿真窗口的移动频率,仿真窗口越大则移动频率越低,仿真窗口越小则移动频率越高;
所述查找关键字组的大小与Tcam的大小之比为1:2n,其中n=1,2…。
5.根据权利要求4所述的Tcam验证系统,其特征在于,所述查找关键字组建立单元还用于:
清除原有查找关键字组中的查找关键字。
6.根据权利要求4所述的Tcam验证系统,其特征在于,所述初始化单元还用于:
将当前查找关键字组中的查找关键字配置到Tcam中。
CN201811516568.3A 2018-12-12 2018-12-12 Tcam验证方法及系统 Active CN109657456B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811516568.3A CN109657456B (zh) 2018-12-12 2018-12-12 Tcam验证方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811516568.3A CN109657456B (zh) 2018-12-12 2018-12-12 Tcam验证方法及系统

Publications (2)

Publication Number Publication Date
CN109657456A CN109657456A (zh) 2019-04-19
CN109657456B true CN109657456B (zh) 2022-02-08

Family

ID=66112942

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811516568.3A Active CN109657456B (zh) 2018-12-12 2018-12-12 Tcam验证方法及系统

Country Status (1)

Country Link
CN (1) CN109657456B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107818151A (zh) * 2017-10-24 2018-03-20 湖南恒茂高科股份有限公司 数据查找方法、装置、计算机设备和存储介质
CN108737278A (zh) * 2017-04-21 2018-11-02 中兴通讯股份有限公司 一种查表方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104426770A (zh) * 2013-09-09 2015-03-18 中兴通讯股份有限公司 路由查找方法及装置、B-Tree树结构的构建方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108737278A (zh) * 2017-04-21 2018-11-02 中兴通讯股份有限公司 一种查表方法及装置
CN107818151A (zh) * 2017-10-24 2018-03-20 湖南恒茂高科股份有限公司 数据查找方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN109657456A (zh) 2019-04-19

Similar Documents

Publication Publication Date Title
Pettie A new approach to all-pairs shortest paths on real-weighted graphs
US9742556B2 (en) Comparison and search operations of encrypted data
CN109359476B (zh) 一种隐藏输入的两方模式匹配方法及装置
EP2973023A1 (en) Scoring concept terms using a deep network
US11797534B2 (en) Efficient SQL-based graph random walk
US10133762B2 (en) Technology for providing content of a publish-subscribe topic tree
CN103049709A (zh) 基于生成元扩展彩虹表的密码恢复系统及其恢复方法
CN114090735A (zh) 一种文本匹配方法、装置、设备及存储介质
Cloteaux Fast sequential creation of random realizations of degree sequences
CN109657456B (zh) Tcam验证方法及系统
CN104580109A (zh) 生成点选验证码的方法及装置
US9529835B2 (en) Online compression for limited sequence length radix tree
WO2020226695A1 (en) Compression and oblivious expansion of rlwe ciphertexts
US20160092595A1 (en) Systems And Methods For Processing Graphs
CN113220501B (zh) 用于数据备份的方法、设备和计算机程序产品
CN111581946B (zh) 一种语言序列模型解码方法
Lu et al. An Algorithm of Top-k High Utility Itemsets Mining over Data Stream.
US20140067806A1 (en) Retroactive Search of Objects Using K-D Tree
US20160321262A1 (en) Scoring entries in a repository of business process models to facilitate searching
CN109213922A (zh) 一种对搜索结果排序的方法和装置
CN114780533A (zh) 基于双数组字典树的存储空间分配方法、装置及电子设备
CN105069064B (zh) 词汇的获取方法及装置、推送方法及装置
CN103258035B (zh) 数据处理的方法和装置
CN112580803B (zh) 模型获取方法、装置、电子设备、存储介质和程序产品
Rădescu et al. Procedures of extending the alphabet in combined coding for prediction by partial string matching in text compression

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 215000 unit 13 / 16, 4th floor, building B, No.5 Xinghan street, Suzhou Industrial Park, Jiangsu Province

Applicant after: Suzhou Shengke Communication Co.,Ltd.

Address before: 215000 unit 13 / 16, 4th floor, building B, No.5 Xinghan street, Suzhou Industrial Park, Jiangsu Province

Applicant before: CENTEC NETWORKS (SU ZHOU) Co.,Ltd.

GR01 Patent grant
GR01 Patent grant