一种实现ODU3中40GE的513b块结构排序的方法与流程

文档序号:26050766发布日期:2021-07-27 15:25阅读:142来源:国知局
一种实现ODU3中40GE的513b块结构排序的方法与流程

本发明涉及otn解析技术领域,尤其涉及一种实现odu3中40ge的513b块结构排序的方法,主要用于解析otn中的40ge。



背景技术:

在对otn中的40ge进行解析处理时,需要完成513b块结构的排序。根据g.709的协议规定,513b块结构由8个64b子单元加一个比特的最高指示位构成,每个64b单元要么为控制字要么为数据,最高的比特指示位用于指示第0个64b单元是否为控制字。513b块结构规定,所有的控制字单元均放在数据单元的前面,相应的各控制字中会有相应字段标记该控制字单元原始的位置号,而数据单元并没有标记位置号的字段,故需要根据上述513b块结构的规定对其进行排序,得到原始的各64b单元的排列顺序。一种可能的方法是,由于协议规定所有的控制字单元均放在513b块结构的最前面,且控制字单元的位置号也是按顺序排列的,所以可以确定第一个控制字的位置号,比如第一个控制字位置号为4,那么可以确定的是,数据单元0/1/2/3是在一起的,接下来需确定数据单元0的位置,即从高到低逐个检测不为控制字的单元即为数据单元0,这样在进行排序的时候,将数据单元0/1/2/3当作一个整体进行排序,这样的方法在处理排序问题时是非常复杂的,需要判断各种可能的组合情况,且在排序过程中会判断很多情况,从而消耗大量的逻辑资源。



技术实现要素:

鉴于上述技术存在的问题,本发明提供一种实现odu3中40ge的513b块结构排序的方法。本发明的目的就是要解决上述技术中存在的处理排序问题复杂、消耗逻辑资源多的问题。

本发明采取的技术方案是:一种实现odu3中40ge的513b块结构排序的方法,该方法基于fpga的硬件平台上实现,步骤如下:

(1)该方法首先定位出513b块结构的每个64b单元的位置号,定位置号的方法是,分8个时钟周期流水处理,每个时钟周期处理一个64b单元,即第0个时钟周期处理第0个64b单元,第1个时钟周期处理第1个64b单元,依此类推,第7个时钟周期处理第7个64b单元;如果当前64b单元是控制字,那么根据协议规定,直接将表示该64b单元的位置号取出来即可,并标记对应的位置为1,其余位置的标记沿用之前处理过的结果,例如,当前64b是控制字,取出来的位置号为5,之前处理过的位置标记结果为00001000,那么在该64b单元处理之后的位置标记则为00001100;而如果当前64b单元是数据,那么需要根据之前的位置标记结果,按优先级从左到右,根据位置标记是否被占用得到当前64b单元要标记的位置,同样其余已经标记过的位置沿用之前处理过的结果,在得到当前64b单元对应的位置标记同时得到了当前64单元的位置号,例如,之前的位置标记为10001100,由于位置0被占用而位置1没有被占用,那么当前处理后的位置标记变为11001100,同时得到当前64b单元的位置号为1,需要说明的是,上述的位置标记从左到右依次是位置0到位置7;

(2)然后根据(1)中得到的各64b单元的位置号进行排序,排序的方法是,8个并行的选择处理单元,将与选择标号相等的位置号对应的64b单元选择出来,从而实现排序,即,选标号0的处理单元根据(1)中得到的结果,从8个64b单元中选择位置号为0的64b单元出来放在最高位置,选标号1的处理单元根据(1)中得到的结果,从8个64b单元中选择位置号为1的64b单元出来放在次高位置,依次类推,选标号7的处理单元根据(1)中得到的结果,从8个64b单元中选择位置号为7的64b单元出来放在最低位置,从而实现513b块结构的8个64b单元的排序,需要说明的是,上述的排序结果按照从高到低对应位置0到7。

本发明所产生的有益效果是:极大的简化了处理排序问题的复杂度、极大的减少了逻辑资源、且对位置号已知的普通排序同样适用,本发明提供的方法在otn解析技术、解析otn中的40ge技术领域有广泛的应用价值。

附图说明

图1为513b块结构示意图;

图2为本发明实现定位513b块结构位置号的方法示意图

图3为本发明实现根据位置号对513b块结构排序的方法示意图。

具体实施方式

以下结合附图对本发明做进一步说明:

图1为513b块结构示意图,根据g.709的协议规定,513b块结构由8个64b子单元加一个比特的最高指示位构成,每个64b单元要么为控制字要么为数据,最高的比特指示位用于指示第0个64b单元是否为控制字。这里为了示意方便,没有给出最高比特的指示位,图中的w表示数据,c表示控制字,并示意513b块结构原始的排序方式为w0-w1-w2-w3-c4-c5-c6-w7,根据协议规定,所有的控制字单元需放在513b块结构的最前面,故513b块结构实际的排序方式为c4-c5-c6-w(0)-w(1)-w(2)-w(3)-w(7),这里w后面的()表示实际的513b块结构中的数据单元并不能直接提取位置号,而根据协议规定,控制字单元是有相应字段标记其原始位置号的。

图2为本发明实现定位513b块结构位置号的方法示意图,这里仍以图1示意的排列顺序为例进行说明。时钟周期clk0时,确定出当前的64b单元为控制字,所以提取出其原始位置号为4,并相应的给出位置标记00001000;时钟周期clk1时,确定出当前的64b单元为控制字,所以提取出其原始位置号为5,在进行位置标记时,之前时钟周期处理过的位置标记予以保留,只改变自己时钟周期对应位置的标记,故时钟周期clk1处理后给出位置标记00001100;时钟周期clk2时,确定出当前的64b单元为控制字,所以提取出其原始位置号为6,同样的需保留之前处理过的位置标记,故时钟周期clk2处理后给出位置标记00001110;时钟周期clk3时,确定出当前的64b单元为数据,所以并不能直接提取出其原始位置号,本发明根据之前处理过的位置标记,对于时钟周期clk3来说,之前的位置标记为00001110,由于位置0标记为0,即位置0没有被占用,故clk3时钟周期确定出当前64b的数据单元原始位置号为0,并给出时钟周期clk3处理后的位置标记10001110;时钟周期clk4时,确定出当前的64b单元为数据,所以并不能直接提取出其原始位置号,本发明根据之前处理过的位置标记,对于时钟周期clk4来说,之前的位置标记为10001110,由于位置0被占用而位置1没有被占用,故clk4时钟周期确定出当前64b的数据单元原始位置号为1,并给出时钟周期clk4处理后的位置标记11001110;时钟周期clk5时,确定出当前的64b单元为数据,所以并不能直接提取出其原始位置号,本发明根据之前处理过的位置标记,对于时钟周期clk5来说,之前的位置标记为11001110,由于位置0和1被占用而位置2没有被占用,故clk5时钟周期确定出当前64b的数据单元原始位置号为2,并给出时钟周期clk5处理后的位置标记11101110;时钟周期clk6时,确定出当前的64b单元为数据,所以并不能直接提取出其原始位置号,本发明根据之前处理过的位置标记,对于时钟周期clk6来说,之前的位置标记为11101110,由于位置0、1和2被占用而位置3没有被占用,故clk6时钟周期确定出当前64b的数据单元原始位置号为3,并给出时钟周期clk6处理后的位置标记11111110;时钟周期clk7时,确定出当前的64b单元为数据,所以并不能直接提取出其原始位置号,本发明根据之前处理过的位置标记,对于时钟周期clk7来说,之前的位置标记为11111110,由于位置0到6全部被占用而位置7没有被占用,故clk7时钟周期确定出当前64b的数据单元原始位置号为7,并给出时钟周期clk7处理后的位置标记11111111。需要强调的时,上述8个时钟周期的处理是流水线的,每个时钟周期处理的方式是一致的。

图3为本发明实现根据位置号对513b块结构排序的方法示意图,这里仍以图1示意的排列顺序为例进行说明。图3中的site_block即为图2中给出位置号标记后的513b块,即实际的513b块从高到低为c4-c5-c6-w(0)-w(1)-w(2)-w(3)-w(7),对应的位置号为4-5-6-0-1-2-3-7。本发明在进行排序时,采用并行处理方式,即8个并行选择单元并行执行选择与自己选择号相等的位置号对应的64b单元,即图3中示意的选标号0处理单元会选择位置号等于0对应的64b单元w0,选标号1处理单元会选择位置号等于1对应的64b单元w1,选标号2处理单元会选择位置号等于2对应的64b单元w2,选标号3处理单元会选择位置号等于3对应的64b单元w3,选标号4处理单元会选择位置号等于4对应的64b单元c4,选标号5处理单元会选择位置号等于5对应的64b单元c5,选标号6处理单元会选择位置号等于6对应的64b单元c6,选标号7处理单元会选择位置号等于7对应的64b单元w7。此外,从图3中可以看出,选标号0处理单元选择出来的w0固定放在最高位置,其余选标号单元放置位置依次靠后排列,故选择的同时完成了排序功能。需要强调的是,8个并行选择单元处理方式是一致的。

从上述实现513b块结构排序的方法可以看出,本发明的主要思想是,首先通过流水线按统一方式给出每个64b单元的位置号,然后根据位置号,采用并行选择方式进行排序,在选择的同时完成了排序。可以看出,这种实现方法无论是在定位置号阶段还是排序阶段,各处理单元的处理方式是统一的,且从上述方法的描述可以看出,处理起来是非常简单可行的,由于需要判断的情况简化,故消耗的逻辑资源大大减少。此外,在进行排序时,采用了并行选择的方法,这对于在位置号已知的排序应用中也是适用的。总之,通过本发明提供的方法,可很好的解决odu3中40ge的513b块结构排序复杂、消耗逻辑资源多的问题,为实现otn解析技术、解析otn中的40ge提供有益参考。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1