首页 / 专利库 / 资料储存系统 / 随机存取存储器 / 内容可寻址存储器 / 电路结构、芯片、训练方法及训练装置

电路结构、芯片、训练方法及训练装置

阅读:598发布:2020-05-08

专利汇可以提供电路结构、芯片、训练方法及训练装置专利检索,专利查询,专利分析的服务。并且本 申请 提供了一种 电路 结构、芯片、训练方法及训练装置。该电路结构包括:一 电压 调整模 块 ;一延迟线模块,用于将所述流 水 线触发器的时序延后;一控 制模 块,用于控制电压调整模块将搜索线 驱动器 的驱动电压下调为目标驱动电压,以及控制延迟线模块将所述流水线触发器的时序延后目标时长。本申请通过该延迟线模块将该TCAM寻址结构的优先级编码路径的时序延后目标时长,然后将查找路径上的搜索线驱动器的驱动电压降低,从而实现将优先级编码路径的时序余量分配给该搜索线驱动器,使得该搜索线驱动器可以较低的驱动电压进行工作,从而达到降低功耗的目的。,下面是电路结构、芯片、训练方法及训练装置专利的具体信息内容。

1.一种电路结构,应用于三态内容可寻址存储器TCAM寻址结构,TCAM寻址结构包括TCAM阵列、位于所述TCAM阵列的查找路径上的搜索线驱动器以及位于所述TCAM阵列的优先级编码路径上的至少一个流线触发器;其特征在于,所述电路结构包括:
电压调整模,用于调整所述搜索线驱动器的驱动电压;
一延迟线模块,用于将所述流水线触发器的时序延后;
一控制模块,用于控制所述电压调整模块将所述搜索线驱动器的驱动电压从初始驱动电压下调为目标驱动电压,以及控制所述延迟线模块将所述至少一个流水线触发器的时序延后目标时长;其中,所述搜索线驱动器的驱动电压从初始驱动电压下调为目标驱动电压时产生的延迟时间增量小于或等于所述目标时长。
2.根据权利要求1所述的电路结构,其特征在于,所述控制模块包括:
一延迟线控制寄存器单元,用于存储与目标时长对应的延迟控制字,并在所述TCAM寻址结构工作时根据所述延迟控制字控制所述延迟线模块将所述流水线触发器的时序延后目标时长;
一电压控制寄存器,用于存储与目标驱动电压对应的电压控制字,并在所述TCAM寻址结构工作时根据所述电压控制字控制所述电压调整模块将所述搜索线驱动器的驱动电压下调为目标驱动电压。
3.根据权利要求2所述的电路结构,其特征在于,所述延迟线控制寄存器单元包括至少一个延迟线控制寄存器;
所述延迟线模块包括至少一个延迟线单元,所述至少一个延迟线单元分别与所述至少一个延迟线控制寄存器一一对应地连接,所述至少一个延迟线单元分别与所述至少一个流水线触发器一一对应流水线触发器时序延后第一时长,各个流水线触发器时序延后的第一时长的和等于所述目标时长。
4.根据权利要求3所述的电路结构,其特征在于,所述控制模块还包括控制单元,所述控制单元与所述至少一个延迟线控制寄存器、所述电压控制寄存器、所述至少一个延迟线单元以及所述电压调整模块分别连接;
所述控制单元用于依次对所述至少一个延迟线单元以及所述电压调整模块进行训练,以分别获取与所述第一时长对应的第一控制字以及与所述目标驱动电压对应的电压控制字;并将所述第一控制字存储在对应的延迟线控制寄存器中,将所述电压控制字存储在所述电压控制寄存器中。
5.根据权利要求4所述的电路结构,其特征在于,所述控制模块还包括至少一个第一选通单元;
所述至少一个第一选通单元分别与所述至少一个延迟线单元对应,所述至少一个第一选通单元与所述至少一个第一选通单元分别一一对应;
每一所述第一选通单元的第一输入端与所述控制单元连接,每一所述第一选通单元的第二输入端与对应延迟线控制寄存器连接,所述第一选通单元的输出端与对应的延迟线单元连接,所述第一选通单元的控制端与所述控制单元连接;
所述控制单元用于在训练时控制所述第一选通单元将对应的延迟线单元与所述控制单元接通,以及用于在训练完毕后将控制所述第一选通单元将延迟线单元与对应延迟线控制寄存器接通。
6.根据权利要求5所述的电路结构,其特征在于,所述控制模块还包括第二选通单元;
所述第二选通单元的第一输入端与所述控制单元连接,所述第二选通单元的第二输入端与所述电压寄存控制器连接,所述第二选通单元的输出端与所述电压调整模块连接;
所述控制单元用于在训练时控制所述第二选通单元将所述控制单元与所述电压调整模块接通,以及在训练完毕后控制所述第二选通单元将所述电压寄存控制器与所述电压调整模块接通。
7.根据权利要求4-6任一项所述的电路结构,其特征在于,所述控制单元对所述至少一个延迟线单元中的每一所述延迟线单元进行训练时,逐次控制所述延迟线单元增加延迟时间直至所述TCAM寻址结构的搜索结果出错,并基于增加延迟时间的情况计算得到所述第一时长的第一控制字,并将所述第一控制字存储在对应所述延迟线控制寄存器中。
8.根据权利要求7所述的电路结构,其特征在于,所述控制单元对所述延迟线单元进行训练时,每次增加的延迟时间的幅度相同。
9.根据权利要求4-6任一项所述的电路结构,其特征在于,所述控制单元对所述电压调整模块进行训练时,逐次降低所述搜索线驱动器的驱动电压直至所述TCAM寻址结构的搜索结果出错,并基于驱动电压降低的情况计算得到所述目标驱动电压对应的电压控制字,并将所述电压控制字存储在所述电压控制寄存器中。
10.根据权利要求9所述的电路结构,其特征在于,所述控制单元对所述电压调整模块进行训练时,每次降低的驱动电压的幅度相同。
11.一种芯片,其特征在于,所属存储结构为TCAM寻址结构,所述TCAM寻址结构包括权利要求1-10任一项所述的电路结构。
12.根据权利要求11所述的芯片,其特征在于,所述TCAM寻址结构还包括:TCAM阵列、搜索线驱动器、第一级流水线触发器、灵敏放大器、第二级流水线触发器、优先编码器以及第三级流水线触发器;
所述第一级流水线触发器与所述搜索线驱动器连接,所述搜索线驱动器与所述TCAM阵列的搜索线连接,所述灵敏放大器与所述TCAM阵列的匹配线连接,所述灵敏放大器、所述第二级流水线触发器、所述优先编码器以及所述第三级流水线触发器依次连接;
所述电路结构的电压调整模块与所述搜索线驱动器的驱动电压端连接,所述电路结构的延迟线模块包括两个延迟线单元,一个所述延迟线单元与所述第二级流水线触发器的时钟信号输入端连接,另一所述延迟线单元与所述第三级流水线触发器的时钟信号输入端连接。
13.一种训练方法,其特征在于,应用于权利要求1-10任一项所述的电路结构或者权利要求11-12任一项所述的芯片中,所述方法包括以下步骤:
给电压调整模块的设定初始驱动电压;
对所述延迟线模块的各个延迟线单元进行依次训练,以得到每一所述延迟线单元将对应流水线触发器的时序延迟的第一时长的第一控制字,其中,先训练相对远离TCAM阵列的流水线触发器连接的延迟线单元,后训练相对靠近TCAM阵列的流水线触发器连接的延迟线单元;
对所述电压调整模块进行训练,以得到目标驱动电压及对应的电压控制字,其中,将搜索线驱动器的初始驱动电压下降为目标驱动电压产生的延迟时间增量小于或等于各个第一时长的和。
14.根据权利要求13所述的训练方法,其特征在于,所述对所述延迟线模块的各个延迟线单元进行依次训练,以得到每一所述延迟线单元的延迟的第一时长的第一控制字的步骤包括:
对所述至少一个延迟线单元中的每一所述延迟线单元进行训练时,逐次控制所述延迟线单元增加延迟时间直至TCAM寻址结构的搜索结果出错;
基于增加延迟时间的情况计算得到所述第一时长的第一控制字。
15.根据权利要求14所述的训练方法,其特征在于,所述延迟线单元每次增加的延迟时间的幅度相同。
16.根据权利要求13所述的训练方法,其特征在于,所述对所述电压调整模块进行训练,以得到目标驱动电压及对应的电压控制字的步骤包括:
对所述电压调整模块进行训练时,逐次降低输出给所述搜索线驱动器的驱动电压直至TCAM寻址结构的搜索结果出错,并基于驱动电压降低的情况计算得到所述目标驱动电压及对应的电压控制字。
17.根据权利要求16所述的训练方法,其特征在于,所述电压调整模块每次降低的驱动电压的幅度相同。
18.一种训练装置,其特征在于,应用于权利要求1-10任一项所述的电路结构或者权利要求11-12任一项所述的芯片中,所述装置包括:
设定模块,用于给电压调整模块设定初始驱动电压;
第一训练模块,用于对所述延迟线模块的各个延迟线单元进行依次训练,以得到每一所述延迟线单元的延迟的第一时长的第一控制字,其中,先训练相对远离TCAM阵列的流水线触发器连接的延迟线单元,后训练相对靠近TCAM阵列的流水线触发器连接的延迟线单元;
第二训练模块,用于对所述电压调整模块进行训练,以得到目标驱动电压及对应的电压控制字,其中,将搜索线驱动器的初始驱动电压下降为目标驱动电压产生的延迟时间增量小于或等于各个所述第一时长的和。

说明书全文

电路结构、芯片、训练方法及训练装置

技术领域

[0001] 本申请涉及TCAM寻址结构技术领域,具体而言,涉及一种电路结构、 芯片、训练方法及训练装置。

背景技术

[0002] 三态内容可寻址存储器(TCAM,ternary content addressable memory) 是一种在一个周期内就能完成查找操作的硬件查找结构。因此,三态内容 可寻址存储器TCAM被广泛应用于大型的路由器。三态内容可寻址存储器 TCAM虽然速度快,但是在一个周期内完成整个路由表的查找是靠每个比 较节点都工作才完成的,导致其功耗较大。
[0003] 针对上述问题,目前尚未有有效的技术解决方案。发明内容
[0004] 本申请实施例的目的在于提供一种电路结构、芯片、训练方法及训练 装置,具有降低TCAM寻址结构的功耗的有益效果。
[0005] 第一方面,本申请实施例提供了一种电路结构,应用于三态内容可寻 址存储器TCAM寻址结构,TCAM寻址结构包括TCAM阵列、位于所述 TCAM阵列的查找路径上的搜索线驱动器以及位于所述TCAM阵列的优先 级编码路径上的至少一个流线触发器;所述电路结构包括:
[0006] 一电压调整模,用于调整所述搜索线驱动器的驱动电压;
[0007] 一延迟线模块,用于将所述流水线触发器的时序延后;
[0008] 一控制模块,用于控制所述电压调整模块将所述搜索线驱动器的驱动 电压从初始驱动电压下调为目标驱动电压,以及控制所述延迟线模块将所 述至少一个流水线触发器的时序延后目标时长;其中,所述搜索线驱动器 的驱动电压从初始驱动电压下调为目标驱动电压时产生的延迟时间增量小 于或等于所述目标时长。
[0009] 本申请实施例通过采用该延迟线模块将该TCAM寻址结构的优先级编 码路径的时序延后目标时长,然后将查找路径上的搜索线驱动器的驱动电 压降低,从而实现将优先级编码路径的时序余量分配给该搜索线驱动器, 使得该搜索线驱动器可以较低的驱动电压进行工作,从而达到降低功耗的 目的。
[0010] 可选地,在本申请实施例所述的电路结构中,所述控制模块包括:
[0011] 一延迟线控制寄存器单元,用于存储与目标时长对应的延迟控制字, 并在所述TCAM寻址结构工作时根据所述延迟控制字控制所述延迟线模块 将所述流水线触发器的时序延后目标时长;
[0012] 一电压控制寄存器,用于存储与目标驱动电压对应的电压控制字,并 在所述TCAM寻址结构工作时根据所述电压控制字控制所述电压调整模块 将所述搜索线驱动器的驱动电压下调为目标驱动电压。
[0013] 本申请实施例通过延迟线控制寄存器单元来控制该延迟线模块将该 TCAM寻址结构的优先级编码路径的时序延后目标时长,然后通过该电压 控制寄存器来控制该电压调整模块将该查找路径上的搜索线驱动器的驱动 电压降低,从而实现将优先级编码路径的时序余量分配给该搜索线驱动器, 使得该搜索线驱动器可以较低的驱动电压进行工作,从而达到降低功耗的 目的。
[0014] 可选地,在本申请实施例所述的电路结构中,所述流水线触发器包括 至少一级流水线触发器;
[0015] 所述延迟线控制寄存器单元包括至少一个延迟线控制寄存器;
[0016] 所述延迟线模块包括至少一个延迟线单元,所述至少一个延迟线单元 分别与所述至少一个延迟线控制寄存器一一对应地连接,所述至少一个延 迟线单元分别与所述至少一级流水线触发器一一对应流水线触发器时序延 后第一时长,各个流水线触发器时序延后的第一时长的和为所述目标时长。
[0017] 可选地,在本申请实施例所述的电路结构中,所述控制模块包括还包 括控制单元,所述控制单元与所述至少一个延迟线控制寄存器、所述电压 控制寄存器、所述至少一个延迟线单元以及所述电压调整模块分别连接;
[0018] 所述控制单元用于依次对所述至少一个延迟线单元以及所述电压调整 模块进行训练,以分别获取与所述第一时长对应的第一控制字以及与所述 目标驱动电压对应的电压控制字;并将所述第一控制字存储在对应的延迟 线控制寄存器中,将所述电压控制字存储在所述电压控制寄存器中。
[0019] 本申请实施例通过该控制单元来对该至少一个延迟线单元以及所述电 压调整模块进行训练,从而得到尽量低的目标驱动电压对应的电压控制字, 从而使得该TCAM寻址结构工作时的功耗得到尽量地降低,并且可以通过 该控制单元来对延迟线控制寄存器以及延迟线控制寄存器进行写入或者调 整,灵活性更高。
[0020] 可选地,在本申请实施例所述的电路结构中,所述控制模块还包括至 少一个第一选通单元;
[0021] 所述至少一个第一选通单元分别与所述至少一个延迟线单元对应,所 述至少一个第一选通单元与所述至少一个第一选通单元分别一一对应;
[0022] 每一所述第一选通单元的第一输入端与所述控制单元连接,每一所述 第一选通单元的第二输入端与对应延迟线控制寄存器连接,所述第一选通 单元的输出端与对应的延迟线单元连接,所述第一选通单元的控制端与所 述控制单元连接;
[0023] 所述控制单元用于在训练时控制所述第一选通单元将对应的延迟线单 元与所述控制单元接通,以及用于在训练完毕后将控制所述第一选通单元 将延迟线单元与对应延迟线控制寄存器接通。
[0024] 可选地,在本申请实施例所述的电路结构中,所述控制模块还包括第 二选通单元;
[0025] 所述第二选通单元的第一输入端与所述控制单元连接,所述第二选通 单元的第二输入端与所述电压寄存控制器连接,所述第二选通单元的输出 端与所述电压调整模块连接;
[0026] 所述控制单元用于在训练时控制所述第二选通单元将所述控制单元与 所述电压调整模块接通,以及在训练完毕后控制所述第二选通单元将所述 电压寄存控制器与所述电压调整模块接通。
[0027] 可选地,在本申请实施例所述的电路结构中,所述控制单元对所述至 少一个延迟线单元中的每一所述延迟线单元进行训练时,逐次控制所述延 迟线单元增加延迟时间直至所述TCAM寻址结构的搜索结果出错,并基于 增加延迟时间的情况计算得到所述第一时长的第一控制字,并将所述第一 控制字存储在对应所述延迟线控制寄存器中。
[0028] 可选地,在本申请实施例所述的电路结构中,所述控制单元对所述延 迟线单元进行训练时,每次增加的延迟时间的幅度相同。
[0029] 可选地,在本申请实施例所述的电路结构中,所述控制单元对所述电 压调整模块进行训练时,逐次降低所述搜索线驱动器的驱动电压直至所述 TCAM寻址结构的搜索结果出错,并基于驱动电压降低的情况计算得到所 述目标驱动电压对应的电压控制字,并将所述电压控制字存储在所述电压 控制寄存器中。
[0030] 可选地,在本申请实施例所述的电路结构中,所述控制单元对所述电 压调整模块进行训练时,每次降低的驱动电压的幅度相同。
[0031] 第二方面,本申请实施例提供了一种芯片,所属存储结构为TCAM寻 址结构,所述TCAM寻址结构包括上述任一项所述的电路结构。
[0032] 可选地,在本申请实施例所述的芯片中,所述TCAM寻址结构还包括: TCAM阵列、搜索线驱动器、第一级流水线触发器、灵敏放大器、第二级 流水线触发器、优先编码器以及第三级流水线触发器;
[0033] 所述第一级流水线触发器与所述搜索线驱动器连接,所述搜索线驱动 器与所述TCAM阵列的搜索线连接,所述灵敏放大器与所述TCAM阵列的 匹配线连接,所述灵敏放大器、所述第二级流水线触发器、所述优先编码 器以及所述第三级流水线触发器依次连接;
[0034] 所述电路结构的电压调整模块与所述搜索线驱动器的驱动电压端连 接,所述电路结构的延迟线模块包括两个延迟线单元,一个所述延迟线单 元与所述第二级流水线触发器的时钟信号输入端连接,另一所述延迟线单 元与所述第三级流水线触发器的时钟信号输入端连接。
[0035] 第三方面,本申请实施例还提供了一种训练方法,应用于上述芯片或 电路结构中,所述方法包括以下步骤:
[0036] 给电压调整模块的设定初始驱动电压;
[0037] 对所述延迟线模块的各个延迟线单元进行依次训练,以得到每一所述 延迟线单元将对应流水线触发器的时序延迟的第一时长的第一控制字,其 中,先训练相对远离TCAM阵列的流水线触发器连接的延迟线单元,后训 练相对靠近TCAM阵列的流水线触发器连接的延迟线单元;
[0038] 对所述电压调整模块进行训练,以得到目标驱动电压,其中,将搜索 线驱动器的初始驱动电压下降为目标驱动电压产生的延迟时间增量小于或 等于各个第一时长的和。
[0039] 可选地,在本申请实施例所述的训练方法中,所述对所述延迟线模块 的各个延迟线单元进行依次训练,以得到每一所述延迟线单元的延迟的第 一时长的第一控制字的步骤包括:
[0040] 对所述至少一个延迟线单元中的每一所述延迟线单元进行训练时,逐 次控制所述延迟线单元增加延迟时间直至TCAM寻址结构的搜索结果出 错;
[0041] 基于增加延迟时间的情况计算得到所述第一时长的第一控制字。
[0042] 可选地,在本申请实施例所述的训练方法中,每次增加的延迟时间的 幅度相同。
[0043] 可选地,在本申请实施例所述的训练方法中,所述对所述电压调整模 块进行训练,以得到目标驱动电压的步骤包括:
[0044] 对所述电压调整模块进行训练时,逐次降低所述搜索线驱动器的驱动 电压直至TCAM寻址结构的搜索结果出错,并基于驱动电压降低的情况计 算得到所述目标驱动电压对应的电压控制字。
[0045] 可选地,在本申请实施例所述的训练方法中,每次降低的驱动电压的 幅度相同。
[0046] 第四方面,本申请实施例还提供了一种训练装置,应用于上述的芯片 或电路结构中,所述装置包括:
[0047] 设定模块,用于给电压调整模块设定初始驱动电压;
[0048] 第一训练模块,用于对所述延迟线模块的各个延迟线单元进行依次训 练,以得到每一所述延迟线单元的延迟的第一时长的第一控制字,其中, 先训练相对远离TCAM阵列的流水线触发器连接的延迟线单元,后训练相 对靠近TCAM阵列的流水线触发器连接的延迟线单元;
[0049] 第二训练模块,用于对所述电压调整模块进行训练,以得到目标驱动 电压,其中,将搜索线驱动器的初始驱动电压下降为目标驱动电压产生的 延迟时间增量小于或等于各个所述第一时长的和。
[0050] 本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说 明书中变得显而易见,或者通过实施本申请实施例了解。本申请的目的和 其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的 结构来实现和获得。

附图说明

[0051] 为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例 中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请 的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人 员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相 关的附图。
[0052] 图1为本申请实施例提供的电路结构的一种原理框图
[0053] 图2为本申请实施例提供的电路结构的第一种电路结构示意图。
[0054] 图3为本申请实施例提供的电路结构进行训练的流程图
[0055] 图4为本申请实施例提供的电路结构的第二种电路结构示意图。
[0056] 图5为本申请实施例提供的电路结构的第三种电路结构示意图。
[0057] 图6为本申请实施例提供的TCAM寻址结构的电路结构示意图。
[0058] 图7为本申请实施例提供的一种训练方法的流程图。
[0059] 图8为本申请实施例提供的一种训练装置的结构图。

具体实施方式

[0060] 下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行 清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例, 而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组 件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本 申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅 仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没 有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护 的范围。
[0061] 应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一 旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步 定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分 描述,而不能理解为指示或暗示相对重要性。
[0062] 请参照图1,图1是本本申请一些实施例中的电路结构的结构示意图。 该电路结构应用于三态内容可寻址存储器TCAM寻址,TCAM寻址结构包 括TCAM阵列、位于所述TCAM阵列的查找路径上的搜索线驱动器以及位 于所述TCAM阵列的优先级编码路径上的流水线触发器。其中,该电路结 构100包括:一电压调整模块11、一延迟线模块12以及一控制模块13。 其中,该电压调整模块11用于调整所述搜索线驱动器的驱动电压;该延迟 线模块12用于将所述流水线触发器的时序延后;该控制模块13用于控制 所述电压调整模块11将搜索线驱动器的驱动电压从初始驱动电压下调为目 标驱动电压,以及控制所述延迟线模块12将所述流水线触发器的时序延后 目标时长;其中,该搜索线驱动器的驱动电压从初始驱动电压下调为目标 驱动电压时产生的延迟时间增量小于或等于所述目标时长;并且,该目标 时长小于该优先级编码路径上的总的时序余量;当然,搜索线驱动器的驱 动电压从初始驱动电压下调为目标驱动电压时产生的延迟时间增量等于所 述目标时长为最佳状态,功耗降低最多。其中该初始驱动电压为该搜索线 驱动器为引入该电压调整模块11时的驱动电压,在该初始驱动电压下该 TCAM寻址结构可以实现正常工作。
[0063] 本申请实施例通过采用该延迟线模块将该TCAM寻址结构的优先级编 码路径的时序延后目标时长,然后查找路径上的搜索线驱动器的驱动电压 降低,从而实现将优先级编码路径的时序余量分配给该搜索线驱动器,使 得该搜索线驱动器可以较低的驱动电压进行工作,从而达到降低功耗的目 的。
[0064] 其中,该电压调整模块11为现有技术中常见的电压调整器,其可以基 于外部输入的电压控制字来调整搜索线驱动器的驱动电压。
[0065] 请同时参照图2,该延迟线模块12包括至少一个延迟线单元121,该 延迟线单元121的个数可以为1个、两个或者多个。该延迟线单元121个 数的上限是该TCAM寻址结构的优先编码路径上的流水线触发器的个数。 在本实施例中,延迟线单元121的个数为两个。该TCAM寻址结构的优先 编码路径上的流水线触发器的个数也是两个。每一个延迟线单元121用于 将与其连接的流水线触发器的时序延后一定时长。
[0066] 其中,该控制模块13包括控制单元131、电压控制寄存器132、延迟 线控制寄存单元133、至少一个第一选通单元134以及一个第二选通单元 135。
[0067] 其中,该延迟线控制寄存单元133包括至少一个延迟线控制寄存器 1331,延迟线控制寄存器1331的个数与第一选通单元134的个数相同,在 本实施例中,延迟线控制寄存器1331的个数与第一选通单元134的个数均 为两个。该控制单元131分别与该每一第一选通单元134的第一输入端、 每一第二选通单元135的第一输入端、每一电压控制寄存器132以及每一 延迟线控制寄存器1331连接,该第一选通单元134的第二输入端与对应的 延迟线控制寄存器1331连接,该第一选通单元134的输出端与对应的延迟 线单元121连接,该第二选通单元135的第二输入端与该电压控制寄存器 132连接,该第二选通单元135的输出端与该电压调整模块11连接。该控 制单元131还分别与该第一选通单元134的控制端以及第二选通单元135 的控制端连接。
[0068] 其中,该电压控制寄存器132用于存储与目标驱动电压对应的电压控 制字,并在所述TCAM寻址结构工作时根据所述电压控制字控制所述电压 调整模块11将所述搜索线驱动器的驱动电压下调为目标驱动电压。
[0069] 其中,该延迟线控制寄存器单元133用于存储与目标时长对应的延迟 控制字,并在所述TCAM寻址结构工作时根据所述延迟控制字控制所述延 迟线模块12将所述流水线触发器的时序延后目标时长。对应地,每一延迟 线控制寄存器用于存储与第一时长对应的第一控制字,并在所述TCAM寻 址结构工作时根据第一控制字控制所述延迟线模块12将对应地流水线触发 器的时序延后第一标时长。
[0070] 其中,该第一选通单元134以及第二选通单元135均可以采用常见的 二输入一输出的选通芯片。
[0071] 其中,该控制单元131用于在对该电压调整模块11、延迟线模块12进 行训练时,控制第一选通单元134将控制单元131与对应延迟线单元121 接通,控制第二选通单元135将控制单元131与电压调整模块11接通,以 使得该电压调整模块11可以接收到该控制单元131发出的电压控制字,使 得该延迟线单元121可以接收到该控制单元131发出的第一控制字。当训 练完毕后,该TCAM寻址结构进行正常检索操作时,该控制单元131控制 该第一选通单元134将该延迟线控制寄存器1331与对应延迟线单元121接 通,使得该延迟线单元121可以接收存储在该延迟线控制寄存器内的第一 控制字;该控制单元控制该第二选通单元
135将该电压控制寄存器132与 该电压调整模块11接通,使得该电压调整模块11可以接收该电压控制寄 存器132存储的电压控制字。
[0072] 训练时,该控制单元131依次对所述至少一个延迟线单元121以及所 述电压调整模块11进行训练,以分别获取与第一时长对应的第一控制字以 及与所述目标驱动电压对应的电压控制字;并将第一控制字存储在对应的 延迟线控制寄存器1331中,将电压控制字存储在电压控制寄存器132中。
[0073] 其中,该控制单元131对至少一个延迟线单121元中的每一所述延迟 线单元121进行训练时,逐次控制所述延迟线单元121增加延迟时间直至 所述TCAM寻址结构的搜索结果出错,并基于增加延迟时间的情况计算得 到所述第一时长的第一控制字,并将所述第一控制字存储在对应所述延迟 线控制寄存器1331中。其中,该控制单元131对所述延迟线单元121进行 训练时,每次增加的延迟时间的幅度相同。其中,在对该两个延迟线单元 121进行训练时,先训练远离该TCAM阵列的流水线触发器连接的延迟线 单元121,再训练靠近该TCAM阵列的流水线触发器连接的延迟线单元121。
[0074] 其中,该控制单元131对所述电压调整模块11进行训练时,逐次降低 所述搜索线驱动器的驱动电压直至TCAM寻址结构的搜索结果出错,并基 于驱动电压降低的情况计算得到所述目标驱动电压对应的电压控制字,并 将所述电压控制字存储在所述电压控制寄存器132中。控制单元131对所 述电压调整模块11进行训练时,每次降低的驱动电压的幅度相同。
[0075] 如图3所示,该控制单元131对电压调整模块11、延迟线模块12进行 训练时的流程图。其中,该两个延迟线单元分别为第一延迟线单元以及第 二延迟线单元。该第一延迟线单元为远离该TCAM阵列的流水线触发器连 接的延迟线单元121,该第二延迟线单元为靠近该TCAM阵列的流水线触 发器连接的延迟线单元121。具体地,该控制单元131的训练包括以下步骤:
[0076] S101、将搜索线驱动器的驱动电压设为电压调模块最高输出电压,第 一延迟线单元和第二延迟线单元设为最短延迟。
[0077] S102、将第一延迟线单元增加一个步长延迟。
[0078] S103、判断TCAM寻址结构的搜索结果是否都正确;如果都正确,则 转至步骤S102,如果不都正确,则转至步骤S104。
[0079] S104、记录搜索错误之前的第一延迟线单元的第一控制字的值。
[0080] S105、将第二延迟线单元增加一个步长延迟。
[0081] S106、判断TCAM寻址结构的搜索结果是否都正确;如果都正确,则 转至步骤S105,如果不都正确,则转至步骤S107。
[0082] S107、记录搜索错误之前的第二延迟线单元第一控制字的值。
[0083] S108、控制电压调整模块,使得驱动电压下降一个电压步长。
[0084] S109、判断TCAM寻址结构的搜索结果是否都正确;如果都正确,则 转至步骤S108,如果不都正确,则转至步骤S110。
[0085] S110、记录搜索错误之前的电压控制字的值。
[0086] S111、将电压控制字、第一延迟线单元的第一控制字、第二延迟线单 元的第一控制字分别写入到电压控制寄存器、第一延迟线控制寄存器以及 第二延迟线控制寄存器中。
[0087] 其中,在训练时先把该TCAM阵列的所有存储单元写上数据,然后用 不同的数据进来跟存在TCAM阵列的数据进行比较,比较结果都是符合预 期则判断为搜索正确,只要有一个比较不符合预期,则判断搜索结果不都 正确。
[0088] 在该步骤S102中,该步长延迟的设置与该优先级编码路径的总的时序 余量相关,例如时序余量为w1,则该步长延时可以设定为w1/x,x为50 或100。当然,其并不限于此。在该步骤S104中,例如,在第n次增加步 长延迟时,该搜索出现错误,则该第一延迟线单元的延迟值设定为w0+(n-1) w1/x,其中,该w0为该第一延迟线单元的初始延迟值,因此,该第一延迟 线单元对应的第一控制字与该延迟值w0+(n-1)w1/x相对应。可以理解地, 该各次增加的步长延时可以不相等。
[0089] 在该步骤S105中,该步长延迟的设置与该优先级编码路径的总的时序 余量相关,例如时序余量为w1,则该步长延时可以设定为w1/x,x为50 或100。当然,其并不限于此。在该步骤S106中,例如,在第n次增加步 长延迟时,该搜索出现错误,则该第一延迟线单元的延迟值设定为w0+(n-1) w1/x,其中,该w0为该第二延迟线单元的初始延迟值,因此,该第一延迟 线单元对应的第一控制字与该延迟值w0+(n-1)w1/x相对应。可以理解地, 该各次增加的步长延时可以不相等。
[0090] 在该步骤S108中,电压步长的设置可以根据实际情况进行设定,当然, 电压步长设置得越小,得到的最终的目标驱动电压越接近最佳值使得该 TCAM寻址结构的功耗最低。在该步骤S109中,例如,在第n次增加电压 步长时,该搜索出现错误,则该电压调整模块的输出的目标驱动电压设定 为V0-(n-1)V1/x,其中,该V0为电压调整模块的输出的电压的初始值, 因此,该控制模块对应的电压控制字与该电压值V0-(n-1)V1/x相对应。 可以理解地,该各次增加的电压步长可以不相等。
[0091] 其中,该控制单元131可以采用在芯片中写入控制程序来实现其上述 功能,当然,可以理解地,该控制单元131可以采用数字逻辑电路来实现 上述的功能。
[0092] 可以理解地,如图4所示,在一些实施例中,虽然该TCAM寻址结构 的TCAM阵列的优先级编码路径可能存在多个流水线触发器,但是,本实 施例提供的电路结构可以只对其中一个流水线触发器进行训练以及延时操 作。因此,对应地,该电路结构的延迟线模块12只包括一个延迟线单元121, 对应地,该延迟线控制寄存器单元133也只包括一个延迟线控制寄存器 1331。
[0093] 可以理解地,如图5所示,在一些实施例中,该控制模块13可以不包 括该控制单元、第一选通单元和第二选通单元。该控制模块13不对该电压 调整模块11以及延迟线模块12进行训练,可以通过外部电路结构或者芯 片结构来实现对该电压调整模块以及延迟线模块的训练,只需将训练得到 的电压控制字存储在该电压控制寄存器132中,将训练得到的第一控制字 存储在对应的延迟线控制寄存器1331中;可以采用一套外部电路结构对多 个电路结构的电压调整模块以及延迟线模块进行训练,从而达到降低该电 路结构的器件数量,降低成本的效果。
[0094] 本申请实施例提供了一种芯片,芯片所属的存储结构为TCAM寻址结 构。请参照图6,该TCAM寻址结构200包括上述任意实施例中的电路结 构100。
[0095] 具体地,该TCAM寻址结构200还包括:TCAM阵列21、搜索线驱动 器22、第一级流水线触发器23、灵敏放大器24、第二级流水线触发器25、 优先编码器26以及第三级流水线触发器27;所述第一级流水线触发器23 与所述搜索线驱动器22连接,所述搜索线驱动器22与所述TCAM阵列21 的搜索线SL以及SLN连接,所述灵敏放大器24与所述TCAM阵列21的 匹配线ML连接,所述灵敏放大器24、所述第二级流水线触发器25、所述 优先编码器26以及所述第三级流水线触发器27依次连接;所述电路结构 100的电压调整模块11与所述搜索线驱动器22的驱动电压端VDD_SL连 接,所述电路结构100的延迟线模块12包括两个延迟线单元121,一个所 述延迟线单元121与所述第二级流水线触发器25的时钟信号输入端连接, 另一所述延迟线单元121与所述第三级流水线触发器27的时钟信号输入端 连接。
[0096] 其中,该搜索线驱动器22、第一级流水线触发器23构成该TCAM阵 列21的查找路径,该灵敏放大器24、第二级流水线触发器25、优先编码 器26以及第三级流水线触发器27构成该TCAM阵列21的优先级编码路径。 TCAM阵列21可以包括多个子阵列。
[0097] 其中,TCAM寻址结构200的工作过程为搜索关键字通过第一级流水 线触发器23传入到搜索驱动器22,搜索驱动器输出差分信号SL、SLN至 该TCAM阵列21。TCAM阵列21搜索的匹配结果通过匹配线ML经由灵 敏放大器24放大后入第二级流水线触发器25。然后,经过优先编码器 26把编码的结果锁入到第三级流水线触发器27,并在最终输出该结果。
[0098] 其中,第一级流水线触发器和第二级流水线触发器之间的时序开销记 为t12,第二级流水线触发器和第三级流水线触发器之间的时序开销为t23, 可以通过对第二级流水线触发器和第三级流水线触发的时序进行延后,从 而使得降低该搜索线驱动器22的驱动电压后,依然可以保证该TCAM寻址 结构200的正常工作;由于该搜索线驱动器22的驱动电压降低后,该TCAM 寻址结构200的功耗也对应降低。
[0099] 请参照图7,图7是本申请实施例提供的一种训练方法的流程图,应用 上述实施例中的TCAM寻址结构中,或者应用于上述实施例中的电路结构 中,该方法以计算机程序的形式集成在该电路结构的控制单元中,当然, 也可以集成在外部的电子设备中。该方法包括以下步骤:
[0100] S201、给电压调整模块的设定初始驱动电压。
[0101] S202、对所述延迟线模块的各个延迟线单元进行依次训练,以得到每 一所述延迟线单元将对应流水线触发器的时序延迟的第一时长的第一控制 字,其中,先训练相对远离TCAM阵列的流水线触发器连接的延迟线单元, 后训练相对靠近TCAM阵列的流水线触发器连接的延迟线单元。
[0102] S203、对所述电压调整模块进行训练,以得到目标驱动电压及对应的 电压控制字,其中,将搜索线驱动器的初始驱动电压下降为目标驱动电压 产生的延迟时间增量小于或等于各个第一时长的和。
[0103] 其中,在该步骤S201中,将搜索线驱动器输出的初始驱动电压设为电 压调模块的最高输出电压,将每一延迟线单元延迟时间设为最短延迟,例 如为0。其中,在训练时先把该TCAM阵列的所有存储单元写上数据,然 后用不同的数据进来跟存在TCAM阵列的数据进行比较,比较结果都是符 合预期则判断为搜索正确,只要有一个比较不符合预期,则判断搜索结果 不都正确。
[0104] 在该步骤S202中,例如,针对该图6所示的TCAM寻址结构,先训 练该第三流水线触发器连接的延迟线单元的延迟时间,再训练该第二流水 线触发器连接的延迟线单元的延迟时间。该步骤S202包括:对所述至少一 个延迟线单元中的每一所述延迟线单元进行训练时,逐次控制所述延迟线 单元增加延迟时间直至TCAM寻址结构的搜索结果出错;基于增加延迟时 间的情况计算得到所述第一时长的第一控制字。其中,延迟线单元每次增 加的延迟时间的幅度相同,当然也可以不同。
[0105] 可以理解地,在一些实施例中,为了寻找到各个第一时长的最佳值, 在训练时,该步骤S202包括:
[0106] S2021、对所述至少一个延迟线单元中的每一所述延迟线单元进行训练 时,逐次控制所述延迟线单元增加第一延迟步长直至TCAM寻址结构的搜 索结果出错;S2022、基于增加第一延迟步长的情况计算得到该搜索结果未 出错时的第一预期时长;S2023、以所述第一预期时长作为延迟线单元的延 时初始值,逐次控制所述延迟线单元增加第二延迟步长直至TCAM寻址结 构的搜索结果出错;S2024、基于增加第二延迟步长的情况计算得到该搜索 结果未出错时的第一时长以及对应的第一控制字,其中,第二延迟步长小 于该第一延迟步长,例如该第二延迟步长为该第一延迟步长的一半或者十 分之一。该第一步长延迟的设置与该优先级编码路径的总的时序余量相关, 例如时序余量为w1,则该第一步长延时可以设定为w1/x,x为50或100。 当然,其并不限于此。例如,在第n次增加第一步长延迟时,该搜索出现 错误,则该延迟线单元的延迟值设定为w0+(n-1)w1/x,其中,该w0为 该第二延迟线单元的初始延迟值,因此,该第一延迟线单元对应的第一控 制字与该延迟值w0+(n-1)w1/x相对应。
[0107] 当然,可以理解地,还可以依次设置更小的第三延迟步长来进行定位
[0108] 本申请实施例通过设置第一延迟步长以及第二延迟步长可以实现对该 最佳延迟时间的定位,可以尽可能大的在优先级编码路径上挤出时序余量, 从而使得该搜索线驱动器的电压可以尽可能地降低,从而进一步地降低功 耗。
[0109] 在该步骤S203中,对所述电压调整模块进行训练时,逐次降低输出给 所述搜索线驱动器的驱动电压直至TCAM寻址结构的搜索结果出错,并基 于驱动电压降低的情况计算得到所述目标驱动电压对应的电压控制字。其 中,该电压调整模块每次降低的驱动电压的幅度相同,当然也可以不同。
[0110] 可以理解地,在一些实施例中,为了寻找到该目标驱动电压的最佳值, 在训练时,该步骤S203包括:S2031、对所述电压调整模块进行训练时, 以第一电压步长作为幅度逐次降低所述搜索线驱动器的驱动电压直至 TCAM寻址结构的搜索结果出错;S2032、基于使用第一电压步长进行降压 的情况计算得到所述第一预期驱动电压。S2033、以该第一预期驱动电压作 为起点,以第二电压步长作为幅度逐次降低所述搜索线驱动器的驱动电压 直至TCAM寻址结构的搜索结果出错。S2034、基于使用第二电压步长进 行降压的情况计算得到所述目标驱动电压及对应的电压控制字。其中,第 二电压步长小于该第一电压步长,例如,该第二电压步长为该第一电压步 长的一半或者十分之一。第一电压步长的设置可以根据实际情况进行设定, 当然,电压步长设置得越小,得到的最终的目标驱动电压越接近最佳值从 而使得该TCAM寻址结构的功耗最低。例如,在第n次增加第一电压步长 时,该搜索出现错误,则该电压调整模块的输出的第一预期驱动电压设定 为V0-(n-1)V3,其中,该V0为电压调整模块的输出的初始驱动电压, V3为第一电压步长。同理,在基于该第二电压步长的降压情况进行计算目 标驱动电压时,采用与计算第一预期驱动电压相同的方法。例如,在第q 次增加第一电压步长时,该搜索出现错误,则该电压调整模块的输出的第 一预期驱动电压设定为V0-(n-1)V3-(q-1)V4,其中,该V4为第二电 压步长。
[0111] 本申请实施例通过设置第一电压步长以及第二电压步长可以实现对该 最佳延迟驱动电压的定位,从而使得该搜索线驱动器的电压可以尽可能地 降低,从而进一步地降低功耗。
[0112] 请参照图8,图8为本申请一些实施例中的一种训练装置的结构图,该 装置上述的芯片或者电路结构中,所述装置包括:设定模块301、第一训练 模块302以及第二训练模块303。
[0113] 其中,该设定模块301用于给电压调整模块设定初始驱动电压。
[0114] 其中,该第一训练模块302用于对所述延迟线模块的各个延迟线单元 进行依次训练,以得到每一所述延迟线单元的延迟的第一时长的第一控制 字,其中,先训练相对远离TCAM阵列的流水线触发器连接的延迟线单元, 后训练相靠近离TCAM阵列的流水线触发器连接的延迟线单元。
[0115] 其中,该第二训练模块303用于对所述电压调整模块进行训练,以得 到目标驱动电压,其中,将搜索线驱动器的初始驱动电压下降为目标驱动 电压产生的延迟时间增量小于或等于各个所述第一时长的和。
[0116] 在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以 通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如, 所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划 分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统, 或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦 合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦 合或通信连接,可以是电性,机械或其它的形式。
[0117] 另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的, 作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地 方,或者也可以分布到多个网单元上。可以根据实际的需要选择其中的部 分或者全部单元来实现本实施例方案的目的。
[0118] 再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个 独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集 成形成一个独立的部分。
[0119] 在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或 者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或 操作之间存在任何这种实际的关系或者顺序。
[0120] 以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围, 对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请 的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本 申请的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈