一种对8b/10b编码方式的改进方法

文档序号:8265190阅读:2460来源:国知局
一种对8b/10b编码方式的改进方法
【技术领域】
[0001]本发明涉及计算机技术领域,具体地说是一种实用性强、对8b/10b编码方式的改进方法。
【背景技术】
[0002]8b/10b,也叫做8比特/10比特或8bl0b。8b/10b最初由IBM公司于1983年发明并应用于ESCON (200M互连系统),由Al Widmer和Peter Franaszek在IBM的刊物“研宄与开发”上描述。其基本思想很简单,就是将Sbit的码字经过映射机制转化为1bit的码字,为了平衡了数据流中“O”和“I”的数量,这就是8b/10b编码的根本目的一一直流平衡,因此,其也往往被称为直流平衡8b/10b编码。8b/10b编码是目前许多高速串行总线采用的编码机制,如 USB3.0、1394b、Serial ATA、PCI Express、Infin1-band、Fibre Channel (光纤通道)、Rapid1等总线或网络等。
[0003]当前针对8b/10b的编码方法分为三种,第一种为查找表法,它用存储器存储所有可能出现的码组,再把输入码组作为存储地址,找出对应的编解码。该方法简单直接,但是编解码电路工作速度受到存储器读取时间的限制,并且不可避免地增加电路的面积和功耗。第二种方法则是通过逻辑运算直接完成编解码功能,该方法的难点在于逻辑关系复杂,同时由于延时、竞争和冒险的存在,使输出的数据抖动严重。第三种就是结合上面两种方法的优点,先对8bit进行分组,分成5bit和3bit,分别对5bit和3bit进行查找编码,然后再将编码后的两部分组合传出,称为块分组法。
[0004]基于上述方法,现提供一种实用性强、对8b/10b编码方式的改进方法。

【发明内容】

[0005]本发明的技术任务是针对以上不足之处,提供一种实用性强、对8b/10b编码方式的改进方法。
[0006]—种对8b/1b编码方式的改进方法,首先把I节8bit字节拆分成5bit和3bit,然后在极性偏差RD控制器的控制下以并列方式对两组字节进行编解码,最后整合输出1bit码字,其具体实现过程为:
一、RD的初始化值为RD-,在时钟上升沿时按照RD-完成第一个8bit数据低5位5bit编码,同时在同一时钟上升沿按照RD-对高位3bit进行编码;
上述极性偏差RD负责控制串行数据流中的直流平衡,在整个编码中起到纽带作用,将5b/6b编码和3b/4b有选择的连接起来,RD只有正负两种状态:RD+和RD-,分别表明数据流中“O ”的个数不小于“ I ”的个数和“ I ”的个数比“O ”的个数多;
二、通过奇偶校验的方法对5bit编码后的6bit进行计算不均等性Disp,并根据结果确定当前的RD是否需要改变,如果6bit的Disp为O则RD不需要变化,否则取反;
所述不均等性Disp是指数据流中“I”和“O”的个数差,
三、根据6bit确定的RD数据确定的3bit编码的输出:若为RD-则直接输出4bit;若为RD+则根据3bit是否在001,010,101,110之中,在则直接输出4bit,反之则对4bit按位取反后输出,并且对输出的4bit计算RD值,这一 RD值作为本组1bit的编码结果极性,当下一组Sbit数据编码时,根据这一 4bit的RD为指导依据。
[0007]在8b/10b编码中为减小游程长度RL的长度,规定编码后的“I” “O”的位数只可能发生三种情况:4个“ I”和6个“O”,5个“ I”和5个“O”,6个“ I”和4个“O”,对应这三种情况的不均等性Disp分别为:-2,0, +2 ;
上述游程长度指数据流中连续“I”或连续“O”的最大位数,并且在编码后1bit数据流的游程长度要求不能大于5。
[0008]所述RD的两种状态由1bit编码中“I”和“O”的个数决定下一状态,如果当前输出的1bit的不均等性Disp为0,则次状态保持不变,否则RD反转。
[0009]本发明的一种对8b/10b编码方式的改进方法,具有以下优点:
该发明的一种对8b/10b编码方式的改进方法采用8b/10b编码,8b/10b编解码技术设定传输数据流拥有连续“I”或连续“O”不能超过5个,保证传输的直流成分接近0,避免因接收端时钟漂移或同步丢失而引起数据丢失;8B/10B编码方法具有直流补偿功能,能够保证链路中数据不会随着时间推移而出现直流偏移;这使得信号的转换不会因电压位阶的关系造成信号错误;
采用块分组的方式,系统优化考虑把I节Sbit字节拆分成5bit和3bit,然后在极性偏差RD (running disparity)控制器的控制下以并列方式编解码。这种方法的组合逻辑实现可以简化码表,减小电路板的面积,有效提尚编码工作速度,同时由于电路的面积减小,功耗显著降低;
具有实时性:原来的块分组虽然是分块但在执行上是顺序的,首先完成5b/6b编码,然后再按照其输出的极性偏差RD值进行相应的3b/4b编码,这样就使得两种编码不能同步完成,从而改变在原来块分组方式下,3/4b和5/6b分组编码不同步的情况;实用性强,易于推广。
【附图说明】
[0010]附图1为5b/6b编码表不意图。
[0011 ] 附图2为3b/4b编码表示意图。
[0012]附图3为RD状态转换图。
[0013]附图4为编码模块示意图。
【具体实施方式】
[0014]下面结合附图和具体实施例对本发明作进一步说明。
[0015]本发明在分析8b/10b编码原理基础上,提出了一种将同步块分组法与查找表法相结合的编码改进设计方法,使其能在同一时钟下可以同步完成5b/6b的编码和3b/4b的编码。在原本的块分组法中,分开的两组编码有先后顺序,3b/4b编码要比5b/6b编码最少要滞后一个时钟周期的时间,不能做到真正的同步,经过改进可以实现简化码表,降低功耗,而且相对于传统的块分组的方法,增强了编码的实时性,提高了编码的工作效率。
[0016]首先把I节8bit字节拆分成5bit和3bit,然后在极性偏差RD控制器的控制下以并列方式对两组字节进行编解码,最后整合输出1bit码字,其具体实现过程为:
一、RD的初始化值为RD-,在时钟上升沿时按照RD-完成第一个8bit数据低5位5bit编码,同时在同
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1