CN103138889A - 高速8b/10b编码装置及编码器 - Google Patents
高速8b/10b编码装置及编码器 Download PDFInfo
- Publication number
- CN103138889A CN103138889A CN2012105154153A CN201210515415A CN103138889A CN 103138889 A CN103138889 A CN 103138889A CN 2012105154153 A CN2012105154153 A CN 2012105154153A CN 201210515415 A CN201210515415 A CN 201210515415A CN 103138889 A CN103138889 A CN 103138889A
- Authority
- CN
- China
- Prior art keywords
- data
- high speed
- look
- output
- operator
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明涉及一种高速8B/10B编码装置,其特征在于:包括特殊信号判定模块、5B/6B查找表、5B/6B操作符、3B/4B查找表、3B/4B操作符、特殊字符编码器和输出产生模块。本发明通过构建基本查找表和提前确定对查表结果所需进行的操作,使得设计者在不需要深入理解8B/10B编码原理的基础上,快速实现一个高速的编码器。
Description
技术领域
本发明涉及通信领域,尤其涉及一种高速8B/10B编码装置及编码器。
背景技术
在当前应用的许多高速串行接口中,数据编码经常采用8B10B编码。USB3.0中规定的超高速(SuperSpeed)模式下即采用8B10B编码。8B10B编码从字面理解就是把8比特的数据转换成10比特的数据进行传输。对数据进行编码的目的是避免出现过多连续的“1”和“0”,保证直流平衡。
但是,现有的编码器件原理复杂,在事前没有对算法的原理和实现方法有所了解的情况下,开发人员需要花大量的时间用于设计高速编码器。
发明内容
本发明解决的技术问题是提供一种模块化、便于用户设计的高速8B/10B编码装置及编码器。
为达到上述目的,本发明采用的技术方案是:一种高速8B/10B编码装置,其特征在于:包括特殊信号判定模块、5B/6B查找表、5B/6B操作符、3B/4B查找表、3B/4B操作符、特殊字符编码器和输出产生模块;
所述特殊信号判定模块,接收8B数据并判定是否为特殊编码指示信号,是则传输给所述特殊字符编码器转换为10B特殊编码值;否则分为低位5B数据、高位3B数据,分别传输给5B/6B查找表、3B/4B查找表产生6B、4B输出数据;
所述5B/6B查找表、5B/6B操作符、3B/4B查找表、3B/4B操作符与输出产生模块连接,所述输出产生模块接收6B、4B输出数据或10B特殊查表值;
当输入数据特殊编码指示信号(k1,k2,k3或k4)无效时,所述5B/6B操作符和3B/4B操作符控制输出产生模块输出10B输出数据;当输入数据特殊编码指示信号有效时,所述特殊字符编码器控制输出产生模块输出特殊编码10B输出数据。
本发明的第一优选方案在于,所述5B/6B操作符和3B/4B操作符控制输出产生模块取反,当输入的低位5B数据和高位3B数据的编码存在互补的两种编码,并且输入不均等性的值为正时,该信号指示输出产生模块对模块接收6B、4B输出数据或10B特殊查表值进行按位取反操作;当前输入的低位5B数据和高位3B数据不均等性值不为零时,对6B、4B输出数据或10B特殊查表值取反。
本发明的第二优选方案在于,所述特殊编码指示信号为多个。
本发明的第三优选方案在于,所述的特殊编码指示信号为4个。
本发明同时记载了一种高速8B/10B编码器,其特征在于:包括多个所述高速8B/10B编码装置,所述多个高速8B/10B编码装置并联。
所述高速8B/10B编码器的第一优选方案为,所述高速8B/10B编码装置为4个。
本发明的设计思想在于:编码时,8比特的数据被分成低位5比特和高位3比特,分别编码为6比特和4比特的数据。在此分别称为5B/6B和3B/4B编码。对于每一个编码后的6比特或者4比特的数据,比特数据中出现“1”,“0”个数差的情况只有三种:0,+2,-2。这种个数的差异被称为不均等性(Disparity)。对应于前一个数据的不均等性情况,编码的4B或者6B数据通常从两种可能的极性中选择一种,以平衡之前的极性,达到直流平衡的目的。所以,在进行一连串数据的编码时,电路通常需要保留当前不均等性(Running Disparity),以便选择待编码数据的极性。例如,对于8比特的数据“00000000”,如果当前不均等性为负,则10比特数据编码为 “100111 0100”。
除了数据以外,8B/10B编码规范还规定了一些特殊编码(K-character)。这些特殊编码通常用于对数据流的控制。比如用于符号对齐的K28.5,即“101 11100”,用于动态插入或者删除以补偿时钟域偏差的K28.1,即“001 11100”。USB3.0规范中规定的特殊编码为K28.0-K28.7、K23.7、K27.7、K29.7、K30.7。超过此范围的特殊编码将被视为错误编码。
本发明的技术优势在于: 因为特殊编码的数量十分有限,因此不对其进行3B/4B和5B/6B的区分,而直接输出查表结果,从而简化了设计。
并联的4个8B/10B编码单元P1、P2、P3、P4,构成最终的8B/10B编码器。该8B/10B编码器可以单周期内完成编码。本设计的查找表对不均等性的传播路径作了优化,因此能够能达到较高的速度。我们使用CMOS 65nm工艺综合该8B/10B编码器,在典型情况下得到最长延时路径仅为0.327ns,远超过一般PHY数字逻辑部分的应用要求。而该思想不要求设计者深入了解8B/10B的编码原理,因此能够很快地完成设计。
本设计通过构建基本查找表和提前确定对查表结果所需进行的操作,使得设计者在不需要深入理解8B/10B编码原理的基础上,快速实现一个高速的编码器。
附图说明
图1是本实施例的高速8B/10B编码器示意图。
具体实施方式
下面结合具体实施例对发明做进一步说明。
高速8B/10B编码器的输入信号有32比特输入数据Din[31:0],输入不均等性Dispin,输入数据特殊编码指示信号k1,k2,k3,k4。其中32比特输入数据Din[31:0],分成4个8比特的数据,分别输入给四个高速8B/10B编码装置。高速8B/10B编码器的输出信号有40比特输出数据Dout[39:0]和输出不均等性Dispout。其中40比特的输出数据Dout[39:0],由四个8B10B单元的10比特输出数据组成。这样,每个8B10B单元,分别有本模块的8比特输入数据(Din[7:0],Din[15:8],Din[23:16]或Din[31:24]),输入不均等性(Dispin, Disp1,Disp2或者Disp3),输入数据特殊编码指示信号(k1,k2,k3或k4),以及10比特的输出数据(Dout[9:0],Dout[19:10],Dout[29:20]或Dout[39:30])。相邻模块之间,处理较高位的模块需要处理较低位模块的不均等性结果。因此Disp1,Disp2,Disp3三个信号为整个模块的内部信号,仅在8B10B编码单元间传播,并不被外部模块使用。
每一个高速8B/10B编码装置完全相同,包含5B/6B查找表、5B6B操作符、3B/4B查找表、3B/4B操作符、特殊信号判定模块、特殊字符编码器和输出产生模块。
所述特殊信号判定模块,接收8B数据并判定是否为特殊编码指示信号,是则传输给所述特殊字符编码器转换为10B特殊查表值;否则分为低位5B数据、高位3B数据,分别传输给5B/6B查找表、3B/4B查找表产生6B、4B输出数据。
当输入数据特殊编码指示信号无效时,所述5B/6B操作符和3B/4B操作符控制输出产生模块取反。如果输入的低位5B数据和高位3B数据的编码存在互补的两种编码,并且输入不均等性的值为正时,则该信号指示输出产生模块对模块接收6B、4B输出数据进行按位取反操作;否则,将直接使用6B、4B输出作为本模块10B输出数据。当输入数据特殊编码指示信号有效时,如果输入不均等性的值为正时,输出产生模块对模块接收的10B特殊查表值按位取反;否则,将直接使用10B特殊查表值作为模块的10B输出数据。
特殊字符编码器的作用是,特殊编码指示信号(k1,k2,k3或k4)有效时,对输入进行特殊编码,并将10B特殊查表值提供给输出产生模块。
输出产生模块接收5B/6B查找表、3B/4B查找表、特殊字符编码器的输出结果,对输入数据和不均等性进行操作,产生编码后的10比特数据和输出不均等性。当特殊编码指示信号无效时,输出产生模块采用5B6B查找表、3B4B查找表的输出,产生本高速8B/10B编码装置的输出数据和输出不均等性;当特殊编码指示信号有效时,输出产生模块采用特殊字符编码器的输出,以产生本高速8B/10B编码装置的输出数据和输出不均等性。
4个并联的高速8B/10B编码装置,组成本发明的高速8B/10B编码器根据输入32位输入数据Din[31:0]、输入数据特殊编码指示信号(k1,k2,k3,k4)和输入不均等性Dispin,编码产生40位输出数据Dout[39:0]和输出不均等性Dispout。本发明采用32位输入的目的在于,对于USB3.0超高速情况下的5吉比特数据率,数字部分电路的时钟仅仅需要125兆。而如果采用单个高速8B/10B编码装置完成操作,时钟将达到500兆。这样32比特的输入使得频率下降,对数字电路和PCB的设计要求就大大降低了。
根据具体传输功能需求可选择1个、2个或4个等高速8B/10B编码装置并联。完成具体位置的传输需求。
本发明不限于以上的实施方式,本领域技术人员根据本发明的揭示,对于本发明做出的改进和修改都应该在本发明的保护范围之内。
Claims (6)
1.一种高速8B/10B编码装置,其特征在于:包括特殊信号判定模块,5B/6B查找表、5B/6B操作符、3B/4B查找表、3B/4B操作符、特殊字符编码器和输出产生模块;
所述特殊信号判定模块,接收8B数据并判定是否为特殊字符,是则传输给所述特殊字符编码器转换为10B特殊查表值;否则分为低位5B数据、高位3B数据,分别传输给5B/6B查找表、3B/4B查找表产生6B、4B输出数据;
所述5B/6B查找表、5B/6B操作符、3B/4B查找表、3B/4B操作符与输出产生模块连接,所述输出产生模块接收6B、4B输出数据或10B特殊查表值;
所述5B/6B操作符和3B/4B操作符控制输出产生模块输出10B输出数据。
2.根据权利要求1所述的高速8B/10B编码装置,其特征在于:所述5B/6B操作符和3B/4B操作符控制输出产生模块取反,当输入的低位5B数据和高位3B数据的编码存在互补的两种编码,并且输入不均等性的值为正时,该信号指示输出产生模块对模块接收6B、4B输出数据或10B特殊查表值进行按位取反操作;当前输入的低位5B数据和高位3B数据不均等性值不为零时,对6B、4B输出数据或10B特殊查表值取反。
3.根据权利要求1所述的高速8B/10B编码装置,其特征在于:所述特殊字符为多个。
4.根据权利要求1所述的高速8B/10B编码装置,其特征在于:所述的特殊字符为4个。
5.一种高速8B/10B编码器,其特征在于:包括多个所述高速8B/10B编码装置,所述多个高速8B/10B编码装置并联。
6.根据权利要求5所述高速8B/10B编码器,其特征在于:所述高速8B/10B编码装置为4个。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012105154153A CN103138889A (zh) | 2012-12-05 | 2012-12-05 | 高速8b/10b编码装置及编码器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012105154153A CN103138889A (zh) | 2012-12-05 | 2012-12-05 | 高速8b/10b编码装置及编码器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103138889A true CN103138889A (zh) | 2013-06-05 |
Family
ID=48498255
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012105154153A Pending CN103138889A (zh) | 2012-12-05 | 2012-12-05 | 高速8b/10b编码装置及编码器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103138889A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106533613A (zh) * | 2015-09-10 | 2017-03-22 | 安徽大学 | 新型高速8b/10b编码电路技术 |
WO2018040824A1 (zh) * | 2016-08-31 | 2018-03-08 | 深圳市中兴微电子技术有限公司 | 数据编码方法、数据解码方法和装置、存储介质 |
CN109347484A (zh) * | 2018-11-05 | 2019-02-15 | 西安微电子技术研究所 | 一种基于二级查表的64b/66b编码器及编码方法 |
CN111030953A (zh) * | 2019-12-04 | 2020-04-17 | 中科芯集成电路有限公司 | 一种低延时8b/10b编码的方法与装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040083419A1 (en) * | 2002-10-24 | 2004-04-29 | Mitsubishi Denki Kabushiki Kaisha | Detection circuit and decoding circuit |
CN101674089A (zh) * | 2009-10-19 | 2010-03-17 | 中国科学院声学研究所 | 一种高速8b/10b编码器和解码器及其对错误输入的处理方法 |
-
2012
- 2012-12-05 CN CN2012105154153A patent/CN103138889A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040083419A1 (en) * | 2002-10-24 | 2004-04-29 | Mitsubishi Denki Kabushiki Kaisha | Detection circuit and decoding circuit |
CN101674089A (zh) * | 2009-10-19 | 2010-03-17 | 中国科学院声学研究所 | 一种高速8b/10b编码器和解码器及其对错误输入的处理方法 |
Non-Patent Citations (1)
Title |
---|
洪波: "一种新的8B/10B编码器的设计方法", 《器件与应用》, 30 August 2009 (2009-08-30) * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106533613A (zh) * | 2015-09-10 | 2017-03-22 | 安徽大学 | 新型高速8b/10b编码电路技术 |
WO2018040824A1 (zh) * | 2016-08-31 | 2018-03-08 | 深圳市中兴微电子技术有限公司 | 数据编码方法、数据解码方法和装置、存储介质 |
CN109347484A (zh) * | 2018-11-05 | 2019-02-15 | 西安微电子技术研究所 | 一种基于二级查表的64b/66b编码器及编码方法 |
CN109347484B (zh) * | 2018-11-05 | 2022-07-12 | 西安微电子技术研究所 | 一种基于二级查表的64b/66b编码器及编码方法 |
CN111030953A (zh) * | 2019-12-04 | 2020-04-17 | 中科芯集成电路有限公司 | 一种低延时8b/10b编码的方法与装置 |
CN111030953B (zh) * | 2019-12-04 | 2021-11-09 | 中国电子科技集团公司第五十八研究所 | 一种低延时8b/10b编码的方法与装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104995612B (zh) | 低同步开关噪声芯片间通信方法和系统 | |
US4486739A (en) | Byte oriented DC balanced (0,4) 8B/10B partitioned block transmission code | |
CN103138889A (zh) | 高速8b/10b编码装置及编码器 | |
CN104579583A (zh) | 一种对8b/10b编码方式的改进方法 | |
CN101674089B (zh) | 一种高速8b/10b编码器和解码器及其对错误输入的处理方法 | |
CN109587483A (zh) | 码流提取模块 | |
US20230073629A1 (en) | Data inversion circuit to perform dbi-dc encoding using pam 4 signal | |
CN103346771B (zh) | 兼容两种协议的多通道切换控制电路及控制方法 | |
CN105591645B (zh) | 一种多级串并转换电路 | |
CN104467865B (zh) | 串行通信协议控制器、字节拆分电路及8b10b编码器 | |
CN107395539A (zh) | 一种适用于jesd204b协议中的8b10b编码器设计方法 | |
CN101764617B (zh) | 一种9b/10b码的编码方法 | |
CN101442380B (zh) | 基于高速串行接口编码方式的误码率测试方法与装置 | |
CN105721107B (zh) | 一种分块计算crc以提高时钟频率的装置和方法 | |
CN104052588A (zh) | 用于为利用fec编码器的系统实现按ieee 1588的精确时间戳的方法 | |
Hong | Coding Rule of Characters by 2 bytes with 4× 4 bits to Improve the Transmission Efficiency in Data Communications | |
CN103138748A (zh) | 基于线性反馈移位寄存器的n比特计数器及控制方法 | |
CN105760329A (zh) | 一种减少总线耦合翻转的编解码装置 | |
CN102467674A (zh) | 一种超高频标签fmo编码数字信号电路及其实现方法 | |
CN100426219C (zh) | 一种集成电路中的数据运算方法及装置 | |
CN103559159A (zh) | 一种信息处理方法以及电子设备 | |
CN107852320A (zh) | 数字附件接口 | |
CN1300971C (zh) | 基于双8b/10b编码器的16b/20b编码器逻辑实现方法 | |
US20210342285A1 (en) | Encoding of symbols for a computer interconnect based on frequency of symbol values | |
Sim | Segmented group-inversion coding for parallel links |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20130605 |