一种查找表电路的实现方法及查找表电路的制作方法

文档序号:7674981阅读:156来源:国知局
专利名称:一种查找表电路的实现方法及查找表电路的制作方法
技术领域
本发明涉及一种查找表电路的实现方法及使用该方法制作的查找表电路。
为达到上述目的,本发明提供的查找表电路的实现方法,包括(1)设置存储器,作为查找表电路的查找表存储器,设定数据的源地址与目的地址之间的对应关系,对源地址进行排序,将源地址和目的地址按照源地址的排序顺序以及源地址和目的地址之间的对应关系存入该存储器;(2)设置状态机,作为查找表电路的查找表状态机,使其能够访问查找表存储器,当需要通过数据的源地址获取其目的地址时,通过对查找表存储器中的源地址的匹配查找,从而找到该数据目的地址。
所述设置存储器为设置双端口随机存储器(RAM),将双端口RAM的一个端口设置为系统访问端口,以使系统通过该端口对查找表存储器写入配置数据和读出配置数据;另一个端口设置为查找表状态机访问端口,以使查找表状态机通过该端口读取该查找表存储器中的配置数据。
所述对源地址进行排序按照源地址从大到小的顺序进行。
所述对源地址进行排序也可以按照源地址从小到大的顺序进行。
所述对查找表存储器中的源地址的匹配查找,按照折半查找方法进行。
本发明还提供了按照权利要求1所述的方法构造的查找表电路,包括查找表存储器和查找表状态机,其中
查找表存储器,用于按数据的源地址与目的地址具有的对应关系,以源地址排序的顺序存储源地址和目的地址;查找表状态机,用于根据系统提供的数据源地址访问查找表存储器,通过对查找表存储器中源地址的匹配查找,从而找到目的地址,并将该目的地址反馈到系统。
所述查找表存储器为双端口随机存储器(RAM),将双端口RAM的一个端口设置为系统访问端口,以使系统通过该端口对查找表存储器写入配置数据和读出配置数据;另一个端口设置为查找表状态机访问端口,以使查找表状态机通过该端口读取该查找表存储器中的配置数据。
由于本发明通过设置查找表存储器和设置查找表状态机的方法构造查找表电路,将源地址和目的地址按照源地址的排序顺序以及源地址和目的地址之间的对应关系存入该存储器;当需要通过数据的源地址获取其目的地址时,通过折半查找的方法对查找表存储器中的源地址的匹配查找,从而找到该数据的目的地址,因此采用本发明可以将所需要的查找表存储器的容量要求降到最低,在绝大部分的应用中都可以把查找表存储器放在逻辑IC或ASIC芯片内部实现,进而简化了单板设计,降低了成本,并且所实现的查找表电路结构简单、查找速度快。
图5是

图1所述实施例中查找表存储器可以采用的第三种数据结构图;图6是图1所述实施例中查找表存储器可以采用的第四种数据结构图;图7是图1所述实施例中查找表存储器可以采用的第五种数据结构图;图8是应用图1所述实施例实现的ATM交换电路的实例图。
图1是本发明所述方法实施例流程图。按照图1实施本发明包括两个步骤第1步,设置存储器,作为查找表电路的查找表存储器,设定数据的源地址与目的地址之间的对应关系,对源地址进行排序,将源地址和目的地址按照源地址的排序顺序以及源地址和目的地址之间的对应关系存入该存储器。所述查找表存储器可以在逻辑电路(IC)或专用集成电路(AISC)内部实现,所述查找表存储器如果采用双端口RAM,将双端口RAM的一个端口设置为系统访问端口,以使系统通过该端口对查找表存储器写入配置数据和读出配置数据;另一个端口设置为查找表状态机访问端口,以使查找表状态机通过该端口读取该查找表存储器中的配置数据。该步骤中所述对源地址进行排序按照源地址从小到大的顺序进行,如果所设置的存储器的数据宽度不小于源地址和目的地址的宽度之和,则所述将源地址和目的地址按照源地址的排序顺序以及源地址和目的地址之间的对应关系存入查找表存储器,就可以按照源地址的排序顺序,将源地址和与其对应的目的地址存储到查找表存储器的相同的地址单元中,参考图3。
上述设置存储器也可以用普通单端口RAM实现,但也必须提供系统访问端口和查找表状态机访问端口,其中系统访问端口用于对查找表存储器写入配置数据和读出配置数据,查找表状态机访问端口用于使查找表状态机通过该端口读取查找表存储器中的配置数据。因此当查找表存储器用普通单端口RAM实现时,必须采用一定的控制切换逻辑防止系统和查找表状态机同时访问查找表存储器。
第2步,设置状态机,作为查找表电路的查找表状态机,在系统完成对查找表存储器的数据配置后,应该输出一个使能信号允许查找表状态机进入正常工作状态,使其能够访问查找表存储器,当需要通过数据的源地址获取其目的地址时,通过对查找表存储器中的源地址的匹配查找,从而找到该数据目的地址。所述对查找表存储器中的源地址的匹配查找,按照折半查找方法进行。
本例中查找表状态机按照折半查找方法来查找匹配的地址,可以依照的查找步骤如下(1)设置查找表存储器地址最高位为“1”,其余的低位地址全为“0”,读取查找表中相应的源地址数据与接收到的源地址比较,如果相等,则目的地址就是该源地址后面对应的目的地址;状态机完成查找,跳转出循环查找状态;如果接收到的源地址比查找表中的源地址小,则查找表存储器地址的最高位为0;如果接收到的源地址比查找表中的源地址大,则查找表存储器地址的最高位为1;在后面的查找过程中查找表存储器地址最高位不再变化。
(2)设置查找表存储器地址次高位为“1”,其余的低位地址全为“0”,读取查找表中相应的源地址数据与接收到的源地址比较,如果相等,则目的地址就是该源地址后面对应的目的地址;状态机完成查找,跳转出循环查找状态;如果接收到的源地址比查找表中的源地址小,则查找表存储器地址的次高位为0;如果接收到的源地址比查找表中的源地址大,则查找表存储器地址的次高位为1;在后面的查找过程中查找表存储器地址次高位不再变化。
(3)按照上面的步骤依此类推,每次比较判断操作可以确定一个查找表存储器的地址位,查找一个深度为2m的查找表最多只需要进行m+1次查找比较操作。由于可能出现没有匹配项的情况,当判断最低位地址时,如果最低地址位为1的查找表数据不匹配还必须比较最低地址位为0查找表数据。
需要指出,在查找表存储器的数据配置中,源地址在查找表存储器中的物理地址是按照大小顺序排列的,可以是最大的排在最后面,最小的排在最前面,也可以是最大的排在最前面,最小的排在最后面,只要在查找表状态机进行地址查找时执行不同的处理即可。因此在上述步骤1中,所述对源地址进行排序也可以按照源地址从大到小的顺序进行。
所述将源地址和目的地址按照源地址的排序顺序以及源地址和目的地址之间的对应关系存入查找表存储器,也可以是按照源地址的排序顺序,将源地址和与其对应的目的地址存储到查找表存储器的相邻的地址单元中,参考图4和图5。当然源地址和目的地址的存储还可以按照源地址的排序顺序,将源地址按序存储到查找表存储器相邻的存储单元中,将与源地址对应的目的地址按源地址的排序顺序存储到查找表存储器的相邻的地址单元中,参考图6和图7。
这样,查找表存储器的数据结构及其数据配置除了可以采用图3结构外,也可以采用图4、5、6或图7的结构,还可以采用其他任意构造的对应关系,但都必须满足源地址在查找表储存器中的物理地址是按照大小顺序排列的和源地址的存储器中的物理地址与目的地址的存储器物理地址有明确的对应关系这两个条件。
本发明提供的上述方法构造的查找表电路,包括查找表存储器3和查找表状态机4,参考图2,其中查找表存储器3,用于按源地址与目的地址具有的对应关系,以源地址排序的顺序存储源地址和目的地址。所述查找表存储器3为可以提供2个端口的随机存储器,将此存储器的一个端口设置为系统访问端口,以使系统通过该端口对查找表存储器写入配置数据和读出配置数据;另一个端口设置为查找表状态机访问端口,以使查找表状态机通过该端口读取该查找表存储器中的配置数据。
查找表状态机4,用于根据系统提供的数据源地址访问查找表存储器,通过采用折半查找算法对查找表存储器中源地址的匹配查找,从而找到目的地址,并将该目的地址反馈到系统。
本发明提供的查找表电路适用于所有需要使用查找表电路的逻辑IC或ASIC芯片设计,包括但可以不限于报文存储转发、交换或信元重组等应用场合。由于执行地址查找操作需要一定的时间,为了避免因此而影响系统性能,可以采用并行处理的方法。由于在报文或ATM信元的数据结构中都是源地址在前面,后面是报文的数据或ATM信元净荷,这样当接收状态机接收到前面的源地址时立即输出给查找表电路查找目的地址,在报文的数据或ATM信元净荷的接收过程中查找表状态机同时执行地址查找操作,在绝大部分应用的情况下,地址查找操作的时间远远小于报文数据或ATM信元净荷的接收时间,这样就不会因为地址查找操作而影响系统性能。
图8是应用图1所述实施例实现的ATM交换电路的实例图。图中虚线框中的电路逻辑框图就是查找表电路,它由查找表状态机和查找表存储器组成;接收状态机完成外部输入接口的时序配合,接收外部输入接口输入的ATM信元,其中信元头送给查找表状态机,信元净荷送到接收FIFO队列;查找表状态机从查找表存储器中查找到目的地址后将目的地址输出到主处理状态机,主处理状态机再将该ATM信元交换后的目的地址和接收FIFO队列中的信元净荷组装成ATM信元送到发送FIFO队列,发送状态机完成外部输出接口的时序配合,把发送FIFO队列中的ATM信元输出到外部输出接口。
从上述本发明采用的方案可以看出,本发明可将所需要的查找表存储器容量要求降到最低限度,因此在绝大部分的应用中都可以把查找表存储器放在逻辑IC或ASIC芯片内部实现,如果在某些特殊应用中要求支持的连接数非常多,导致需要的查找表存储器容量较大,不能放在逻辑IC或ASIC芯片内部,也可以在逻辑IC或ASIC芯片外部配置一片存储器芯片做为查找表存储器,尽管由于需要访问外部存储器芯片,会使查找速度会变慢,但在采用并行处理的情况下,只要查找时间小于数据净荷写入的时间就不会影响系统性能。
如果系统对性能要求不高,也可以将查找表状态机放在主处理状态机中实现,这样整体电路结构可以简化。
权利要求
1.一种查找表电路的实现方法,包括(1)设置存储器,作为查找表电路的查找表存储器,设定数据的源地址与目的地址之间的对应关系,对源地址进行排序,将源地址和目的地址按照源地址的排序顺序以及源地址和目的地址之间的对应关系存入该存储器;(2)设置状态机,作为查找表电路的查找表状态机,使其能够访问查找表存储器,当需要通过数据的源地址获取其目的地址时,通过对查找表存储器中的源地址的匹配查找,从而找到该数据目的地址。
2.根据权利要求1所述的查找表电路的实现方法,其特征在于所述设置存储器为设置双端口随机存储器(RAM),将双端口RAM的一个端口设置为系统访问端口,以使系统通过该端口对查找表存储器写入配置数据和读出配置数据;另一个端口设置为查找表状态机访问端口,以使查找表状态机通过该端口读取该查找表存储器中的配置数据。
3.根据权利要求1所述的查找表电路的实现方法,其特征在于所述设置存储器为设置单端口RAM,将单端口RAM的端口设置为系统和查找表状态机共同访问的端口,以使系统通过该端口对查找表存储器写入配置数据和读出配置数据,以及使查找表状态机通过该端口读取该查找表存储器中的配置数据。
4.根据权利要求1所述的查找表电路的实现方法,其特征在于所述对源地址进行排序按照源地址从大到小的顺序进行。
5.根据权利要求1所述的查找表电路的实现方法,其特征在于所述对源地址进行排序按照源地址从小到大的顺序进行。
6.根据权利要求1、2、3、4或5所述的查找表电路的实现方法,其特征在于所述对查找表存储器中的源地址的匹配查找,按照折半查找方法进行。
7.一种按照权利要求1所述的方法构造的查找表电路,包括查找表存储器和查找表状态机,其中查找表存储器,用于按数据的源地址与目的地址具有的对应关系,以源地址排序的顺序存储源地址和目的地址;查找表状态机,用于根据系统提供的数据源地址访问查找表存储器,通过对查找表存储器中源地址的匹配查找,从而找到目的地址,并将该目的地址反馈到系统。
8.根据权利要求7所述的查找表电路,其特征在于所述查找表存储器为双端口随机存储器(RAM),将双端口RAM的一个端口设置为系统访问端口,以使系统通过该端口对查找表存储器写入配置数据和读出配置数据;另一个端口设置为查找表状态机访问端口,以使查找表状态机通过该端口读取该查找表存储器中的配置数据。
全文摘要
本发明公开了一种查找表电路的实现方法,包括设置存储器,作为查找表电路的查找表存储器;设置状态机,作为查找表电路的查找表状态机,使其能够访问查找表存储器;将源地址和目的地址按照源地址的排序顺序以及源地址和目的地址之间的对应关系存入该存储器,当需要通过数据的源地址获取其目的地址时,查找表状态机对查找表存储器中的源地址的进行匹配查找,从而找到该数据目的地址;采用上述方案实现查找表电路,可以所查找表存储器的容量降到最低,在绝大部分的应用中都可以把查找表存储器放在逻辑IC或ASIC芯片内部实现,进而简化单板设计,降低成本;本发明还提供了一种按上述方法实现的查找表电路,该电路结构简单、查找速度快。
文档编号H04L12/54GK1434603SQ0210075
公开日2003年8月6日 申请日期2002年1月23日 优先权日2002年1月23日
发明者涂君 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1