公开/公告号CN105049378A
专利类型发明专利
公开/公告日2015-11-11
原文格式PDF
申请/专利权人 盛科网络(苏州)有限公司;
申请/专利号CN201510295920.5
申请日2015-06-02
分类号
代理机构苏州威世朋知识产权代理事务所(普通合伙);
代理人杨林洁
地址 215021 江苏省苏州市工业园区星汉街5号B幢4楼13/16单元
入库时间 2023-12-18 12:06:53
法律状态公告日
法律状态信息
法律状态
2018-08-14
授权
授权
2015-12-09
实质审查的生效 IPC(主分类):H04L12/935 申请日:20150602
实质审查的生效
2015-11-11
公开
公开
技术领域
本发明涉及网络通信领域,尤其涉及一种采用20bits数据接口实现10GBase-X4PCS架构的方法及系统。
背景技术
随着网络技术的发展及信息化应用的普及,以太网交换机得到了越来越广泛的应用,而不同的应用场景对交换机的端口形态及传输速率都有不同的需求。
其中,10GBase-X4是由IEEE802.3定义的物理接口类型,10GBase-X4PCS由4条通道组成,传统的10GBase-X4PCS多采用10bit接口架构,该架构中,每条通道的速率为3.125Gbit/s,故,需要在312.5MHz的时钟下运行,时钟频率过高,同时增加了芯片的功耗。
发明内容
本发明的目的在于提供一种采用20bits数据接口实现10GBase-X4PCS架构的方法及系统。
为实现上述目的之一,本发明一实施方式的采用20bits数据接口实现10GBase-X4PCS架构的方法,所述方法包括:在数据的接收方向上,
对20bit数据进行定界,生成新的20bit数据1;
对所述20bit数据1进行解码,生成新的2字节数据;
对所述2字节数据进行去抖动,生成新的2字节数据1;
在数据的发送方向上,接收PCS上层下发的2字节数据2,对所述2字节数据2进行编码,生成新的20bit数据2。
作为本发明的进一步改进,所述“对20bit数据进行定界,生成新的20bit数据1”具体包括:
P1、接收所述20bit数据,将20bit数据按照排列顺序,分为前10bit数据和后10bit数据;
P2、对前10bit数据进行定界,生成定界结果1;
P3、后10bit数据依据所述定界结果1进行定界,生成定界结果2;
P4、依据所述定界结果2生成新的20bit数据1。
作为本发明的进一步改进,所述“对所述20bit数据1进行解码,生成新的2字节数据”具体包括:
M1、接收所述20bit数据1,将所述20bit数据1按照排列顺序,分为前10bit数据1和后10bit数据1;
M2、对前10bit数据1进行解码,生成解码结果1;
M3、后10bit数据依据所述解码结果1进行解码,生成解码结果2;
M4、依据所述解码结果1和所述解码结果2生成新的2字节数据。
作为本发明的进一步改进,10GBase-X4PCS架构具有4条数据处理通道,每条数据处理通道中对应设置去抖动缓冲器;
所述“对所述2字节数据进行去抖动,生成新的2字节数据1”具体包括:
N1、获取所述2字节数据的对齐标志在每条数据处理通道的去抖动缓冲器中的位置,将其标记为对齐标志地址;
N2、在同一个窗口周期内,每条数据处理通道的去抖动缓冲器中均出现对齐标志后,将每条数据处理通道的去抖动缓冲器中的读指针同时指向对应的所述对齐标志地址;
N3、判断所述读指针分别指向的所述对齐标志地址中对齐标志是否均处于高字节位或低字节位,
若是,继续步骤N4,
若否,将所述读指针分别指向的对齐标志完全对齐到高字节位或低字节位后,再进行步骤N4;
N4、将每条数据处理通道的去抖动缓冲器中,所述读指针指向的所述2字节数据中处于高字节位的4个字节,组成新的高字节组,处于低字节位的4个字节,组成低字节组;
N5、对高字节组或低字节组其中之一进行去抖动,生成处理结果1;
对低字节组或高字节组其中另一依据处理结果1进行去抖动,生成处理结果2;
依据所述处理结果1和所述处理结果2生成新的2字节数据1。
作为本发明的进一步改进,所述“在数据的发送方向上,接收PCS上层下发的2字节数据2,对所述2字节数据2进行编码,生成新的20bit数据2”具体包括:
Q1、接收PCS上层下发的2字节数据2,将所述2字节数据2按照排列顺序,分为前8bit数据2和后8bit数据2;
Q2、对前8bit数据2进行编码,生成编码结果1;
Q3、后8bit数据2依据所述编码结果1进行编码,生成编码结果2;
Q4、依据所述编码结果1和所述编码结果2生成新的20bit数据2。
为实现上述目的之一,本发明一实施方式的采用20bits数据接口实现10GBase-X4PCS架构的系统,所述系统包括:数据接收模块、定界模块、解码模块、去抖动模块、编码模块;
所述数据接收模块用于接收20bit数据;
在数据的接收方向上,所述定界模块用于对20bit数据进行定界,生成新的20bit数据1;
所述解码模块用于对所述20bit数据1进行解码,生成新的2字节数据;
所述去抖动模块用于对所述2字节数据进行去抖动,生成新的2字节数据1;
在数据的发送方向上,所述编码模块用于接收PCS上层下发的2字节数据2,对所述2字节数据2进行编码,生成新的20bit数据2。
作为本发明的进一步改进,所述定界模块具体用于:
接收所述20bit数据,将20bit数据按照排列顺序,分为前10bit数据和后10bit数据;
对前10bit数据进行定界,生成定界结果1;
后10bit数据依据所述定界结果1进行定界,生成定界结果2;
依据所述定界结果2生成新的20bit数据1。
作为本发明的进一步改进,所述解码模块具体用于:
接收所述20bit数据1,将所述20bit数据1按照排列顺序,分为前10bit数据1和后10bit数据1;
对前10bit数据1进行解码,生成解码结果1;
后10bit数据依据所述解码结果1进行解码,生成解码结果2;
依据所述解码结果1和所述解码结果2生成新的2字节数据。
作为本发明的进一步改进,10GBase-X4PCS架构具有4条数据处理通道,每条数据处理通道中对应设置去抖动缓冲器;
所述去抖动模块具体用于:
获取所述2字节数据的对齐标志在每条数据处理通道的去抖动缓冲器中的位置,将其标记为对齐标志地址;
在同一个窗口周期内,每条数据处理通道的去抖动缓冲器中均出现对齐标志后,将每条数据处理通道的去抖动缓冲器中的读指针同时指向对应的所述对齐标志地址;
判断所述读指针分别指向的所述对齐标志地址中对齐标志是否均处于高字节位或低字节位,
若是,继续对所述2字节数据进行去抖动处理;
若否,将所述读指针分别指向的对齐标志完全对齐到高字节位或低字节位后,再继续对所述2字节数据进行去抖动处理;
将每条数据处理通道的去抖动缓冲器中,所述读指针指向的所述2字节数据中处于高字节位的4个字节,组成新的高字节组,处于低字节位的4个字节,组成低字节组;
对高字节组或低字节组其中之一进行去抖动,生成处理结果1;
对低字节组或高字节组其中另一依据处理结果1进行去抖动,生成处理结果2;
依据所述处理结果1和所述处理结果2生成新的2字节数据1。
作为本发明的进一步改进,所述编码模块具体用于:
接收PCS上层下发的2字节数据2,将所述2字节数据2按照排列顺序,分为前8bit数据2和后8bit数据2;
对前8bit数据2进行编码,生成编码结果1;
后8bit数据2依据所述编码结果1进行编码,生成编码结果2;
依据所述编码结果1和所述编码结果2生成新的20bit数据。
与现有技术相比,本发明的有益效果是:本发明的采用20bits数据接口实现10GBase-X4PCS架构的方法及系统,通过对原始数据拆分进行定界、解码、去抖动、编码,使其工作时钟有效降为传统10GBase-X4PCS架构时钟频率的一半,进而减小芯片的功耗。
附图说明
图1A、1B是本发明一实施方式中采用20bits数据接口实现10GBase-X4PCS架构的方法的流程图;
图2A是图1A中步骤S1的具体流程图;
图2B是图1A中步骤S2的具体流程图;
图2C是图1A中步骤S3的具体流程图;
图2D是图1B中步骤A1的具体流程图;
图3A、3B分别是本发明一实施方式中采用20bits数据接口实现10GBase-X4PCS架构的系统中接收方向和发送方向的模块图;
图4A是本发明一实施方式中2组10bit定界状态机串联的结构示意图;
图4B是本发明一实施方式中2组10bit/8bit解码器串联的结构示意图;
图4C是本发明一实施方式中2组DeskewFSM状态机串联的结构示意图;
图4D是本发明一实施方式中2组8bit/10bit编码器串联的结构示意图;
图5A、图5B是本发明一具体示例中对数据去抖动操作流程示意图。
具体实施方式
以下将结合附图所示的具体实施方式对本发明进行详细描述。但这些实施方式并不限制本发明,本领域的普通技术人员根据这些实施方式所做出的结构、方法、或功能上的变换均包含在本发明的保护范围内。
如图1A、图1B所示,在本发明的一实施方式中提供一种采用20bits数据接口实现10GBase-X4PCS架构的方法。
本发明的10GBase-X4PCS架构的工作时钟为156.25MHz。
本实施方式中,所述方法包括:
在数据的接收方向上,
S1、对20bit数据进行定界,生成新的20bit数据1;
S2、对所述20bit数据1进行解码,生成新的2字节数据;
S3、对所述2字节数据进行去抖动,生成新的2字节数据1;
在数据的发送方向上,
A1、接收PCS上层下发的2字节数据2,对所述2字节数据2进行编码,生成新的20bit数据2。
需要说明的是,上述2字节数据、2字节数据1、2字节数据2,以及20bit数据、20bit数据1仅仅是为了方便描述,实际应用过程中,其区别仅在于接收和发送上述数据的方向及比特位不同,在以下实施例中,通过实施例将会得到详细的了解。
结合图4A-4D所示,本发明一实施方式中,在数据的接收方向上,采用2组10bit定界状态机串联,对所述20bit数据进行数据定界;采用2组10bit/8bit解码器串联,对所述20bit数据1进行解码;采用2组DeskewFSM状态机串联,对所述2字节数据进行去抖动。
在数据的发送方向上,采用2组8bit/10bit编码器串联,对2字节数据2进行编码。
结合图2A所示,本发明一具体示例中,所述步骤S1包括:
P1、接收20bit数据,将20bit数据按照排列顺序,分为前10bit数据和后10bit数据;
P2、对前10bit数据进行定界,生成定界结果1;
P3、后10bit数据依据所述定界结果1进行定界,生成定界结果2;
P4、依据所述定界结果2生成新的20bit数据1。
进一步的,在下一个时钟周期到来时,亦即在下一个20bit数据到来时,下一个20bit数据依据所述定界结果2进行定界,如此反复,以完成对20bit数据的定界。
结合图4A所示,以下为本发明一具体示例,以对步骤S1做详细说明:
该示例中,为了方便描述,将2组10bit定界状态机分别以10bit定界状态机0、10bit定界状态机1表示,所述10bit定界状态机0靠近数据接收端。需要说明的是,上述两组10bit定界状态机的功能大致相同,以下将详细描述。
在同一个时钟周期内,本实施方式中,所述时钟的工作频率为156.25MHz;
接收20bit数据,将20bit数据按照排列顺序,分为前10bit数据和后10bit数据。
10bit定界状态机0处理所述前10bit数据,生成定界结果1;所述定界结果1包括:10bit定界状态机0的状态,以及对所述前10bit数据的判断结果。
进一步的,10bit定界状态机1依据定界结果1,以及后10bit数据的内容,对后10bit数据进行定界,生成定界结果2;所述定界结果2包括:10bit定界状态机1的状态,以及对所述后10bit数据的判断结果。
进一步的,在下一个时钟周期到来时,亦即下一个20bit数据到来时,将所述定界结果2发送给10bit定界状态机0,10bit定界状态机0依据所述定界结果2对下一个20bit数据进行定界,如此反复,完成20bit数据的定界。
同时,依据所述定界结果2生成新的20bit数据1,以供解码。
结合图2B所示,本发明一具体示例中,所述步骤S2包括:
M1、接收所述20bit数据1,将所述20bit数据1按照排列顺序,分为前10bit数据1和后10bit数据1;
M2、对前10bit数据1进行解码,生成解码结果1;
M3、后10bit数据依据所述解码结果1进行解码,生成解码结果2;
M4、依据所述解码结果1和所述解码结果2生成新的2字节数据。
进一步的,在下一个时钟周期到来时,亦即在下一个20bit数据1到来时,下一个20bit数据1依据所述解码结果2进行解码,如此反复,以完成对20bit数据1的解码。
结合图4B所示,以下为本发明一具体示例,以对步骤S2做详细说明:
该示例中,为了方便描述,将2组10bit/8bit解码器分别以10bit/8bit解码器0、10bit/8bit解码器1表示,所述10bit/8bit解码器0靠近10bit定界状态机。需要说明的是,上述两组10bit/8bit解码器的功能大致相同,以下将详细描述。
在同一个时钟周期内,接收20bit数据1,将20bit数据1按照排列顺序,分为前10bit数据1和后10bit数据1。
10bit/8bit解码器0处理所述前10bit数据1,生成解码结果1;所述解码结果1包括:解码数据状态1和解码器状态标识1;所述解码数据状态1包括:1bit的控制信号和8bit数据1;所述解码器状态标识1包括:codeerror标志1和disparity标志11。
进一步的,10bit/8bit解码器1依据解码器状态标识1,以及后10bit数据1的内容,对后10bit数据1进行解码,生成解码结果2;所述解码结果2包括:数据状态2和解码器状态标识2;所述数据状态2包括:1bit的控制信号和8bit数据2;所述解码器状态标识2包括:codeerror标志2和disparity标志12。
进一步的,在下一个时钟周期到来时,亦即在下一个20bit数据1到来时,将所述解码器状态标识2发送给10bit/8bit解码器0,10bit/8bit解码器0依据所述解码器状态标识2对下一个20bit数据1进行解码,如此反复,完成20bit数据1的解码。
同时,依据所述解码数据状态1和解码数据状态2生成新的2字节数据1,并进一步的将该2字节数据做去抖动处理。
结合图2C所示,本发明一具体示例中,10GBase-X4PCS架构具有4条数据处理通道,每条数据处理通道中对应设置去抖动缓冲器;
所述步骤S3包括:
N1、获取所述2字节数据的对齐标志在每条数据处理通道的去抖动缓冲器中的位置,将其标记为对齐标志地址;
N2、在同一个窗口周期内,每条数据处理通道的去抖动缓冲器中均出现对齐标志后,将每条数据处理通道的去抖动缓冲器中的读指针同时指向对应的所述对齐标志地址;
N3、判断所述读指针分别指向的所述对齐标志地址中对齐标志是否均处于高字节位或低字节位,
若是,继续步骤N4,
若否,将所述读指针分别指向的所述对齐标志完全对齐到高字节位或低字节位后,再进行步骤N4;
N4、将每条数据处理通道的去抖动缓冲器中,所述读指针指向的所述2字节数据中处于高字节位的4个字节,组成新的高字节组,处于低字节位的4个字节,组成低字节组;
N5、对高字节组或低字节组其中之一进行去抖动,生成处理结果1;
对低字节组或高字节组其中另一依据处理结果1进行去抖动,生成处理结果2;
依据所述处理结果1和所述处理结果2生成新的2字节数据1。
结合图4C所示,以下为本发明一具体示例,以对步骤S3做详细说明:
该示例中,为了方便描述,将2组DeskewFSM状态机分别以DeskewFSM状态机0、DeskewFSM状态机1表示,需要说明的是,上述两组DeskewFSM状态机的功能大致相同,以下将详细描述。
结合图5A、5B所示,本示例中,10GBase-X4PCS架构具有4条数据处理通道,分别为10GBase-X4Lane0、10GBase-X4Lane1、10GBase-X4Lane2、10GBase-X4Lane3;每条数据通道对应设置去抖动缓冲器;本示例中,所述去抖动缓冲器以Deskewbuff表示,亦即4个去抖动缓冲器分别为Deskewbuff0、Deskewbuff1、Deskewbuff2、Deskewbuff3,所述2字节数据进入各条数据处理通道后,每个所述2字节数据1均会不定时出现对齐标志,每条通道中,通常在每隔16-31个2字节数据会出现一个对齐标志,例如:以“/A/”表示所述对齐标志。
进一步的,将接收到的对齐标志对应存储于Deskewbuff中,将其标记为对齐标志地址,如图5A右图所示,Deskewbuff0中的标记地址为3,Deskewbuff1中的标记地址为2,Deskewbuff2中的标记地址为4,Deskewbuff3中的标记地址为1。
本示例中,在每条数据处理通道中均设置一个读指针,并仅在每条数据处理通道中的读指针所指向的对齐标记完全对齐后,将每条数据处理通道中的数据同时发送到DeskewFSM状态机进行去抖动处理。
本示例中,在同一个窗口周期内,每条数据处理通道的去抖动缓冲器中均出现对齐标志后,即4个数据处理通道的去抖动缓冲器均出现对齐标志后,将每条数据处理通道的读指针同时指向对应的所述对齐标志地址,如图5A左图所示,10GBase-X4Lane0中的读指针指向对齐标志地址为3的位置,10GBase-X4Lane1中的读指针指向对齐标志地址为2的位置,10GBase-X4Lane2中的读指针指向对齐标志地址为4的位置,10GBase-X4Lane3中的读指针指向对齐标志地址为1的位置。如此,在下一个窗口周期开始后,将每条数据处理通道中的数据同时发送到DeskewFSM状态机进行去抖动处理。
进一步的,本发明优选实施方式中,需要对所述读指针指向的对齐标志地址进行二次对齐,其原因在于,本发明采用20bits数据接口实现10GBase-X4PCS架构,对2字节数据去抖动过程中,2字节数据包括2个字节,且2个字节其中之一处于高字节位,另一处于低字节位,因此,当4个通道中所述读指针指向对齐标志地址时,各条通道中2字节数据的高字节位和低字节位可能出现未完全对齐的状况。
本示例中,在读指针指向所述对齐标志地址后,判断所述读指针分别指向的所述对齐标志地址中的对齐标志是否均处于高字节位或低字节位,若是,继续对所述2字节数据进行处理,若否,将所述读指针分别指向的对齐标志完全对齐到高字节位或低字节位后,再对所述2字节数据进行处理。
本示例中,图5B右图为二次对齐前的各个数据处理通道中读指针位置,图5B左图为二次对齐后的各个数据处理通道中读指针位置,本示例中,图5B右图中,读指针所指向的各个对齐标志地址中的对齐标记并没有完全对齐,如:10GBase-X4Lane0中的对齐标记在低字节位上,10GBase-X4Lane1中的对齐标记在高字节位上,10GBase-X4Lane2中的对齐标记在低字节位上,10GBase-X4Lane3中的对齐标记在高字节位上。
而图5B左图中,则将各个数据处理通道中读指针指向的对齐标记地址中的对齐标记全部调整到低字节位;当然,也可以将各个数据处理通道中读指针指向的对齐标记地址中的对齐标记全部调整到高字节位,在此不做详细赘述。
进一步的,将每条数据处理通道中,所述读指针指向的所述2字节数据中处于高字节位的4个字节组成新的高字节组,处于低字节位的4个字节组成低字节组。
进一步的,DeskewFSM状态机0对高字节组或低字节组其中之一进行去抖动,DeskewFSM状态机1对低字节组或高字节组其中另一进行去抖动;本示例中,DeskewFSM状态机0处理低字节组,DeskewFSM状态机1处理高字节组。
DeskewFSM状态机0依据所述低字节组生成处理结果1;所述处理结果1包括:DeskewFSM状态机0的状态,以及对所述低字节组的deskew结果1。
进一步的,DeskewFSM状态机1依据DeskewFSM状态机0的状态,以及高字节组的内容,对高字节组进行去抖动,生成处理结果2;所述处理结果2包括:DeskewFSM状态机1的状态,以及对所述高字节组的deskew结果2。
进一步的,在下一个时钟周期到来时,亦即下一个所述低字节组到来时,DeskewFSM状态机1将所述处理处理2发送给DeskewFSM状态机0,DeskewFSM状态机0依据所述处理结果2对下一个低字节组进行去抖动,如此反复,完成对所述2字节数据的去抖动。
同时,依据所述deskew结果1和所述deskew结果2生成新的2字节数据1。
结合图2D所示,本发明一具体示例中,所述步骤A1包括:
Q1、接收PCS上层下发的2字节数据2,将所述2字节数据2按照排列顺序,分为前8bit数据2和后8bit数据2;
Q2、对前8bit数据2进行编码,生成编码结果1;
Q3、后8bit数据2依据所述编码结果1进行编码,生成编码结果2;
Q4、依据所述编码结果1和所述编码结果2生成新的20bit数据2。
进一步的,在下一个2字节数据2到来时,下一个2字节数据2依据所述编码结果2进行编码,如此反复,以完成对2字节数据2的编码。
结合图4D所示,以下为本发明一具体示例,以对步骤S4做详细说明:
该示例中,为了方便描述,将2组8bit/10bit编码器分别以8bit/10bit编码器0、8bit/10bit编码器1表示。需要说明的是,上述两组8bit/10bit编码器的功能大致相同,以下将详细描述。
在同一个时钟周期内,接收PCS上层下发的2字节数据2,将2字节数据2按照排列顺序,分为前8bit数据2和后8bit数据2。
8bit/10bit编码器0处理所述前8bit数据2,生成编码结果1;所述编码结果1包括:编码数据状态1和编码器状态标识1;所述编码数据状态1包括:10bit数据21;所述解码器状态标识1包括:disparity标志21。
进一步的,8bit/10bit编码器1依据编码器状态标识1,以及后8bit数据2的内容,对后8bit数据2进行编码,生成编码结果2;所述编码结果2包括:编码数据状态2和编码器状态标识2;所述编码数据状态2包括:10bit数据22;所述编码器状态标识2包括:disparity标志22。
进一步的,在下一个时钟周期到来时,亦即接收PCS上层下发的下一个2字节数据2时,将所述编码器状态标识2发送给8bit/10bit编码器0,8bit/10bit编码器0依据所述编码器状态标识2对下一个2字节数据2进行编码,如此反复,以完成对2字节数据2的编码。
同时,依据所述编码数据状态1和编码数据状态2生成新的20bit数据2。
需要说明的是,上述对数据的处理分为两个方向,即接收方向和发送方向,在两个方向上对数据的处理方法,可以是相互关联的的,也可以是独立存在的,在此不做详细赘述。
结合图3A、3B所示,在本发明的一实施方式中,采用20bits数据接口实现10GBase-X4PCS架构的系统,所述系统包括:数据接收模块100、定界模块200、解码模块300、去抖动模块400、编码模块500,数据发送模块600。
数据接收模块100用于接收20bit数据;在数据的接收方向上,定界模块200用于对20bit数据进行定界,生成新的20bit数据1;解码模块300用于对所述20bit数据1进行解码,生成新的2字节数据;去抖动模块400用于对所述2字节数据进行去抖动,生成新的2字节数据1;在数据的发送方向上,编码模块500用于接收PCS上层下发的2字节数据2,对所述2字节数据2进行编码,生成新的20bit数据2。。
本发明一实施方式中,在数据的接收方向上,定界模块200采用2组10bit定界状态机串联,对所述20bit数据进行数据定界;解码模块300采用2组10bit/8bit解码器串联,对所述20bit数据1进行解码;去抖动模块400采用2组DeskewFSM状态机串联,对所述2字节数据进行去抖动。在数据的发送方向上,编码模块500采用2组8bit/10bit解码器串联,对所述2字节数据2进行编码。
结合图4A所示,本发明一具体示例中,定界模块200用于接收20bit数据,将20bit数据按照排列顺序,分为前10bit数据和后10bit数据;
对前10bit数据进行定界,生成定界结果1;
后10bit数据依据所述定界结果1进行定界,生成定界结果2;
依据所述定界结果2生成新的20bit数据1。
进一步的,在下一个时钟周期到来时,亦即在下一个20bit数据到来时,下一个20bit数据依据所述定界结果2进行定界,如此反复,以完成对20bit数据的定界。
结合图4A所示,以下为本发明一具体示例。该示例中,为了方便描述,将2组10bit定界状态机分别以10bit定界状态机0、10bit定界状态机1表示,所述10bit定界状态机0靠近数据接收端。需要说明的是,上述两组10bit定界状态机的功能大致相同,以下将详细描述。
本实施方式中,在同一个时钟周期内,所述时钟的工作频率为156.25MHz;
数据接收模块100用于接收20bit数据,将20bit数据按照排列顺序,分为前10bit数据和后10bit数据。
10bit定界状态机0处理所述前10bit数据,生成定界结果1;所述定界结果1包括:10bit定界状态机0的状态,以及对所述前10bit数据的判断结果。
进一步的,10bit定界状态机1依据定界结果1,以及后10bit数据的内容,对后10bit数据进行定界,生成定界结果2;所述定界结果2包括:10bit定界状态机1的状态,以及对所述后10bit数据的判断结果。
进一步的,在下一个时钟周期到来时,亦即下一个20bit数据到来时,10bit定界状态机1将所述定界结果2发送给10bit定界状态机0,10bit定界状态机0依据所述定界结果2对下一个20bit数据进行定界,如此反复,完成20bit数据的定界。
同时,定界模块200依据所述定界结果2生成新的20bit数据1,以供解码。
结合图2B所示,本发明一具体示例中,解码模块300用于接收所述20bit数据1,将所述20bit数据1按照排列顺序,分为前10bit数据1和后10bit数据1;
对前10bit数据1进行解码,生成解码结果1;
后10bit数据依据所述解码结果1进行解码,生成解码结果2;
依据所述解码结果1和所述解码结果2生成新的2字节数据。
进一步的,在下一个时钟周期到来时,亦即在下一个20bit数据1到来时,下一个20bit数据1依据所述解码结果2进行解码,如此反复,以完成对20bit数据1的解码。
结合图4B所示,以下为本发明一具体示例。该示例中,为了方便描述,将2组10bit/8bit解码器分别以10bit/8bit解码器0、10bit/8bit解码器1表示,所述10bit/8bit解码器0靠近10bit定界状态机。需要说明的是,上述两组10bit/8bit解码器的功能大致相同,以下将详细描述。
在同一个时钟周期内,解码模块300接收20bit数据1,将20bit数据1按照排列顺序,分为前10bit数据1和后10bit数据1。
10bit/8bit解码器0处理所述前10bit数据1,生成解码结果1;所述解码结果1包括:解码数据状态1和解码器状态标识1;所述解码数据状态1包括:1bit的控制信号和8bit数据1;所述解码器状态标识1包括:codeerror标志1和disparity标志11。
进一步的,10bit/8bit解码器1依据解码器状态标识1,以及后10bit数据1的内容,对后10bit数据1进行解码,生成解码结果2;所述解码结果2包括:数据状态2和解码器状态标识2;所述数据状态2包括:1bit的控制信号和8bit数据2;所述解码器状态标识2包括:codeerror标志2和disparity标志12。
进一步的,在下一个时钟周期到来时,亦即在下一个20bit数据1到来时,10bit/8bit解码器1将所述解码器状态标识2发送给10bit/8bit解码器0,10bit/8bit解码器0依据所述解码器状态标识2对下一个20bit数据1进行解码,如此反复,完成20bit数据1的解码。
同时,解码模块300依据所述解码数据状态1和解码数据状态2生成新的2字节数据1,并进一步的将该2字节数据做去抖动处理。
结合图2C所示,本发明一具体示例中,10GBase-X4PCS架构具有4条数据处理通道,每条数据处理通道中对应设置去抖动缓冲器;
去抖动模块300用于获取所述2字节数据的对齐标志在每条数据处理通道的去抖动缓冲器中的位置,将其标记为对齐标志地址;
在同一个窗口周期内,每条数据处理通道的去抖动缓冲器中均出现对齐标志后,将每条数据处理通道的去抖动缓冲器中的读指针同时指向对应的所述对齐标志地址;
判断所述读指针分别指向的所述对齐标志地址中对齐标志是否均处于高字节位或低字节位,
若是,继续对所述2字节数据进行去抖动处理;
若否,将所述读指针分别指向的对齐标志完全对齐到高字节位或低字节位后,再继续对所述2字节数据进行去抖动处理;
将每条数据处理通道的去抖动缓冲器中,所述读指针指向的所述2字节数据中处于高字节位的4个字节,组成新的高字节组,处于低字节位的4个字节,组成低字节组;
对高字节组或低字节组其中之一进行去抖动,生成处理结果1;
对低字节组或高字节组其中另一依据处理结果1进行去抖动,生成处理结果2;
依据所述处理结果1和所述处理结果2生成新的2字节数据1。结合图4C所示,以下为本发明一具体示例。
该示例中,为了方便描述,将2组DeskewFSM状态机分别以DeskewFSM状态机0、DeskewFSM状态机1表示,需要说明的是,上述两组DeskewFSM状态机的功能大致相同,以下将详细描述。
结合图5A、5B所示,本示例中,10GBase-X4PCS架构具有4条数据处理通道,分别为10GBase-X4Lane0、10GBase-X4Lane1、10GBase-X4Lane2、10GBase-X4Lane3;每条数据通道对应设置去抖动缓冲器;本示例中,所述去抖动缓冲器以Deskewbuff表示,亦即4个去抖动缓冲器分别为Deskewbuff0、Deskewbuff1、Deskewbuff2、Deskewbuff3,所述2字节数据进入各条数据处理通道后,每个所述2字节数据1均会不定时出现对齐标志,每条通道中,通常在每隔16-31个2字节数据会出现一个对齐标志,例如:以“/A/”表示所述对齐标志。
进一步的,去抖动模块300将接收到的对齐标志对应存储于Deskewbuff中,将其标记为对齐标志地址,如图5A右图所示,Deskewbuff0中的标记地址为3,Deskewbuff1中的标记地址为2,Deskewbuff2中的标记地址为4,Deskewbuff3中的标记地址为1。
本示例中,去抖动模块300在每条数据处理通道中均设置一个读指针,并仅在每条数据处理通道中的读指针所指向的对齐标记完全对齐后,将每条数据处理通道中的数据同时发送到DeskewFSM状态机进行去抖动处理。
本示例中,在同一个窗口周期内,每条数据处理通道的去抖动缓冲器中均出现对齐标志后,即4个数据处理通道的去抖动缓冲器均出现对齐标志后,去抖动模块300将每条数据处理通道的读指针同时指向对应的所述对齐标志地址,如图5A左图所示,10GBase-X4Lane0中的读指针指向对齐标志地址为3的位置,10GBase-X4Lane1中的读指针指向对齐标志地址为2的位置,10GBase-X4Lane2中的读指针指向对齐标志地址为4的位置,10GBase-X4Lane3中的读指针指向对齐标志地址为1的位置。如此,在下一个窗口周期开始后,将每条数据处理通道中的数据同时发送到DeskewFSM状态机进行去抖动处理。
进一步的,本发明优选实施方式中,去抖动模块300需要对所述读指针指向的对齐标志地址进行二次对齐,其原因在于,本发明采用20bits数据接口实现10GBase-X4PCS架构,对2字节数据去抖动过程中,2字节数据包括2个字节,且2个字节其中之一处于高字节位,另一处于低字节位,因此,当4个通道中所述读指针指向对齐标志地址时,各条通道中2字节数据的高字节位和低字节位可能出现未完全对齐的状况。
本示例中,在读指针指向所述对齐标志地址后,去抖动模块300判断所述读指针分别指向的所述对齐标志地址中的对齐标志是否均处于高字节位或低字节位,若是,去抖动模块300继续对所述2字节数据进行处理,若否,去抖动模块300将所述读指针分别指向的对齐标志完全对齐到高字节位或低字节位后,再对所述2字节数据进行处理。
本示例中,图5B图为二次对齐前的各个数据处理通道中读指针位置,图5B左图为二次对齐后的各个数据处理通道中读指针位置,本示例中,图5B右图中,读指针所指向的各个对齐标志地址中的对齐标记并没有完全对齐,如:10GBase-X4Lane0中的对齐标记在低字节位上,10GBase-X4Lane1中的对齐标记在高字节位上,10GBase-X4Lane2中的对齐标记在低字节位上,10GBase-X4Lane3中的对齐标记在高字节位上。
而图5B左图中,去抖动模块300则将各个数据处理通道中读指针指向的对齐标记地址中的对齐标记全部调整到低字节位;当然,去抖动模块300也可以将各个数据处理通道中读指针指向的对齐标记地址中的对齐标记全部调整到高字节位,在此不做详细赘述。
进一步的,将每条数据处理通道中,所述读指针指向的所述2字节数据中处于高字节位的4个字节组成新的高字节组,处于低字节位的4个字节组成低字节组。
进一步的,DeskewFSM状态机0对高字节组或低字节组其中之一进行去抖动,DeskewFSM状态机1对低字节组或高字节组其中另一进行去抖动;本示例中,DeskewFSM状态机0处理低字节组,DeskewFSM状态机1处理高字节组。
DeskewFSM状态机0依据所述低字节组生成处理结果1;所述处理结果1包括:DeskewFSM状态机0的状态,以及对所述低字节组的deskew结果1。
进一步的,DeskewFSM状态机1依据DeskewFSM状态机0的状态,以及高字节组的内容,对高字节组进行去抖动,生成处理结果2;所述处理结果2包括:DeskewFSM状态机1的状态,以及对所述高字节组的deskew结果2。
进一步的,在下一个时钟周期到来时,亦即下一个所述低字节组到来时,DeskewFSM状态机1将所述处理处理2发送给DeskewFSM状态机0,DeskewFSM状态机0依据所述处理结果2对下一个低字节组进行去抖动,如此反复,完成对所述2字节数据的去抖动。
同时,去抖动模块300依据所述deskew结果1和所述deskew结果2生成新的2字节数据1。
结合图2D所示,本发明一具体示例中。解码模块500用于接收PCS上层下发的2字节数据2,将所述2字节数据2按照排列顺序,分为前8bit数据2和后8bit数据2。
对前8bit数据2进行编码,生成编码结果1;
后8bit数据2依据所述编码结果1进行编码,生成编码结果2;
依据所述编码结果1和所述编码结果2生成新的20bit数据2。
进一步的,在下一个2字节数据2到来时,下一个2字节数据2依据所述编码结果2进行编码,如此反复,以完成对2字节数据2的编码。
结合图4D所示,以下为本发明一具体示例。该示例中,为了方便描述,将2组8bit/10bit编码器分别以8bit/10bit编码器0、8bit/10bit编码器1表示。需要说明的是,上述两组8bit/10bit编码器的功能大致相同,以下将详细描述。
在同一个时钟周期内,解码模块500接收PCS上层下发的2字节数据2,将2字节数据2按照排列顺序,分为前8bit数据2和后8bit数据2。
8bit/10bit编码器0处理所述前8bit数据2,生成编码结果1;所述编码结果1包括:编码数据状态1和编码器状态标识1;所述编码数据状态1包括:10bit数据21;所述解码器状态标识1包括:disparity标志21。
进一步的,8bit/10bit编码器1依据编码器状态标识1,以及后8bit数据2的内容,对后8bit数据2进行编码,生成编码结果2;所述编码结果2包括:编码数据状态2和编码器状态标识2;所述编码数据状态2包括:10bit数据22;所述编码器状态标识2包括:disparity标志22。
进一步的,在下一个时钟周期到来时,亦即接收PCS上层下发的下一个2字节数据2时,8bit/10bit编码器1将所述编码器状态标识2发送给8bit/10bit编码器0,8bit/10bit编码器0依据所述编码器状态标识2对下一个2字节数据2进行编码,如此反复,以完成对2字节数据2的编码。
同时,解码模块500依据所述编码数据状态1和编码数据状态2生成新的20bit数据2。
综上所述,本发明的采用20bits数据接口实现10GBase-X4PCS架构的方法及系统,通过对原始数据拆分进行定界、解码、去抖动、编码,使其工作时钟有效降为传统10GBase-X4PCS架构时钟频率的一半,进而减小芯片的功耗。
为了描述的方便,描述以上系统时以功能分为各种模块分别描述。通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助通用硬件平台的方式来实现。
以上所描述的系统实施方式仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件是逻辑模块,即可以位于芯片逻辑中的一个模块中,或者也可以分布到芯片内的多个数据处理模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施方式方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施方式中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。
机译: 用于在成像单元,服务器和计算机之间传输数据,检查图像和消息的医疗系统架构,所述系统采用代理服务器进行数据传输,并且适用于DICOM应用
机译: 改进的用于检测kruuzweisen rufbefehlen并保存数据的系统和方法,尤其是在多代码执行中的代码接口实现和功能强大的系统
机译: 使用深度学习将自然语言接口实现到数据存储的方法和系统