基于rd+的8b/10b编码电路的制作方法

文档序号:7522145阅读:159来源:国知局
专利名称:基于rd+的8b/10b编码电路的制作方法
技术领域
本发明涉及一种编码电路,尤其涉及一种基于rd+的8b/10b编码电路。
背景技术
8b/10b,也叫做8比特/10比特,是目前许多高速串行总线采用的编码机制,如1394b、Serial ΑΤΑ、PCI Express、Infini-band、Fibre Channel (网状通道)、RapidIO 等总线或网络等。8b/10b编码的特性之一是保证DC平衡,采用8b/10b编码方式,可使得发送的“O”、“ I”数量保持基本一致,连续的“ I”或“O”不超过5位,即每5个连续的“ I”或“O”后必须插入一位“O”或“ I ”,从而保证信号DC平衡,它就是说,在链路超时时不致发生DC失调。通过8b/10b编码,可以保证传输的数据串在接收端能够被正确复原,除此之外,利用一些特殊的代码(在PCI-Express总线中为K码),可以帮助接收端进行还原的工作,并且可以在早期发现数据位的传输错误,抑制错误继续发生。8b/10b编码是将一组连续的8位数据分解成两组数据,一组3位,一组5位,经过编码后分别成为一组4位的数据和一组6位的数据,从而组成一组10位的数据发送出去。相反,解码是将I组10位的输入数据经过变换得到8位数据位。数据值可以统一的表示为DX. Y或KX. Y,其中D表示为数据字符,K表示为控制字符,X表示输入的原始数据的低5位EDCBA,Y表示输入的原始数据的高3位HGF。现有8b/10b编码电路大多采用查表的方法实现8b/10b编码,以数据字符的8b/10b编码为例,现有8b/10b编码电路需512个宽度为10比特的寄存器来存储相关数据,占用的存储器资源较多。

发明内容
本发明所要解决的技术问题是提供一种基于rd+的8b/10b编码电路,能大量节省存储器资源。为解决上述技术问题,本发明提供的基于rd+的8b/10b编码电路由基于rd+的5b/6b编码器、基于rd+的3b/4b编码器、5b后处理模块、3b后处理模块、数据合并模块以及两个异或模块构成。外部输入数据为8比特数据,该8比特数据拆分为低5比特数据和高3比特数据,所述低5比特数据输入到所述基于rd+的5b/6b编码器,所述高3比特数据输入到所述基于rd+的3b/4b编码器。一指示符信号,所述指示符信号分别输入到所述基于rd+的5b/6b编码器和所述基于rd+的3b/4b编码器;所述指示符信号用于控制所述基于rd+的5b/6b编码器和所述基于rd+的3b/4b编码器的编码;所述基于rd+的5b/6b编码器编码完成后输出第一极性变化标示符信号和一 6比特的第一编码数据;所述基于rd+的3b/4b编码器编码完成后输出第二极性变化标示符信号和一 4比特的第二编码数据。所述第一编码数据输入到所述5b后处理模块,所述5b后处理模块在所述第一极
4性变化标示符信号和外部输入的当前字符极性信号的控制下对所述第一编码数据进行后处理;所述5b后处理模块处理后输出一 6比特的第一后编码数据。所述第二编码数据输入到所述3b后处理模块,所述3b后处理模块在所述第二极性变化标示符信号和第二字符极性信号的控制下对所述第二编码数据进行后处理;所述3b后处理模块处理后输出一 4比特的第二后编码数据。所述第一后编码数据和所述第二后编码数据都送入到所述数据合并模块进行数据合并处理并输出一合并后的10比特的输出数据。第一个异或模块用于对所述第一极性变化标示符信号和所述当前字符极性信号进行异或处理并产生所述第二字符极性信号;第二个异或模块用于对所述第二极性变化标示符信号和所述第二字符极性信号进行异或处理产生下一字符极性信号并将所述下一字符极性信号对外输出。进一步的改进是,所述基于rd+的5b/6b编码器是基于rd+编码方法所实现的5b/6b编码器;所述指示符信号用来指示外部输入的所述8比特数据是数据字符还是控制字符,如果所述8比特数据是数据字符,所述基于rd+的5b/6b编码器按照数据字符的rd+编码规则来进行5b/6b编码;如果所述8比特数据是控制字符,则所述基于rd+的5b/6b编码器按照控制字符的rd+编码规则来进行5b/6b编码;所述第一极性变化标示符信号用于表示所述基于rd+的5b/6b编码器在编码过程中的极性变化情况。进一步的改进是,所述基于rd+的3b/4b编码器是基于rd+编码方法所实现的3b/4b编码器;所述指示符信号用来指示外部输入的所述8比特数据是数据字符还是控制字符,如果所述8比特数据是数据字符,所述基于rd+的3b/4b编码器按照数据字符的rd+编码规则来进行3b/4b编码;如果所述8比特数据是控制字符,则所述基于rd+的3b/4b编码器按照控制字符的rd+编码规则来进行3b/4b编码;所述第二极性变化标示符信号用于表示所述基于rd+的3b/4b编码器在编码过程中的极性变化情况。进一步的改进是,如果所述第一极性变化标示符信号表示所述基于rd+的5b/6b编码器在编码过程中的极性发生变化、且所述当前字符极性信号与所述基于rd+的5b/6b编码器在编码过程中所使用的极性不相同时,所述5b后处理模块对所述第一编码数据的所有位按位取反并生成所述第一后编码数据;其它条件下,所述5b后处理模块不对所述第一编码数据进行处理,而是直接将所述第一后编码数据取为所述第一编码数据。进一步的改进是,如果所述第二极性变化标示符信号表示所述基于rd+的3b/4b编码器在编码过程中的极性发生变化、且所述第二字符极性信号与所述基于rd+的3b/4b编码器在编码过程中所使用的极性不相同时,所述3b后处理模块对所述第二编码数据的所有位按位取反并生成所述第二后编码数据;其它条件下,所述3b后处理模块不对所述第二编码数据进行处理,而是直接将所述第二后编码数据取为所述第二编码数据。进一步的改进是,所述数据合并模块将所述第一后编码数据作为低6位、将所述第二后编码数据作为高4位进行合并生成所述输出数据。本发明能大量节省存储器资源,以数据字符的8b/10b编码为例,本发明只需8个4比特和32个6比特的寄存器来存储数据,所占存储资源仅为现有8b/10b编码电路的
4.375 %,资源节省效果非常显著。


下面结合附图和具体实施方式
对本发明作进一步详细的说明图I本发明实施例基于rd+的8b/10b编码电路结构图。
具体实施例方式如图I所示,是本发明实施例基于rd+的8b/10b编码电路结构图。本发明实施例基于rd+的8b/1Ob编码电路由基于rd+的5b/6b编码器(enc_5b_to_6b) 101、基于rd+ 的 3b/4b 编码器(enc_3b_to_4b) 102、5b 后处理模块(post_5b) 103、3b 后处理模块(post_3b) 104、数据合并模块(data_merge) 105以及第一个异或模块(xorl) 106、第二个异或模块(xor2)107构成。所述基于rd+的5b/6b编码器101是基于rd+编码方法所实现的5b/6b编码器;所述基于rd+的3b/4b编码器102是基于rd+编码方法所实现的3b/4b编码器。外部输入数据为8比特数据,该8比特数据拆分为低5比特数据和高3比特数据,所述低5比特数据输入到所述基于rd+的5b/6b编码器101,所述高3比特数据输入到所述基于rd+的3b/4b编码器102。所述外部输入数据即所述8比特数据包括数据字符和控制字符两种,在本实施例中所述外部输入数据为一数据字符,且假设该数据字符为D23. 3,D23. 3对应的所述8比特数据为8,b0111_0111,对应的所述低5比特数据din [4:0]为5,b 1_0111、所述高3比特数据din[7:5]为3’b011。假设所述外部输入数据的极性即当前字符极性信号 crd 为 rd+。一指示符信号(symbol),用来指示外部输入的所述8比特数据是数据字符还是控制字符,所述指示符信号分别输入到所述基于rd+的5b/6b编码器101和所述基于rd+的3b/4b编码器102并用于控制所述基于rd+的5b/6b编码器101和所述基于rd+的3b/4b编码器102的编码。如果所述8比特数据是数据字符,所述基于rd+的5b/6b编码器101按照数据字符的rd+编码规则来进行5b/6b编码、所述基于rd+的3b/4b编码器102按照数据字符的rd+编码规则来进行3b/4b编码;如果所述8比特数据是控制字符,则所述基于rd+的5b/6b编码器101按照控制字符的rd+编码规则来进行5b/6b编码、所述基于rd+的3b/4b编码器102按照控制字符的rd+编码规则来进行3b/4b编码。由于本发明实施例中所述8比特数据是数据字符,所以在本发明实施例中所述基于rd+的5b/6b编码器101按照数据字符的rd+编码规则来进行5b/6b编码,即对所述低5比特数据din[4:0]即5’bl_0111按照数据字符的rd+编码规则来进行5b/6b编码,编码结果为6’ bl0_1000,即以6’ bl0_1000作为第一编码数据enc_5b[5:0]输出;同时所述基于rd+的5b/6b编码器在编码过程中的极性发生变化,该变化用第一极性变化标示符信号rd_flag_5b进行表示并输出。所述基于rd+的3b/4b编码器102按照数据字符的rd+编码规则来进行3b/4b编码,即对所述高3比特数据din [7:5]即3’b011按照数据字符的rd+编码规则来进行3b/4b编码,编码结果为4’ bllOO,即以4’ bllOO作为第二编码数据enc_3b[3:0]输出;同时所述基于rd+的3b/4b编码器在编码过程中的极性也发生变化,该变化用第二极性变化标示符信号rd_flag_3b进行表不并输出。所述第一编码数据enc_5b[5:0]输入到所述5b后处理模块103,所述5b后处理模块103在所述第一极性变化标示符信号rd_flag_5b和外部输入的所述当前字符极性信号crd的控制下对所述第一编码数据enc_5b[5:0]进行后处理;所述5b后处理模块103处理后输出一 6比特的第一后编码数据dpOst_5b[5:0]。如果所述第一极性变化标示符信号rd_flag_5b表示所述基于rd+的5b/6b编码器101在编码过程中的极性发生变化、且所述 当前字符极性信号crd与所述基于rd+的5b/6b编码器101在编码过程中所使用的极性不相同时,所述5b后处理模块103对所述第一编码数据enc_5b [5:0]的所有位按位取反并生成所述第一后编码数据dpOst_5b[5:0];其它条件下,所述5b后处理模块103不对所述第一编码数据enc_5b[5:0]进行处理,而是直接将所述第一后编码数据dpost_5b [5:0]取为所述第一编码数据enc_5b [5:0]。在本发明实施例中,所述第一极性变化标示符信号rd_flag_5b表示所述基于rd+的5b/6b编码器101在编码过程中的极性发生了变化;但是所述当前字符极性信号crd为rd+、所述基于rd+的5b/6b编码器101在编码过程中所使用的极性也为rd+(即使用基于rd+的编码规则),故二者极性相同。所以最后所述5b后处理模块103不对所述第一编码数据enc_5b[5:0]进行处理,而是直接将所述第一后编码数据dpost_5b [5:0]取为所述第一编码数据 enc_5b[5:0]即 6,bl0_1000。所述第一个异或模块106用于对所述第一极性变化标示符信号rd_flag_5b和所述当前字符极性信号crd进行异或处理并产生所述第二字符极性信号enC_rd。在本发明实施例中,由于所述基于rd+的5b/6b编码器101在编码过程中的极性发生了变化,故所述第一极性变化标示符信号rd_f lag_5b为1,所述第二字符极性信号enC_rd和所述当前字符极性信号crd不同,最后所述第二字符极性信号enc_rd为rd-。所述第二个异或模块107用于对所述第二极性变化标示符信号rd_flag_3b和所述第二字符极性信号enc_rd进行异或处理产生下一字符极性信号nrd并将所述下一字符极性信号nrd对外输出。本发明实施例中由于所述基于rd+的3b/4b编码器在编码过程中的极性发生变化,故所述第二极性变化标示符信号rd_flag_3b为1,所以下一字符极性信号nrd的极性和所述第二字符极性信号enc_rd的极性相反,最后下一字符极性信号nrd为
rd+o所述第二编码数据enc_3b[3:0]输入到所述3b后处理模块104,所述3b后处理模块104在所述第二极性变化标示符信号rd_f lag_3b和第二字符极性信号enC_rd的控制下对所述第二编码数据enC_3b[3:0]进行后处理;所述3b后处理模块104处理后输出一 4比特的第二后编码数据dpost_3b[3:0]。如果所述第二极性变化标示符信号rd_flag_3b表示所述基于rd+的3b/4b编码器102在编码过程中的极性发生变化、且所述第二字符极性信号enC_rd与所述基于rd+的3b/4b编码器102在编码过程中所使用的极性不相同时,所述3b后处理模块104对所述第二编码数据enC_3b[3:0]的所有位按位取反并生成所述第二后编码数据dpOst_3b[3:0];其它条件下,所述3b后处理模块104不对所述第二编码数据enC_3b[3:0]进行处理,而是直接将所述第二后编码数据dpost_3b [3:0]取为所述第二编码数据enc_3b [3:0]。在本发明实施例中,所述第二极性变化标示符信号rd_flag_3b表示所述基于rd+的3b/4b编码器102在编码过程中的极性发生了变化;且所述第二字符极性信号enC_rd的极性为rd-,所述基于rd+的3b/4b编码器102在编码过程中所使用的极性为rd+(即使用基于rd+的编码规则),故二者极性不同。所以,最后所述3b后处理模块104对所述第二编码数据enC_3b[3:0]的所有位按位取反并生成所述第二后编码数据dpost_3b[3:0];最后得到的所述第二后编码数据dpost_3b[3:0]为4’ bOOll。所述第一后编码数据dpost_5b[5:0]和所述第二后编码数据dpost_3b [3:0]都送入到所述数据合并模块105进行数据合并处理并输出一合并后的10比特的输出数据dout[9:0]。所述数据合并模块105将所述第一后编码数据dpost_5b[5:0]作为低6位、将所述第二后编码数据dpOst_3b[3:0]作为高4位进行合并,并生成一 10比特位宽的输出数据。本发明实施例中合并处理后得到的所述输出数据dout[9:0]为10’ b00_1110_1000。以上通过具体实施例对本发明进行了详细的说明,但这些并非构成对本发明的限制。在不脱离本发明原理的情况下,本领域的技术人员还可做出许多变形和改进,这些也应视为本发明的保护范围。
权利要求
1.一种基于rd+的8b/10b编码电路,其特征在于由基于rd+的5b/6b编码器、基于rd+的3b/4b编码器、5b后处理模块、3b后处理模块、数据合并模块以及两个异或模块构成;外部输入数据为8比特数据,该8比特数据拆分为低5比特数据和高3比特数据,所述低5比特数据输入到所述基于rd+的5b/6b编码器,所述高3比特数据输入到所述基于rd+的3b/4b编码器;一指示符信号,所述指示符信号分别输入到所述基于rd+的5b/6b编码器和所述基于rd+的3b/4b编码器;所述指示符信号用于控制所述基于rd+的5b/6b编码器和所述基于rd+的3b/4b编码器的编码;所述基于rd+的5b/6b编码器编码完成后输出第一极性变化标示符信号和一 6比特的第一编码数据;所述基于rd+的3b/4b编码器编码完成后输出第二极性变化标示符信号和一 4比特的第二编码数据;所述第一编码数据输入到所述5b后处理模块,所述5b后处理模块在所述第一极性变化标示符信号和外部输入的当前字符极性信号的控制下对所述第一编码数据进行后处理;所述5b后处理模块处理后输出一 6比特的第一后编码数据;所述第二编码数据输入到所述3b后处理模块,所述3b后处理模块在所述第二极性变化标示符信号和第二字符极性信号的控制下对所述第二编码数据进行后处理;所述3b后处理模块处理后输出一4比特的第二后编码数据;所述第一后编码数据和所述第二后编码数据都送入到所述数据合并模块进行数据合并处理并输出一合并后的10比特的输出数据;第一个异或模块用于对所述第一极性变化标示符信号和所述当前字符极性信号进行异或处理并产生所述第二字符极性信号;第二个异或模块用于对所述第二极性变化标示符信号和所述第二字符极性信号进行异或处理产生下一字符极性信号并将所述下一字符极性信号对外输出。
2.如权利要求I所述的基于rd+的8b/10b编码电路,其特征在于所述基于rd+的5b/6b编码器是基于rd+编码方法所实现的5b/6b编码器;所述指示符信号用来指示外部输入的所述8比特数据是数据字符还是控制字符,如果所述8比特数据是数据字符,所述基于rd+的5b/6b编码器按照数据字符的rd+编码规则来进行5b/6b编码;如果所述8比特数据是控制字符,则所述基于rd+的5b/6b编码器按照控制字符的rd+编码规则来进行5b/6b编码;所述第一极性变化标不符信号用于表不所述基于rd+的5b/6b编码器在编码过程中的极性变化情况。
3.如权利要求I所述的基于rd+的8b/10b编码电路,其特征在于所述基于rd+的3b/4b编码器是基于rd+编码方法所实现的3b/4b编码器;所述指示符信号用来指示外部输入的所述8比特数据是数据字符还是控制字符,如果所述8比特数据是数据字符,所述基于rd+的3b/4b编码器按照数据字符的rd+编码规则来进行3b/4b编码;如果所述8比特数据是控制字符,则所述基于rd+的3b/4b编码器按照控制字符的rd+编码规则来进行3b/4b编码;所述第二极性变化标示符信号用于表示所述基于rd+的3b/4b编码器在编码过程中的极性变化情况。
4.如权利要求I所述的基于rd+的8b/10b编码电路,其特征在于如果所述第一极性变化标示符信号表示所述基于rd+的5b/6b编码器在编码过程中的极性发生变化、且所述当前字符极性信号与所述基于rd+的5b/6b编码器在编码过程中所使用的极性不相同时,所述5b后处理模块对所述第一编码数据的所有位按位取反并生成所述第一后编码数据;其它条件下,所述5b后处理模块不对所述第一编码数据进行处理,而是直接将所述第一后编码数据取为所述第一编码数据。
5.如权利要求I所述的基于rd+的8b/10b编码电路,其特征在于如果所述第二极性变化标示符信号表示所述基于rd+的3b/4b编码器在编码过程中的极性发生变化、且所述第二字符极性信号与所述基于rd+的3b/4b编码器在编码过程中所使用的极性不相同时,所述3b后处理模块对所述第二编码数据的所有位按位取反并生成所述第二后编码数据;其它条件下,所述3b后处理模块不对所述第二编码数据进行处理,而是直接将所述第二后编码数据取为所述第二编码数据。
6.如权利要求I所述的基于rd+的8b/10b编码电路,其特征在于所述数据合并模块将所述第一后编码数据作为低6位、将所述第二后编码数据作为高4位进行合并生成10比特位宽的所述输出数据。
全文摘要
本发明公开了一种基于rd+的8b/10b编码电路,由基于rd+的5b/6b编码器、基于rd+的3b/4b编码器、5b后处理模块、3b后处理模块、数据合并模块以及两个异或模块构成。基于rd+的5b/6b编码器对低5比特数据进行5b/6b编码、并输入到5b后处理模块进行处理后输入到数据合并模块,基于rd+的3b/4b编码器对高3比特数据进行3b/4b编码、并输入到3b后处理模块进行处理后输入到数据合并模块。通过第一极性变化标示符信号和当前字符极性信号控制5b后处理模块的处理、通过第二极性变化标示符信号和第二字符极性信号控制3b后处理模块的处理。本发明能大量节省存储器资源。
文档编号H03M9/00GK102957433SQ20111023904
公开日2013年3月6日 申请日期2011年8月19日 优先权日2011年8月19日
发明者左耀华 申请人:上海华虹集成电路有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1