CN111030953B - Low-delay 8B/10B coding method and device - Google Patents

Low-delay 8B/10B coding method and device Download PDF

Info

Publication number
CN111030953B
CN111030953B CN201911227654.7A CN201911227654A CN111030953B CN 111030953 B CN111030953 B CN 111030953B CN 201911227654 A CN201911227654 A CN 201911227654A CN 111030953 B CN111030953 B CN 111030953B
Authority
CN
China
Prior art keywords
data
coding
polarity
input
output
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.)
Active
Application number
CN201911227654.7A
Other languages
Chinese (zh)
Other versions
CN111030953A (en
Inventor
万书芹
王俊杰
季惠才
王栋
于宗光
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CETC 58 Research Institute
Original Assignee
CETC 58 Research Institute
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by CETC 58 Research Institute filed Critical CETC 58 Research Institute
Priority to CN201911227654.7A priority Critical patent/CN111030953B/en
Publication of CN111030953A publication Critical patent/CN111030953A/en
Application granted granted Critical
Publication of CN111030953B publication Critical patent/CN111030953B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/38Synchronous or start-stop systems, e.g. for Baudot code
    • H04L25/40Transmitting circuits; Receiving circuits
    • H04L25/49Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
    • H04L25/4906Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using binary codes
    • H04L25/4908Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using binary codes using mBnB codes

Abstract

The invention discloses a method and a device for low-delay 8B/10B coding, which improve a traditional four-channel 8B/10B coder, derive a polarity generation method according to the causal relationship of an 8B/10B coding table, add a polarity generation part in the coder, save a large amount of waiting time among internal channels of the traditional multi-channel coder, improve the efficiency of parallel coding, and reduce the coding output delay while improving the data transmission rate. The invention can be simply popularized to the low-delay 8B/10B encoder of any channel.

Description

Low-delay 8B/10B coding method and device
Technical Field
The invention belongs to the technical field of low-delay 8B/10B coding and particularly relates to a method and a device for low-delay 8B/10B coding.
Background
8B data has 28There are 128 cases, including consecutive cases of '0' or '1', '0' more '1' less, '1' less '0' more, etc., which cause problems of dc imbalance, electromagnetic interference, difficult clock recovery, etc. To solve the above problem, two engineers in Albert x.widmer and Peter a.franaszek of IBM corporation propose 8B/10B encoding and decoding method, which encodes 8B data into 10B data with a considerable amount and at least 3 hops for data transmission. The 8B data comprises two types of control characters Kx.y and data characters Dx.y, the 8B data is HGFEDCBA from high bit to low bit, the coded 10B data is abcdeifghj from high bit to low bit, RD (Running Disparity) is used for reflecting the balance degree of '0' and '1' in the data stream, the balance degree of the 10B data is three, namely-2 (6 '0' and 4 '1'), +2(4 '0' and 6 '1') and 0 ('0' and '1', and the balance degree corresponds to RD-, and the data characters Dx.y are respectively arranged in the data stream and are respectively arranged in the data stream,RD + and balance, when the data is balanced, keeping RD of the previous data unchanged.
When 8B/10B carries out 3B/4B and 5B/6B coding respectively, the RD value output of the previous 10B is taken as the RD input of 5B coding in the current 8B, and then the RD output according to the current 5B coding is taken as the RD input of 3B coding. For example, the previous 10B code result is 0101011110(RD +), the current 8B is 00110000, and according to the coding rule, the current 5B/6B code RD input is +, the 5B code is 100100(RD-), the 3B/4B code RD input is-, the 3B code is 1001 (keep RD-), and the coded 10B is 1001001001. It can be seen that 8B/10B encoding ensures a relative balance of the number of '1's and '0's in the data communication.
FIG. 1 is a flow chart of a conventional four-pass 8B/10B parallel coding unit based on logic algorithm. Assuming that the target transmission rate of 10B data is 10Gbps, when the coding unit only uses a single-channel coding unit, the working frequency of the coding unit circuit is 1 GHz; when the encoding unit adopts the four-channel encoding unit to encode in parallel, 4 bytes of 8B data are input in each clock cycle, 4 bytes of 10B data are output by the encoding unit after a plurality of clock cycles, and the working frequency of the four-channel encoding unit circuit only needs 250 MHz. It can be seen that, compared with the coding unit of the single-channel coding unit, the coding unit adopting the four-channel coding unit can obtain the data transmission rate 4 times at the same working frequency, and the working frequency of the coding unit can be reduced by 75% at the same data transmission rate.
If the encoding unit adopts a four-channel encoding unit, as can be seen from fig. 1, the polarity input of each encoding unit is the polarity output from the previous encoding unit, both the combinational logic method and the table look-up method depend on the polarity information of 5B/6B and 3B/4B, and a plurality of xor gates with large delay are needed, and the path of the polarity result is deepest, and therefore, the polarity result is generated at the end of the whole encoding process. Similarly, the four-channel coding unit inputs multiple paths of 8B data to code simultaneously, and in the coding process of the next channel, the correct 10B data can be coded only by obtaining the polarity output of the previous channel, and the dependence increases the coupling degree between the four-channel coding units, so that the correct 10B coding output result can be obtained only after the 8B to-be-coded data is input into the coding unit through a plurality of clock cycles, the coding output delay is increased, and the parallel efficiency is greatly influenced.
Therefore, when a four-channel 8B/10B coding unit is designed, the delay problem of coding result output needs to be solved while the data transmission rate is improved and the frequency is reduced. Therefore, a method and apparatus for low latency 8B/10B coding is needed.
Disclosure of Invention
In order to solve the defects in the prior art, the invention provides a method and a device for low-delay 8B/10B coding.
In order to solve the technical problems, the invention provides the following technical scheme:
the invention provides a low-delay 8B/10B coding method, which comprises the following steps:
s1, inputting 8B data by the input register;
s2, carrying out error checking on the K code;
s3, generating output polarity according to the balance of the input 8B data, and transmitting the output polarity to the next channel;
s4, classifying the numbers of '1' and '0' of ABCD in 5B data according to 8B/10B coding rules, and pre-coding the 5B data, namely expanding 5B and 3B into 6B and 4B respectively according to the coding rules;
s5, generating a 5B/6B polarity information identifier according to the 5B data and the polarity input, and performing polarity input for 3B/4B coding and inversion correction on the 6B data output by precoding to complete 5B/6B coding;
s6, when 3B/4B coding is carried out, firstly, DEFGH of 8B data is judged, thereby avoiding the situation that ei and fgh in coded 10B data abcdei fghj are continuous 0 or 1; then, pre-coding the 3B data into 4B data, generating a polarity information identifier of 3B/4B for correcting the 4B data, and generating coded 10B data after the 3B/4B coding is finished;
and S7, carrying out XOR correction on the 10B result of the preliminary coding, thereby completing the 8B/10B coding once.
As a preferred embodiment of the present invention, the polarity generation in step S3 includes the following steps:
s31, encoding 256 8B data characters and 12 8B control characters according to 8B/10B encoding and decoding modes proposed by IBM company Albert X.Widmer and Peter A.Franaszek, and obtaining 278 10B encoding outputs, namely 278 group corresponding relation, wherein the input polarity is + or-;
s32, counting the number of 0 and 1 in 278 output results of 10B; counting results of 5 numbers of 0 and 1 and 4/6 or 6/4 numbers of 0 and 1;
s33, marking 8B inputs corresponding to results with the numbers of 0 and 1 being 5 as balanced inputs, and marking 8B inputs corresponding to results with the numbers of 0 and 1 being 4/6 or 6/4 as unbalanced inputs;
s34, combining 256 8B data characters and 12 8B control characters into a 256-pair 8B input and balance mark pair relation table according to the balance mark;
and S35, deriving a relational expression between the unbalanced input and the balanced input through the relational table as a polarity generation method.
As a preferred technical solution of the present invention, the input bit width in the polarity generation is 8B, and the output bit width in the polarity generation is 1B.
As a preferred technical solution of the present invention, when the K code identification bit is set in step S2, performing a logic operation according to 8 bits of each path of data to be encoded, and determining whether the K code is an invalid K code; when the 8B code is invalid, the K _ err output of the channel is set.
As a preferred technical solution of the present invention, the present invention further provides a low latency 8B/10B encoding apparatus, including an input register, an output register, and at least one channel encoding unit, where an output end of the input register is electrically connected to an input end of each channel encoding unit, an output end of each channel encoding unit is electrically connected to an input end of the output register, and the encoding unit is configured to input 8B data, first polarity 1B input information, and K code identifier 4B into the register in each clock cycle, and output 10B data, polarity 1B output information, and K code error-checking identifier from the register in each clock cycle.
The invention has the beneficial effects that: the invention adds the polarity generation module in the coding unit of each channel, replaces the fussy polarity generation process that the traditional four-channel coding unit depends on 5B/6B and 3B/4B coding and can finish polarity output calculation at the end of the process, so that the coding unit can calculate the polarity output of the current channel when the register inputs data, the coupling degree of polarity information transmission between channels and the coding process in the channel is reduced, the time for obtaining correct polarity input of the next coding channel is shortened, and the output delay of the correct coding result of the coding unit is reduced.
Drawings
FIG. 1 is a flow chart of the operation of a conventional four-channel 8B/10B encoder.
FIG. 2 is a flowchart of the low latency 8B/10B encoding method of the present invention.
FIG. 3 is a block diagram of a low latency 8B/10B encoding apparatus according to the present invention.
FIG. 4 is a diagram illustrating the internal operation of the coding unit in the low-latency 8B/10B coding apparatus according to the present invention.
Detailed Description
The preferred embodiments of the present invention will be described in conjunction with the accompanying drawings, and it will be understood that they are described herein for the purpose of illustration and explanation and not limitation.
As shown in FIG. 3, the present invention provides a low latency 8B/10B encoding apparatus, which includes an input register, an output register, and a four-channel encoding unit. The output end of the input register is electrically connected with the input end of each channel coding unit, the output end of each channel coding unit is electrically connected with the input end of the output register, and the coding units are used for reading 8B data, first path polarity 1B input information and K code identifiers 4B into the input register in each clock cycle, and outputting 10B data, polarity 1B output information and K code error checking identifiers from the input register in each clock cycle. After four channels of data to be encoded are input, 4 channels of data are divided into 4 channels, each channel corresponds to one encoding unit, and the internal working principle of the encoding unit is shown in fig. 4.
For any given 8B data to be encoded, the output polarity is determined, either to keep the polarity input unchanged or to invert the polarity input. According to the one-to-one correspondence relationship, a polarity generation method is designed. In order to reduce the burden of clock signals, the invention uses combinational logic to realize the search function of the corresponding relation between 8B data and output polarity.
According to the 8B encoding input and output results of all dx.y (256 types) and kx.y (12 types), as shown in table 1, the number of "0" and "1" in 10B data is counted, 141 types are counted in total when the number of "0" and "1" is 5, and the polarity output is the input with the polarity maintained; if the number of 0 and 1 is 4/6 or 6/4, the total number is 127, and the polarity output is inverted by the polarity input. Observing the 12 8B control word encoding results and the same 8B data word encoding results, the RD output results are the same for the same 8B data, whether it is a control word or a data word. Therefore, 268B input data can be simplified into 256 cases, in other words, only the coding results of 256 data characters are counted, which includes 134 cases of keeping the polarity output and 122 cases of inverting the polarity output, and the logic expressions are respectively derived, as shown in table 2 and table 3, when designing the actual coder, only one of the logic expressions of balanced or unbalanced case is used.
As shown in fig. 2, the present embodiment provides a method for low latency 8B/10B coding, which includes the following steps:
s1, inputting 8B data by the input register;
s2, carrying out error checking on the K code;
s3, generating output polarity according to the balance of the input 8B data, and transmitting the output polarity to the next channel;
s4, classifying the numbers of '1' and '0' of ABCD in 5B data according to 8B/10B coding rules, and pre-coding the 5B data, namely expanding 5B and 3B into 6B and 4B respectively according to the coding rules;
s5, generating a 5B/6B polarity information identifier according to the 5B data and the polarity input, and performing polarity input for 3B/4B coding and inversion correction on the 6B data output by precoding to complete 5B/6B coding;
s6, when 3B/4B coding is carried out, firstly, DEFGH of 8B data is judged, thereby avoiding the situation that ei and fgh in coded 10B data abcdei fghj are continuous 0 or 1; then, pre-coding the 3B data into 4B data, generating a polarity information identifier of 3B/4B for correcting the 4B data, and generating coded 10B data after the 3B/4B coding is finished;
and S7, carrying out XOR correction on the 10B result of the preliminary coding, thereby completing the 8B/10B coding once.
According to the 8B/10B coding principle, for any given 8B data input, the output results are at most 2, in one case, when the results are consistent when the inputs RD + and RD-, the quantity of '0' and '1' of the output results is balanced, and the polarity output of the 8B/10B coding is to keep the polarity input unchanged; another case is when the RD + and RD-have different results, and the two 10B results are either 4B (fghj) complementary, or 6B (abcdefi) complementary, or 10B (abcdefi fghj) complementary, in which case the number of "0" and "1" in the 10B results of RD + and RD-are not balanced, and it is necessary to invert the input polarity as the output polarity to achieve the balanced number of "0" and "1" in the data stream.
Wherein the polarity generation in step S3 includes the following steps:
s31, encoding 256 8B data characters and 12 8B control characters according to 8B/10B encoding and decoding modes proposed by IBM company Albert X.Widmer and Peter A.Franaszek, and obtaining 278 10B encoding outputs, namely 278 group corresponding relation, wherein the input polarity is + or-;
s32, counting the number of 0 and 1 in 278 output results of 10B; counting results of 5 numbers of 0 and 1 and 4/6 or 6/4 numbers of 0 and 1;
s33, marking 8B inputs corresponding to results with the numbers of 0 and 1 being 5 as balanced inputs, and marking 8B inputs corresponding to results with the numbers of 0 and 1 being 4/6 or 6/4 as unbalanced inputs;
s34, combining 256 8B data characters and 12 8B control characters into a 256-pair 8B input and balance mark pair relation table according to the balance mark;
and S35, deriving a relational expression between the unbalanced input and the balanced input through the relational table as a polarity generation method.
Wherein, the input bit width in the polarity generation is 8B, and the output bit width in the polarity generation is 1B. Only 8B input signals need to be input, and in 256 cases, the input polarity, the last output polarity, and the data type of the data characters or the control character information do not need to be obtained. For the input multi-channel 8B signals, the polarity rapid generation module can be expanded, so that the polarity of the multi-channel 8B is generated simultaneously, and the input of other data except 8B data is not depended on. The polarity generation module may use only one of the 122 "unbalanced inputs" or 134 "balanced inputs", with the balance being reversed in the unrecorded case as compared to the recorded case. Thereby simplifying the relationship corresponding to 256 inputs.
When the K code identification bit is set in step S2, performing logical operation according to 8 bits of each path of data to be encoded, and determining whether the K code is invalid; when the 8B code is invalid, the K _ err output of the channel is set.
The following is a detailed description of embodiments of the invention:
in the 5B/6B coding, 5B data is firstly classified according to the number of '1' and '0' of ABCD in the 5B data, then the 5B data is pre-coded, and 5B and 3B are respectively expanded into 6B and 4B according to rules. In the following formulas (1) to (5), the numbers of "1" and "0" in ABCD in 5B are judged, and "Lmn" represents m "1" and n "0" in ABCD, for example, "L13" represents 1 "and 3" 0 "in ABCD; equations (6) - (10) are 6B results "ao, bo, co, do, eo, io" generated by 5B precoding, where "K" is the K code identity; equations (12) - (15) are polar outputs, wherein pd5 is the flag indicating that 5B/6B coding is performed according to the positive polarity at the current 5B, nd5 is the flag indicating that 5B/6B coding is performed according to the negative polarity at the current 5B, nd6 is the flag indicating that the output polarity of 5B coding is negative, and pd6 is the flag indicating that the output polarity of 5B coding is positive;
L22=(A&B&!C&!D)|(C&D&!A&!B)|(!(A==B)&!(C==D)) (1)
L40=A&B&C&D (2)
L04=!A&!B&!C&!D (3)
L13=(!(A==B)&!C&!D)|(!(C==D)&!A&!B) (4)
L31=(!(A==B)&C&D)|(!(C==D)&A&B) (5)
ao=A (6)
bo=(B&!L40)|L04 (7)
co=L04|C|(E&D&!C&!B&!A) (8)
do=D&!(A&B&C) (9)
eo=(E|L13)&!(E&D&!C&!B&!A) (10)
io=(K&E&D&C&!B&!A)|E&!D&!C&!(A&B))|(E&L40)|(L22&!E)|(E&!D&C&!B&!A) (11)
pd5=(E&D&!C&!B&!A)|(!E&!L22&!L31) (12)
nd5=K|(E&!L22&!L13)|(!E&!D&C&B&A) (13)
nd6=pd5 (14)
pd6=K|(E&!L22&!L13) (15)
dispout6=dispin^(nd6|pd6) (16)
xor6=(pd5&!dispin)|(nd5&dispin) (17)
data_out[5:0]={(io^xor6),(eo^xor6),(do^xor6),(co^xor6),(bo^xor6),(ao^xor6)} (18)
based on the code block information, after the 5B data calculates the polarity output according to the input polarity information, the 6B data is controlled to be encoded with positive polarity/negative polarity, that is, equation (18) performs inverse correction on the 6B data of the pre-encoding output and guides the generation of 3B/4B polarity, thereby completing the 5B/6B encoding. If the result is consistent and does not need to be adjusted when the RD +/RD-is taken after the 5B data is coded, the code is called as a Z-type code, and similarly, if the result corresponding to the RD +/RD-after the coding is mutually inverse code, the code is called as a P-type code.
Before 3B data is pre-coded, in order to avoid the situation that ei and fgh in coded 10B data abcdeifghj are continuous to be 0 or 1, the logic judgment of DEFGH of 8B is realized by the following formula (19), and when six situations of Dx.7 are met, a special processing (x comprises 11,13,14,17,18,20) mark mod7 is set; equations (20) - (23) are the pre-coding of 3B, where the result of jo is generated based on the special processing identifier mod 7.
mod7=F&G&H&(K|(dispin?(!E&D&L31):(E&!D&L13))) (19)
fo=F&!mod7 (20)
go=G|(!F&!G&!H) (21)
ho=H (22)
jo=(!H&(G^F))|mod7 (23)
Like the 5B/6B coding, according to the 3B input, equations (24) to (27) are the polarity information identifiers of 3B/4B, wherein the polarity information identifiers of (24) and (25) are used for generating the 4B precoding data correction identifier, and the polarity information identifiers of (26) and (27) are used for generating the 4B polarity output identifier.
nd3=F&G (24)
pd3=(!F&!G)|(K&((F&!G)|(!F&G))) (25)
nd4=(!F&!G) (26)
pd4=F&G&H (27)
Equation (28) is to generate an identifier indicating whether the calculation precoding result 4B needs to be inverted, and equation (29) corrects and outputs the 3B precoding result according to the inverted identifier xor4, thereby completing the encoding of 8B/10B data once.
xor4=(pd3&!dispout6)|(nd3&dispout6) (28)
data_out[9:6]={(jo^xor4),(ho^xor4)(go^xor4),(fo^xor4)} (29)
In order to prevent the error control character from being recognized by the receiving end after the error control character is coded and output, the coder is set as an error mark when the error control character is input, so that a control character error checking module is designed to start to operate when 8B data is input. The total number of the control characters in the universal 8B/10B code is 12, namely K23.7, K27.7, K29.7, K30.7 and K28.0-K28.7, so that a logic expression of invalid K codes can be obtained, and if the input data of 8B is not in the 12, the input data are all invalid K codes, and K _ err is set at the moment.
K_err=K&(A|B|!C|!D|!E)&(!F|!G|!H|!E|((!A==B&C&D)|(!C==D&A&B)) (30)
Calculating whether the output polarity needs to be inverted (formula 32) according to the input 8B data in table 3 (or table 2), that is, the unbalanced (or balanced) logic expression (formula 31), so as to quickly generate the output polarity (formula 33), and after the calculation is completed, transmitting the current output polarity to the next path to be used as the input polarity of the next path.
D0.1=!A&!B&!C&!D&!E&F&!G&!H
D0.2=!A&!B&!C&!D&!E&!F&G&!H
…………
D28.1(K28.1)=!A&!B&C&D&E&F&!G&!H
…………
D31.5=A&B&C&D&E&F&!G&H
D31.6=A&B&C&D&E&!F&G&H (31)
reverse_disp=D0.1&D0.2&……&D28.1(K28.1)&……&D31.5&D31.6 (32)
disp_out=reverse_disp?~disp_in;disp_in (33)
Finally, it should be noted that: although the present invention has been described in detail with reference to the foregoing embodiments, it will be apparent to those skilled in the art that changes may be made in the embodiments and/or equivalents thereof without departing from the spirit and scope of the invention. Any modification, equivalent replacement, or improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.
Table 1256 data character and 12 control character coding tables
Figure BDA0002302683810000131
Figure BDA0002302683810000141
Figure BDA0002302683810000151
Figure BDA0002302683810000161
Figure BDA0002302683810000171
Figure BDA0002302683810000181
Figure BDA0002302683810000191
Table 2122 unbalanced input condition table
Figure BDA0002302683810000192
Figure BDA0002302683810000201
Figure BDA0002302683810000211
Figure BDA0002302683810000221
Table 3134 unbalanced input condition table
Figure BDA0002302683810000222
Figure BDA0002302683810000231
Figure BDA0002302683810000241
Figure BDA0002302683810000251

Claims (3)

1. A method of low latency 8B/10B coding, comprising the steps of:
s1, inputting 8B data, K code identification and polarity input by the input register;
s2, carrying out error checking on the K code;
s3, generating output polarity according to the balance of the input 8B data, and transmitting the output polarity to the next channel;
s4, classifying the numbers of '1' and '0' of ABCD in 5B data according to 8B/10B coding rules, and pre-coding the 5B data, namely expanding 5B and 3B into 6B and 4B respectively according to the coding rules;
s5, generating a 5B/6B polarity information identifier according to the 5B data and the polarity input, and performing polarity input for 3B/4B coding and inversion correction on the 6B data output by precoding to complete 5B/6B coding;
s6, when 3B/4B coding is carried out, firstly, DEFGH of 8B data is judged, thereby avoiding the situation that ei and fgh in coded 10B data abcdei fghj are continuous 0 or 1; then, pre-coding the 3B data into 4B data, generating a polarity information identifier of 3B/4B for correcting the 4B data, and generating coded 10B data after the 3B/4B coding is finished;
s7, carrying out XOR correction on the 10B result of the preliminary coding, thereby completing the 8B/10B coding for one time;
the polarity generation in step S3 includes the steps of:
s31, encoding 256 8B data characters and 12 8B control characters according to 8B/10B encoding and decoding modes proposed by IBM company Albert X.Widmer and Peter A.Franaszek, and obtaining 278 10B encoding outputs, namely 278 group corresponding relation, wherein the input polarity is + or-;
s32, counting the number of 0 and 1 in 278 output results of 10B; counting results of 5 numbers of 0 and 1 and 4/6 or 6/4 numbers of 0 and 1;
s33, marking 8B inputs corresponding to results with the numbers of 0 and 1 being 5 as balanced inputs, and marking 8B inputs corresponding to results with the numbers of 0 and 1 being 4/6 or 6/4 as unbalanced inputs;
s34, combining 256 8B data characters and 12 8B control characters into a 256-pair 8B input and balance mark pair relation table according to the balance mark;
and S35, deriving a relational expression between the unbalanced input and the balanced input through the relational table as a polarity generation method.
2. The method of claim 1, wherein an input bit width in the polarity generation is 8B, and an output bit width in the polarity generation is 1B.
3. The method of claim 1, wherein in step S2, when the K code flag is set, the logical operation is performed according to 8 bits of each path of data to be encoded to determine whether the K code is invalid; when the 8B code is invalid, the K _ err output of the channel is set.
CN201911227654.7A 2019-12-04 2019-12-04 Low-delay 8B/10B coding method and device Active CN111030953B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911227654.7A CN111030953B (en) 2019-12-04 2019-12-04 Low-delay 8B/10B coding method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911227654.7A CN111030953B (en) 2019-12-04 2019-12-04 Low-delay 8B/10B coding method and device

Publications (2)

Publication Number Publication Date
CN111030953A CN111030953A (en) 2020-04-17
CN111030953B true CN111030953B (en) 2021-11-09

Family

ID=70207895

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911227654.7A Active CN111030953B (en) 2019-12-04 2019-12-04 Low-delay 8B/10B coding method and device

Country Status (1)

Country Link
CN (1) CN111030953B (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1529941A (en) * 2001-05-08 2004-09-15 国际商业机器公司 8B/10B encoding and decoding for high speed applications
CN103138889A (en) * 2012-12-05 2013-06-05 无锡华大国奇科技有限公司 High-speed 8B/10B encoding device and coder
CN106788446A (en) * 2016-11-25 2017-05-31 电子科技大学 A kind of new 8b/10b coding implementation methods
CN107395539A (en) * 2017-08-31 2017-11-24 华南理工大学 A kind of 8B10B encoder design methods the agreement suitable for JESD204B
CN109905199A (en) * 2017-12-08 2019-06-18 中国科学院上海高等研究院 A kind of serial communication data Polarity restoration method of asymmetric K code encoding and decoding

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6911921B2 (en) * 2003-09-19 2005-06-28 International Business Machines Corporation 5B/6B-T, 3B/4B-T and partitioned 8B/10B-T and 10B/12B transmission codes, and their implementation for high operating rates
US8081705B2 (en) * 2008-06-27 2011-12-20 Crestron Electronics Inc. Digital video physical layer using a multi-level data code
CN101674089B (en) * 2009-10-19 2013-01-09 中国科学院声学研究所 High-speed 8B/10B coder, decoder and processing method thereof for error input
JP6657690B2 (en) * 2015-09-10 2020-03-04 富士ゼロックス株式会社 Decoding device, program, and information transmission system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1529941A (en) * 2001-05-08 2004-09-15 国际商业机器公司 8B/10B encoding and decoding for high speed applications
CN103138889A (en) * 2012-12-05 2013-06-05 无锡华大国奇科技有限公司 High-speed 8B/10B encoding device and coder
CN106788446A (en) * 2016-11-25 2017-05-31 电子科技大学 A kind of new 8b/10b coding implementation methods
CN107395539A (en) * 2017-08-31 2017-11-24 华南理工大学 A kind of 8B10B encoder design methods the agreement suitable for JESD204B
CN109905199A (en) * 2017-12-08 2019-06-18 中国科学院上海高等研究院 A kind of serial communication data Polarity restoration method of asymmetric K code encoding and decoding

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
一种8 Gsps模数转换器中的8B10B编码电路设计;张博等;《西安邮电大学学报》;20190910(第05期);全文 *
一种新的8B/10B编码器设计;舒志兴等;《微电子学与计算机》;20150905(第09期);全文 *
一种新的8B/10B编码电路设计;刘智等;《通信技术》;20090710(第07期);全文 *
一种雷达信号处理芯片的8B/10B编码电路设计;王颖等;《火控雷达技术》;20110925(第03期);全文 *

Also Published As

Publication number Publication date
CN111030953A (en) 2020-04-17

Similar Documents

Publication Publication Date Title
EP0230714B1 (en) Data transmission system
Widmer et al. A DC-balanced, partitioned-block, 8B/10B transmission code
US6198413B1 (en) Partitioned DC balanced (0,6) 16B/18B transmission code with error correction
EP0097763B1 (en) A method and apparatus for producing a dc balanced (0,4) run length limited rate 8b/10b code from an input data stream
US8581755B2 (en) Multiple word data bus inversion
US6333704B1 (en) Coding/decoding system of bit insertion/manipulation line code for high-speed optical transmission system
KR101354288B1 (en) Method and apparatus for error detection in a communication system
EP0725486B1 (en) Transmission code having local parity
CN103731239A (en) Universal CRC parallel calculation component suitable for being used for vector processor and method
CN111030953B (en) Low-delay 8B/10B coding method and device
US7852242B2 (en) Increasing 8B/10B coding speed using a disparity look-ahead table
CN1323402C (en) Invertibly mapping binary sequences into rate 2/3 (1,K) run-length-limited coded sequences with maximum transition density constrains
KR100401393B1 (en) A low disparity coding method for digital data
CN107395539A (en) A kind of 8B10B encoder design methods the agreement suitable for JESD204B
CN101442380B (en) Method and apparatus for testing error rate based on high speed serial interface encoded mode
US4617553A (en) Enhanced Miller code
US6346895B1 (en) Apparatus and method for using nibble inversion code
CN103138889A (en) High-speed 8B/10B encoding device and coder
US6911921B2 (en) 5B/6B-T, 3B/4B-T and partitioned 8B/10B-T and 10B/12B transmission codes, and their implementation for high operating rates
EP4142229A1 (en) System and method for transition encoding with flexible word-size
CN113949388B (en) Coder-decoder and coding-decoding method for serializer/deserializer system
CN105760329A (en) Coding and decoding device capable of reducing bus coupling overturn
Dai et al. CRC-aided belief propagation with permutated graphs decoding of polar codes
TWI760898B (en) Data decoding circuit and method
Kolokotronis et al. Short paper: Attacking and defending lightweight PHY security schemes for wireless communications

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20200624

Address after: 214000 5 Hui He road, Binhu District, Wuxi, Jiangsu

Applicant after: The 58th Research Institute of China Electronics Technology Group Corp.

Address before: 214000 Liyuan Development Zone, Binhu District, Wuxi City, Jiangsu Province, 04-6 Block (100 Dicui Road), 9 buildings and 2 floors

Applicant before: ZHONGKEXIN INTEGRATED CIRCUIT Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant