[发明专利]一种基于二级查表的64B/66B编码器及编码方法有效
申请号: | 201811307961.1 | 申请日: | 2018-11-05 |
公开(公告)号: | CN109347484B | 公开(公告)日: | 2022-07-12 |
发明(设计)人: | 哈云雪;徐丹妮;唐金锋;刑宗歧 | 申请(专利权)人: | 西安微电子技术研究所 |
主分类号: | H03M13/00 | 分类号: | H03M13/00 |
代理公司: | 西安通大专利代理有限责任公司 61200 | 代理人: | 徐文权 |
地址: | 710065 陕西*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 二级 64 66 编码器 编码 方法 | ||
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],得到全部的块类型Block Type Field,并将通道划分模块(3)输出的8个通道的值根据XGMII 控制符映射表进行字节映射,得到编码数据encode;将8bit块类型Block Type Field、通道0至通道7的编码数据encode和8bit控制信息xgmii_txc发送至数据选择模块(6);同时将用Block TypeField产生的块结构字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_3[7:0]数据进行二级编码,得到二级编码结果Block Type Field;并将Block Type Field映射成相应的块结构字t_blk_type,然后发送给状态机控制模块(7),状态机控制模块(7)根据发送状态机判断此时收到的块结构字判断包数据是否合法,若合法,向数据选择模块(6)输出tx_coded_sel=1,若非法,则tx_coded_sel=0;二级编码模块(5)将通道划分模块(3)输出的8个通道的值根据XGMII 控制符映射表进行字节映射,得到编码数据encode;
步骤4、数据选择模块(6)根据接收到的tx_coded_sel的值判断是否输出数据,若tx_coded_sel=1,且txc[7:0]=8’b00000000,则该64bit为全数据,则将第二锁存器模块(4)的数据xgmii_txd_dd[65:0]读出,此时sync_header_o[1:0]= xgmii_txd_dd[65:64],encode_o[63:0]= xgmii_txd_dd[63:0],编码完成;若tx_coded_sel=1,txc[7:0]!= 8’b00000000,则该64bit不为全数据,则将第二锁存器模块(4)的数据xgmii_txd_dd[65:0]读出,此时sync_header_o[1:0]= xgmii_txd_dd[65:64], txc对应位是1时,该字节为控制字符,输出二级编码模块(5)输入的encode,txc[7:0]对应位是0时该字节为数据字符,输出第二锁存器模块(4)输入的缓存数据对应字节;若tx_coded_sel=0,表示发送帧错误;encode_o[63:0]= 0xFEFEFEFE_FEFEFEFE,编码完成;
步骤2中,查表得到一级编码结果块结构block_type ;
所述表为:
。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安微电子技术研究所,未经西安微电子技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811307961.1/1.html,转载请声明来源钻瓜专利网。
- 同类专利
- 专利分类