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

技术编号:14569100 阅读:71 留言:0更新日期:2017-02-06 02:53
本发明专利技术提供了一种基于8b/10b编码规范的8b/10b编码生成集实现方法,包括:对8b/10b编码码表中的码字进行编码并对编码结果的极性状态进行标记;根据8b/10b编码规范,建立16b/20b编码的游程受限约束关系,形成16b/20b编码的游程受限约束表;对16b/20b编码的游程受限约束表进行查表、翻转和替换操作,完成16b/20b编码。本发明专利技术具有逻辑简单开销低、速度快传输带宽高优点;通过将本发明专利技术16b/20b编码技术方案的CRD计算提前至编码器之前并增加一级同步延迟时钟,本发明专利技术技术方案可推广至32b/40b等更大规模8b/10b编码生成集实现。

【技术实现步骤摘要】

本专利技术涉及数字通讯
,具体地,涉及一种基于8b/10b编码规范的8b/10b编码生成集实现方法
技术介绍
8b/10b编码制式由IBM在1982年专利技术,广泛应用于诸如G/XGbps以太网、光纤通信、服务器网络、FICON、IEEE1394b、InfiniBand等结构中。编码的主要目的是将串行数据的位发送时钟嵌入到串行位流中,在链路上省去随数据一起发送的时钟信号线,从而避免高频时钟信号产生的EMI噪声。8b/10b编码器保证发送位流中不会出现含有多于5个连续的1或0,并且同时保证在任意时间检测尺度内,0或者1数目的差值不会超过5。8b/10b编码器保证每个10位符号中含有相近的1、0个数,且连同10位符号给出当前流动差异CRD(currentrunningdisparity)。CRD反映了自从链路初始化以来发送链路所发送的1和0个数的差异,然后8b/10b编码器根据CRD选取下一个字符的两个10位编码之一输出,目的是保持被发送的1和0的个数尽可能地接近相等,维持发送信号上1和0个数的平衡,以此维持信号的直流平均值为信号阀值电压的一半,使接收信号不含DC成分,减少位间干扰。因为通路信号是通过电容耦合的,如果信号所含DC成分高,通路耦合电容或内部的线电容被过充电,将会使信号不能从一种逻辑电平正确地切换到另一种。在具体实现方法上,8b/10b编码是将一组8位数据分解成高5位和低3位两组数据(假定编码顺序从高位到低位,同数据传输顺序),分别编码为6位和4位的两组,然后合成为10位的编码,这样做的好处是将编码任务并行化,尽量减少组合逻辑延时,节省存储器空间,提高编码器性能。除以上提到的数据字编码过程,8b/10b编码规范还定义了12个特殊控制字符或称为有序集。由于控制字符比较少,可以不采用分组编码而作为一个整体进行编码。申请号为200410002290.X的中国专利申请《基于8b/10b编码器的16b/20b编码器逻辑实现方法》中提到,由于DDR技术的出现,当8b/10b编码方案用于双沿器件时,会给硬件设计带来困难。具体表现是,双沿工作的8b/10b编码器本质上由两个分别工作于时钟上升沿和下降沿的单沿8b/10b编码器组合而成。每一个编码器的游程平衡偏移输出与另一个编码器的游程平衡偏移输入相连,从而实现游程偏移在时间上的相互继承。实现游程继承的这条连线实际上跨越两相时钟域,成为时序的关键路径。在时钟频率为100MHz的情况下,这条连线上的信号的送出延迟时间和输入建立时间之和必须小于5ns,两项操作如果按均分估算则各为2.5ns。2.5ns的建立时间要求在时钟周期为10ns的情况下明显苛刻,成为关键路径。为了解决这个问题,该中国专利申请提出了一种基于双8b/10b编码器的16b/20b编码器逻辑实现方法,技术方案是基于已有的8b/10b编码器(可编程逻辑器件供应商提供的成熟8b/10bIP-core)加一级编码前处理预测单元,用于提前生成游程平衡偏移以控制8b/10b编码器的游程偏移输入端,实现及时的正确编码。该中国专利申请同时在文中提到,采取基于已有的8b/10bIP-core,是为了减少设计开销和降低设计成本。由于该中国专利申请基于已有的8b/10bIP-core,存在如下缺陷:非完全自主知识产权,核心设计基于IP-core。
技术实现思路
针对现有技术中存在的上述不足,本专利技术的目的是提供一种基于8b/10b编码规范的8b/10b编码生成集实现方法,基于8b/10b编码规范构造新的8b/10b编码生成集实现技术,提供全新的8b/10b编码生成集实现方案,解决由于DDR技术的出现导致的时钟频率较难满足问题,解决8b/10b编码游程平衡控制和提高传输带宽之间的矛盾。为实现上述目的,本专利技术是通过以下技术方案实现的。一种基于8b/10b编码规范的8b/10b编码生成集实现方法,包括如下步骤:对8b/10b编码码表的码字极性状态进行标记;根据8b/10b编码规范,建立16b/20b编码的游程受限约束关系,形成16b/20b编码的游程受限约束表;对16b/20b编码的游程受限约束表进行查表、翻转和替换操作,完成16b/20b编码。优选地,所述对8b/10b编码码表码字极性状态进行标记,具体为:使用rd_current表示码字极性状态;所述8b/10b数据字编码码表通过5b/6b数据字码表和3b/4b数据字码表实现,控制字编码则通过一张码表实现,其中:所述5b/6b数据字码表和3b/4b数据字码表中,rd_current用一位表示;所述控制字码表中,将8b/10b作为一个整体标记,rd_current用两位表示,两位中的低位和高位分别表示码字低6位和高4位的极性状态;当码字中1比0多或者0比1多时,为极性不平衡,标记为1;当码字中0和1数量相等时,为极性平衡,标记为0。优选地,所述建立16b/20b编码的游程受限约束关系具体为:包括如下步骤:步骤S2.1,对5b/6b数据字码表和3b/4b数据字码表进行并行查表过程;所述5b/6b数据字码表和3b/4b数据字码表的每一个输入均包括两个可供选择的表项,其中,5b/6b数据字码表编码结果根据CRD现行状态来选择;3b/4b数据字码表编码结果除了根据CRD现行状态外,还要根据5b/6b编码结果的极性状态数据字码表编码后码字中的0和1的个数来选择,进而形成8b/10b编码码表;步骤S2.2,建立两个8b码字的游程受限约束关系。此游程受限约束关系与CRD现行状态、待编码数据高8位和低8位的编码结果极性情况有关,探索并建立16b/20b编码游程受限约束关系,并将这种约束关系建立成16b/20b编码的游程受限约束表。优选地,所述16b/20b编码的游程受限约束关系具体为:记待编码数据为TXD[15:0],控制信息为TXC[1:0];其中,TXC[1:0]中的0表示8位的TXD是数据字,TXC[1:0]中的1表示8位的TXD是控制字;编码顺序从高位到低位;编码输出tx_data[19:0];存在如下关系:rd_ctrl[4:0]=[rd_ind6b_temp_H[6]d4b_temp_H[4]d6b_temp_L[6]d4b_temp_L[4]];其中:rd_ctrl[4:0]表示待编码数据的极性状态控制信息;rd_in表示输入极性,0表示极性为负,1本文档来自技高网
...

【技术保护点】
一种基于8b/10b编码规范的8b/10b编码生成集实现方法,其特征在于,包括如下步骤:对8b/10b编码码表中的码字极性状态进行标记;根据8b/10b编码规范,建立16b/20b编码的游程受限约束关系,形成16b/20b编码的游程受限约束表;依据待编码数据TXD[15:0]、控制信息TXC[1:0]以及当前流动差异CRD,对16b/20b编码的游程受限约束表进行查表、翻转和替换操作,完成16b/20b编码。

【技术特征摘要】
1.一种基于8b/10b编码规范的8b/10b编码生成集实现方法,其特征在于,包
括如下步骤:
对8b/10b编码码表中的码字极性状态进行标记;
根据8b/10b编码规范,建立16b/20b编码的游程受限约束关系,形成16b/20b编
码的游程受限约束表;
依据待编码数据TXD[15:0]、控制信息TXC[1:0]以及当前流动差异CRD,对16b/20b
编码的游程受限约束表进行查表、翻转和替换操作,完成16b/20b编码。
2.根据权利要求1所述的基于8b/10b编码规范的8b/10b编码生成集实现方法,
其特征在于,所述对8b/10b编码码表中的码字进行编码并对编码结果的极性状态进行
标记,具体为:
使用rd_current表示码字极性状态;
所述8b/10b编码码表,数据字编码通过5b/6b数据字码表和3b/4b数据字码表
实现,控制字编码则通过一张码表实现,其中:
所述5b/6b数据字码表和3b/4b数据字码表中,rd_current用一位表示;
所述控制字码表中,将8b/10b作为一个整体标记,rd_current用两位表示,
两位中的低位和高位分别表示码字低6位和高4位的极性状态;
当码字中1比0多或者0比1多时,为极性不平衡,标记为1;当码字中0和1
数量相等时,为极性平衡,标记为0。
3.根据权利要求1所述的基于8b/10b编码规范的8b/10b编码生成集实现方法,
其特征在于,所述建立16b/20b编码的游程受限约束关系具体为:
包括如下步骤:
步骤S2.1,对5b/6b数据字码表和3b/4b数据字码表进行并行查表过程;所述
5b/6b数据字码表和3b/4b数据字码表的每一个输入均包括两个可供选择的表项,
其中,5b/6b数据字码表编码结果根据CRD现行状态来选择;3b/4b数据字码表编
码结果除了根据CRD现行状态外,还要根据5b/6b编码结果的极性状态数据字码表
编码后码字中的0和1的个数来选择,进而形成8b/10b编码码表;
步骤S2.2,建立两个8b码字的游程受限约束关系;此游程受限约束关系与CRD
现行状态、待编码数据高8位和低8位的编码结果极性情况有关,探索并建立

\t16b/20b编码游程受限约束关系,并将这种约束关系建立成16b/20b编码的游程受限
约束表。
4.根据权利要求3所述的基于8b/10b编码规范的8b/10b编码生成集实现方法,
其特征在于,所述16b/20b编码的游程受限约束关系具体为:
记待编码数据为TXD[15:0],控制信息为TXC[1:0];其中,TXC[1:0]中的0
表示8位的TXD是数据字,TXC[1:0]中的1表示8位的TXD是控制字;编码顺序从
高位到低位;编码输出tx_data[19:0];存在如下关系:
rd_ctrl[4:0]=[rd_ind6b_temp_H[6]d4b_tem...

【专利技术属性】
技术研发人员:邱赐云陈天段国东赵永建金鑫
申请(专利权)人:中国电子科技集团公司第三十二研究所
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1