The invention discloses a 64B/66B encoder and encoding method based on a two-level look-up table, with a size of 2.
【技术实现步骤摘要】
一种基于二级查表的64B/66B编码器及编码方法
本专利技术属于编解码
,具体涉及一种基于二级查表的64B/66B编码器及编码方法。
技术介绍
64B/66B编码模块是按照编码规则将XGMII输入的64bit数据信息xgmii_txd[63:0]、和8bit控制信息xgmii_txc[7:0]编码成66bit的数据信息,66bit的数据信息包括2bit同步头,8bit块类型及56bit有效负载。,加入2bit的冗余以达到0、1均衡的目的。现有的编码实现方式有两种:查表法和逻辑运算法。查表法是将编码过程抽象成一次查找表映射的过程,该方法电路面积庞大,使用大量的ROM资源;逻辑运算法是将64bit数据划分成8个8bit的窄通道,每个窄通道分别进行译码,该方法是将方法1中272的表格拆分成8个28大小的表格,进行并行译码,该方法相对于查表法来讲查找表小了很多,但是8个大小为256的查找表同时译码对于硬件实现而言仍然很耗费资源。
技术实现思路
本专利技术针对64B/66B编解码实现过程中,硬件开销大、效率低的特点,提出一种关键位置的特征量提取的方法,该方法利用码字的自身特点进行特征量提取,将庞大的查找表缩小成硬件可实现的小的查找表。为达到上述目的,本专利技术所述一种基于二级查表的64B/66B编码装置包括前后两级查找表,第一个查找表根据发送控制字得到一个初步的结果,第二级查找表根据第一个查找表的结果和部分码字的规律进行二级映射,最终得到编码结果。一种基于二级查表的64B/66B编码器,包括第一锁存器模块,一级编码模块,通道划分模块,第二锁存器模块,二级编码模块, ...
【技术保护点】
1.一种基于二级查表的64B/66B编码器,其特征在于,包括第一锁存器模块(1),一级编码模块(2),通道划分模块(3),第二锁存器模块(4),二级编码模块(5),数据选择模块(6)和状态机控制模块(7);其中,第一锁存器模块(1)用于对输入的64bit数据进行缓存,并将缓存的64bit数据发送给第二锁存器模块(4);一级编码模块(2)用于根据输入的8bit控制信息xgmii_txc译出部分块类型,并产生同步头,将同步头发送给第二锁存器模块(4),将接收的8bit控制信息txc[7:0]和一级编码结果发送给二级编码模块(5);通道划分模块(3)用于将输入并行的64bit分成第0至第7共8个通道,每个通道一个字节,并将划分后的8个字节发送给二级编码模块(5);第二锁存器模块(4)用于时序匹配以及数据缓存,缓存接收到的第一锁存器模块(1)发送的64bit数据以及一级编码模块(2)发送的同步头,并使得第二锁存器模块(4)的输出和二级编码模块(5)的输出同一时刻到达数据选择模块(6);二级编码模块(5)用于根据一级编码模块(2)的结果block_type,结合通道划分模块(3)输出的第0通道和 ...
【技术特征摘要】
1.一种基于二级查表的64B/66B编码器,其特征在于,包括第一锁存器模块(1),一级编码模块(2),通道划分模块(3),第二锁存器模块(4),二级编码模块(5),数据选择模块(6)和状态机控制模块(7);其中,第一锁存器模块(1)用于对输入的64bit数据进行缓存,并将缓存的64bit数据发送给第二锁存器模块(4);一级编码模块(2)用于根据输入的8bit控制信息xgmii_txc译出部分块类型,并产生同步头,将同步头发送给第二锁存器模块(4),将接收的8bit控制信息txc[7:0]和一级编码结果发送给二级编码模块(5);通道划分模块(3)用于将输入并行的64bit分成第0至第7共8个通道,每个通道一个字节,并将划分后的8个字节发送给二级编码模块(5);第二锁存器模块(4)用于时序匹配以及数据缓存,缓存接收到的第一锁存器模块(1)发送的64bit数据以及一级编码模块(2)发送的同步头,并使得第二锁存器模块(4)的输出和二级编码模块(5)的输出同一时刻到达数据选择模块(6);二级编码模块(5)用于根据一级编码模块(2)的结果block_type,结合通道划分模块(3)输出的第0通道和第3通道的原始码字lane_0[7:0]、lane_3[7:0],得到全部的块类型BlockTypeField,并将通道划分模块(3)输出的8个通道的值根据XGMII控制符映射表进行字节映射,得到编码数据encode;将8bit块类型BlockTypeField、通道0至通道7的编码数据encode和8bit控制信息xgmii_txc发送至数据选择模块(6);同时将用BlockTypeField产生的块结构字t_blk_type输出至状态机控制模块(7);数据选择模块(6)根据状态机控制模块(7)输出的使能信号判断接收数据是否输出,如果能输出,就输出66bit带同步头的据编码结果,数据编码结果包括2bit的同步头和64bit的编码数据encode;如果不能输出,就输出错误标识;状态机控制模块(7)用于根据二级编码后得到的块类型来判断码流的合法性,并将判断结果作为控制信号发送至数据选择模块(6)。2.一种基于权利要求1所述的编码器的二级查表的64B/66B编码方法,其特征在于,包括以下步骤:步骤1、输入的64bit数据信息写入第一锁存器模块(1)中,一级编码模块(2)根据控制信息xgmii_txc确定同步头sync_header_o[1:0];通道划分模块(3)将输入的64bit数据信息分成8个通道输出至二级编码模块(5);步骤2、第一锁存器模块(1)中的数据读出,与一级编码模块(2)输出的同步头sync_header_o[1:0]合成66bit数据,并写入第二锁存器模块(4)中;一级编码模块(2)根据输入的控制信息xgmii_txc判断该包数据的类型,并输出块结构block_type和控制信息xgmii_txc;步骤3、二级编码模块(5)根据一级编码模块(2)输出的一级编码模结果block_type和通道划分模块(3)输出的lane_0[7:0]和lane...
【专利技术属性】
技术研发人员:哈云雪,徐丹妮,唐金锋,刑宗歧,
申请(专利权)人:西安微电子技术研究所,
类型:发明
国别省市:陕西,61
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。