基于8b/10b编码规范的8b/10b编码生成集实现方法

文档序号:9754067阅读:617来源:国知局
基于8b/10b编码规范的8b/10b编码生成集实现方法
【技术领域】
[0001]本发明涉及数字通讯技术领域,具体地,涉及一种基于8b/10b编码规范的8b/10b 编码生成集实现方法。
【背景技术】
[0002] 8b/10b编码制式由IBM在1982年发明,广泛应用于诸如G/XGbps以太网、光纤通信、 服务器网络、FIC0N、IEEE1394b、InfiniBand等结构中。编码的主要目的是将串行数据的位 发送时钟嵌入到串行位流中,在链路上省去随数据一起发送的时钟信号线,从而避免高频 时钟信号产生的EMI噪声。8b/10b编码器保证发送位流中不会出现含有多于5个连续的1或 0,并且同时保证在任意时间检测尺度内,0或者1数目的差值不会超过Sdb/lOb编码器保证 每个10位符号中含有相近的1、〇个数,且连同10位符号给出当前流动差异CRD(current running disparity) XRD反映了自从链路初始化以来发送链路所发送的1和0个数的差异, 然后8b/10b编码器根据CRD选取下一个字符的两个10位编码之一输出,目的是保持被发送 的1和0的个数尽可能地接近相等,维持发送信号上1和0个数的平衡,以此维持信号的直流 平均值为信号阀值电压的一半,使接收信号不含DC成分,减少位间干扰。因为通路信号是通 过电容耦合的,如果信号所含DC成分高,通路耦合电容或内部的线电容被过充电,将会使信 号不能从一种逻辑电平正确地切换到另一种。在具体实现方法上,8b/10b编码是将一组8位 数据分解成高5位和低3位两组数据(假定编码顺序从高位到低位,同数据传输顺序),分别 编码为6位和4位的两组,然后合成为10位的编码,这样做的好处是将编码任务并行化,尽量 减少组合逻辑延时,节省存储器空间,提高编码器性能。除以上提到的数据字编码过程,8b/ 10b编码规范还定义了 12个特殊控制字符或称为有序集。由于控制字符比较少,可以不采用 分组编码而作为一个整体进行编码。
[0003] 申请号为200410002290. X的中国专利申请《基于8b/10b编码器的16b/20b编码器 逻辑实现方法》中提到,由于DDR技术的出现,当8b/10b编码方案用于双沿器件时,会给硬件 设计带来困难。具体表现是,双沿工作的8b/10b编码器本质上由两个分别工作于时钟上升 沿和下降沿的单沿8b/10b编码器组合而成。每一个编码器的游程平衡偏移输出与另一个编 码器的游程平衡偏移输入相连,从而实现游程偏移在时间上的相互继承。实现游程继承的 这条连线实际上跨越两相时钟域,成为时序的关键路径。在时钟频率为100MHz的情况下,这 条连线上的信号的送出延迟时间和输入建立时间之和必须小于5ns,两项操作如果按均分 估算则各为2.5仙。2.5ns的建立时间要求在时钟周期为10ns的情况下明显苛刻,成为关键 路径。为了解决这个问题,该中国专利申请提出了一种基于双8b/10b编码器的16b/20b编码 器逻辑实现方法,技术方案是基于已有的8b/10b编码器(可编程逻辑器件供应商提供的成 熟8b/10b IP-core)加一级编码前处理预测单元,用于提前生成游程平衡偏移以控制8b/ l〇b编码器的游程偏移输入端,实现及时的正确编码。该中国专利申请同时在文中提到,采 取基于已有的8b/10b IP-core,是为了减少设计开销和降低设计成本。由于该中国专利申 请基于已有的8b/lOb IP-core,存在如下缺陷:非完全自主知识产权,核心设计基于IP- core 〇

【发明内容】

[0004] 针对现有技术中存在的上述不足,本发明的目的是提供一种基于8b/10b编码规范 的8b/10b编码生成集实现方法,基于8b/10b编码规范构造新的8b/10b编码生成集实现技 术,提供全新的8b/10b编码生成集实现方案,解决由于DDR技术的出现导致的时钟频率较难 满足问题,解决8b/10b编码游程平衡控制和提高传输带宽之间的矛盾。
[0005] 为实现上述目的,本发明是通过以下技术方案实现的。
[0006] 一种基于8b/10b编码规范的8b/10b编码生成集实现方法,包括如下步骤:
[0007] 对8b/10b编码码表的码字极性状态进行标记;
[0008] 根据8b/10b编码规范,建立16b/20b编码的游程受限约束关系,形成16b/20b编码 的游程受限约束表;
[0009] 对16b/20b编码的游程受限约束表进行查表、翻转和替换操作,完成16b/20b编码。
[0010] 优选地,所述对8b/10b编码码表码字极性状态进行标记,具体为:
[0011] 使用rd_current表示码字极性状态;
[0012] 所述8b/10b数据字编码码表通过5b/6b数据字码表和3b/4b数据字码表实现,控制 字编码则通过一张码表实现,其中:
[0013] 所述513/613数据字码表和3b/4b数据字码表中,rd_current用一位表示;
[0014] 所述控制字码表中,将8b/10b作为一个整体标记,rd_current用两位表示,两位中 的低位和高位分别表示码字低6位和高4位的极性状态;
[0015] 当码字中1比0多或者0比1多时,为极性不平衡,标记为1;当码字中0和1数量相等 时,为极性平衡,标记为〇。
[0016] 优选地,所述建立16b/20b编码的游程受限约束关系具体为:
[0017] 包括如下步骤:
[0018] 步骤S2.1,对5b/6b数据字码表和3b/4b数据字码表进行并行查表过程;所述5b/6b 数据字码表和3b/4b数据字码表的每一个输入均包括两个可供选择的表项,其中,5b/6b数 据字码表编码结果根据CRD现行状态来选择;3b/4b数据字码表编码结果除了根据CRD现行 状态外,还要根据5b/6b编码结果的极性状态数据字码表编码后码字中的0和1的个数来选 择,进而形成8b/l Ob编码码表;
[0019] 步骤S2.2,建立两个8b码字的游程受限约束关系。此游程受限约束关系与CRD现行 状态、待编码数据高8位和低8位的编码结果极性情况有关,探索并建立16b/20b编码游程受 限约束关系,并将这种约束关系建立成16b/20b编码的游程受限约束表。
[0020] 优选地,所述16b/20b编码的游程受限约束关系具体为:
[0021] 记待编码数据为TXD[15:0],控制信息为TXC[1:0];其中,TXC[1:0]中的0表示8位 的TXD是数据字,TXC[ 1:0]中的1表示8位的TXD是控制字;编码顺序从高位到低位;编码输出 tx_data[19:0];存在如下关系:
[0022] rd_ctrl[4:0] = [rd_in d6b_temp_H[6]d4b_temp_H[4]d6b_temp_L[6]d4b_temp_ L[4]];
[0023] 其中:
[0024] rd_Ctrl[4:0]表示待编码数据的极性状态控制信息;
[0025] rd_in表示输入极性,0表示极性为负,1表示极性为正;
[0026] d6b_temp_H[6]、d4b_temp_H[4]、d6b_temp_L[6]、d4b_temp_L[4]分别表不输入高 8和低8位数据的5b/6b和3b/4b编码结果的极性状态,所述5b/6b和3b/4b编码结果的极性状 态通过rd_current表项得到;
[0027] rd_out 通过 rd_ctr 1 [ 4:0 ]的 5bi ts 数据模 2 加得到;
[0028] 控制字码表编码结果的高10位和低10位分别表示为cl0b_H[9:0]和cl0b_L[9:0], 5b/6b数据字码表的编码结果表示为:d6b_H[5:0]、d6b_L[5:0],3b/4b数据字码表的编码结 果表示为:d4b_H[3:0]、d4b_L[ 3:0 ];缺省选择码表中极性为正的码字,即码表CRD为列; 编码结果是否需要翻转表示为:reversal_flag,其中,reversal_flag标记为0表示不翻转, reversal_flag标记为1表示翻转;遵照8b/10b编码规范,建立16b/20b编码游程受限约束关 系。
[0029]优选地,所述对16b/20b编码的游程受限约束表进行查表、翻转和替换操作具体 为:
[0030]-查表操作,由待编码数据TXD[ 15 :0]和控制信息TXC[ 1:0]查编码码表得到rd_ ctrl[4:0];
[0031 ]-翻转操作:由rd_ctrl[4:0]和TXC[1:0]得到翻转控制信息reversal_flag,由TXD [15:0]和TXC[ 1:0]得到初步的编码结果default codeword。两者做异或运算,reversal_ flag标示编码结果是否需要做翻转操作。
[0032] 当reversal_f lag = 1时,进行翻转操作;
[0033] 当reversal_f lag = 0时,不进行翻转操作;
[0034]-替换操作(特殊情况处理):码表中存在一些特殊情况需要对default codeword 编码结果进行处理。D7. y和Dx. 3的编码结果极性平衡,但有两个表项可选,仍需根据CRD情 况判断是否需要翻转,Dx.7的编码结果有连续的3个0或者l,8b/10b编码规范关于游程受限 约束的说明中规定,码字发送位流不出现连续的5个0或者1。为了避免出现连续的5个1或者 〇,需根据前一码字编码结果的低2位情况判断是否需要替换操作。
[0035] 优选地,所述基于8b/10b编码规范的8b/10b编码生成集实现方法,还包
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1