PAM-based coding schemes for parallel communication
11133874 · 2021-09-28
Assignee
Inventors
Cpc classification
H03K19/21
ELECTRICITY
H03K19/20
ELECTRICITY
International classification
H03K19/20
ELECTRICITY
Abstract
Encoders and decoders for encoding and decoding data according to a coding scheme. The encoder converts N bits of input data into M voltage signals for transmission over M parallel wires to a decoder having one or two decoding stages that recover the N bits of data from the M voltage signals. The coding scheme is an N-bit, M-wire PAM-Q code in which each voltage signal w.sub.i has one of Q voltage levels l.sub.1-l.sub.Q, where l.sub.1<l.sub.2< . . . <l.sub.Q, and the different sets of M voltage signals for the different N-bit input values are permutations of a single set of M voltage signals. The decoder has a comparator stage. For the decoder having one other decoding stage, the other decoding stage is a computation stage or a logic stage that is before or after the comparator stage.
Claims
1. An article of manufacture comprising an encoder for encoding data according to a coding scheme, the encoder comprising: a first coding stage configured to convert N bits b.sub.1-b.sub.N of input data into P bits of intermediate data; and a second coding stage configured to convert the P bits of intermediate data into M voltage signals w.sub.1-w.sub.M for transmission over M parallel wires to a decoder, wherein: the coding scheme is an N-bit, M-wire PAM-Q code in which (i) each N-bit input value is encoded as a set of M voltage signals w.sub.1-w.sub.M, (ii) each voltage signal w.sub.i has one of Q voltage levels l.sub.1-l.sub.Q, where l.sub.1<l.sub.2< . . . <l.sub.Q, and (iii) the different sets of M voltage signals w.sub.1-w.sub.M for the different N-bit input values are permutations of a single set of M voltage signals; and for each N-bit input, the M voltage signals are decodable by the decoder having a comparator stage and no more than one other decoding stage, wherein, for the decoder having one other decoding stage, the other decoding stage is a computation stage or a logic stage that is before or after the comparator stage.
2. The article of claim 1, wherein N=M=Q=4.
3. The article of claim 2, wherein the 4-bit, 4-wire PAM4 code is represented as: TABLE-US-00007 (b.sub.4 b.sub.3 b.sub.2 b.sub.1) (w.sub.4 w.sub.3 w.sub.2 w.sub.1) (0 0 0 0) (l.sub.1 l.sub.2 l.sub.3 l.sub.4) (0 0 0 1) (l.sub.1 l.sub.2 l.sub.4 l.sub.3) (0 0 1 0) (l.sub.2 l.sub.3 l.sub.4 l.sub.1) (0 0 1 1) (l.sub.1 l.sub.3 l.sub.4 l.sub.2) (0 1 0 0) (l.sub.1 l.sub.3 l.sub.2 l.sub.4) (0 1 0 1) (l.sub.2 l.sub.3 l.sub.1 l.sub.4) (0 1 1 0) (l.sub.1 l.sub.4 l.sub.2 l.sub.3); (l.sub.2 l.sub.4 l.sub.3 l.sub.1); (l.sub.3 l.sub.4 l.sub.1 l.sub.2) (0 1 1 1) (l.sub.1 l.sub.4 l.sub.3 l.sub.2); (l.sub.2 l.sub.4 l.sub.1 l.sub.3); (l.sub.3 l.sub.4 l.sub.2 l.sub.1) (1 0 0 0) (l.sub.4 l.sub.1 l.sub.2 l.sub.3); (l.sub.2 l.sub.1 l.sub.3 l.sub.4); (l.sub.3 l.sub.1 l.sub.4 l.sub.2) (1 0 0 1) (l.sub.4 l.sub.1 l.sub.3 l.sub.2); (l.sub.3 l.sub.1 l.sub.2 l.sub.4); (l.sub.2 l.sub.1 l.sub.4 l.sub.3) (1 0 1 0) (l.sub.3 l.sub.2 l.sub.4 l.sub.1) (1 0 1 1) (l.sub.4 l.sub.2 l.sub.3 l.sub.1) (1 1 0 0) (l.sub.4 l.sub.2 l.sub.1 l.sub.3) (1 1 0 1) (l.sub.3 l.sub.2 l.sub.1 l.sub.4) (1 1 1 0) (l.sub.4 l.sub.3 l.sub.1 l.sub.2) (1 1 1 1 ) (l.sub.4 l.sub.3 l.sub.2 l.sub.1).
4. The article of claim 1, wherein N=4, M=5, and Q=3.
5. The article of claim 4, wherein the 4-bit, 5-wire PAM3 code is represented as: TABLE-US-00008 (b.sub.4 b.sub.3 b.sub.2 b.sub.1) (w.sub.5 w.sub.4 w.sub.3 w.sub.2 w.sub.1) (0 0 0 0) (l.sub.1 l.sub.3 l.sub.1 l.sub.2 l.sub.2) (0 0 0 1) (l.sub.1 l.sub.2 l.sub.1 l.sub.2 l.sub.3) (0 0 1 0) (l.sub.1 l.sub.3 l.sub.2 l.sub.1 l.sub.2) (0 0 1 1) (l.sub.1 l.sub.2 l.sub.2 l.sub.1 l.sub.3) (0 1 0 0) (l.sub.2 l.sub.3 l.sub.1 l.sub.2 l.sub.1) (0 1 0 1) (l.sub.1 l.sub.2 l.sub.2 l.sub.3 l.sub.1) (0 1 1 0) (l.sub.2 l.sub.3 l.sub.2 l.sub.1 l.sub.1) (0 1 1 1) (l.sub.1 l.sub.2 l.sub.3 l.sub.2 l.sub.1) (1 0 0 0) (l.sub.3 l.sub.1 l.sub.1 l.sub.2 l.sub.2) (1 0 0 1) (l.sub.2 l.sub.1 l.sub.1 l.sub.2 l.sub.3) (1 01 0) (l.sub.3 l.sub.1 l.sub.2 l.sub.1 l.sub.2) (1 0 1 1) (l.sub.2 l.sub.1 l.sub.2 l.sub.1 l.sub.3) (1 1 0 0) (l.sub.3 l.sub.2 l.sub.1 l.sub.2 l.sub.1) (1 1 0 1) (l.sub.2 l.sub.1 l.sub.2 l.sub.3 l.sub.1) (1 1 1 0) (l.sub.3 l.sub.2 l.sub.2 l.sub.1 l.sub.1) (1 1 1 1) (l.sub.2 l.sub.1 l.sub.3 l.sub.2 l.sub.1).
6. The article of claim 1, wherein N=4, M=5, and Q=4.
7. The article of claim 6, wherein the 4-bit, 5-wire PAM4 code is represented as: TABLE-US-00009 (b.sub.4 b.sub.3 b.sub.2 b.sub.1) (w.sub.5 w.sub.4 w.sub.3 w.sub.2 w.sub.1) (0 0 0 0) (l.sub.1 l.sub.4 l.sub.1 l.sub.2 l.sub.3) (0 0 0 1) (l.sub.1 l.sub.2 l.sub.1 l.sub.3 l.sub.4) (0 0 1 0) (l.sub.1 l.sub.4 l.sub.2 l.sub.1 l.sub.3) (0 0 1 1) (l.sub.1 l.sub.2 l.sub.3 l.sub.1 l.sub.4) (0 1 0 0) (l.sub.2 l.sub.4 l.sub.1 l.sub.3 l.sub.1) (0 1 0 1) (l.sub.1 l.sub.2 l.sub.3 l.sub.4 l.sub.1) (0 1 1 0) (l.sub.2 l.sub.4 l.sub.3 l.sub.1 l.sub.1) (0 1 1 1) (l.sub.1 l.sub.2 l.sub.4 l.sub.3 l.sub.1) (1 0 0 0) (l.sub.4 l.sub.1 l.sub.1 l.sub.2 l.sub.3) (1 0 0 1) (l.sub.2 l.sub.1 l.sub.1 l.sub.3 l.sub.4) (1 0 1 0) (l.sub.4 l.sub.1 l.sub.2 l.sub.1 l.sub.3) (1 0 1 1) (l.sub.2 l.sub.1 l.sub.3 l.sub.1 l.sub.4) (1 1 0 0) (l.sub.4 l.sub.2 l.sub.1 l.sub.3 l.sub.1) (1 1 0 1) (l.sub.2 l.sub.1 l.sub.3 l.sub.4 l.sub.1) (1 1 1 0) (l.sub.4 l.sub.2 l.sub.3 l.sub.1 l.sub.1) (1 1 1 1) (l.sub.2 l.sub.1 l.sub.4 l.sub.3 l.sub.1).
8. The article of claim 1, wherein each voltage level appears only one time in each code.
9. The article of claim 1, wherein two different voltage levels appear twice in each code.
10. The article of claim 1, wherein one of the voltage levels appears twice in each code.
11. An article of manufacture comprising a decoder for decoding signals generated using a coding scheme, the decoder comprising one or two decoding stages including a first decoding stage, wherein: the first decoding stage is configured to receive M voltage signals w.sub.1-w.sub.M from M parallel wires; the decoder is configured to recover N bits b.sub.1-b.sub.N of data from the M voltage signals w.sub.1-w.sub.M; the coding scheme is an N-bit, M-wire PAM-Q code in which (i) each N-bit input value is encoded as a set of M voltage signals w.sub.1-w.sub.M, (ii) each voltage signal w.sub.i has one of Q voltage levels l.sub.1-l.sub.Q, where l.sub.1<l.sub.2< . . . <l.sub.Q, and (iii) the different sets of M voltage signals w.sub.1-w.sub.M for the different N-bit input values are permutations of a single set of M voltage signals; and the M voltage signals w.sub.1-w.sub.M are decodable by the decoder having a comparator stage and no more than one other decoding stage, wherein, for the decoder having one other decoding stage, the other decoding stage is a computation stage or a logic stage that is before or after the comparator stage.
12. The article of claim 11, wherein N=M=Q=4.
13. The article of claim 12, wherein the 4-bit, 4-wire PAM4 code is represented as: TABLE-US-00010 (b.sub.4 b.sub.3 b.sub.2 b.sub.1) (w.sub.4 w.sub.3 w.sub.2 w.sub.1) (0 0 0 0) (l.sub.1 l.sub.2 l.sub.3 l.sub.4) (0 0 0 1) (l.sub.1 l.sub.2 l.sub.4 l.sub.3) (0 0 1 0) (l.sub.2 l.sub.3 l.sub.4 l.sub.1) (0 0 1 1) (l.sub.1 l.sub.3 l.sub.4 l.sub.2) (0 1 0 0) (l.sub.1 l.sub.3 l.sub.2 l.sub.4) (0 1 0 1) (l.sub.2 l.sub.3 l.sub.1 l.sub.4) (0 1 1 0) (l.sub.1 l.sub.4 l.sub.2 l.sub.3); (l.sub.2 l.sub.4 l.sub.3 l.sub.1); (l.sub.3 l.sub.4 l.sub.1 l.sub.2) (0 1 1 1) (l.sub.1 l.sub.4 l.sub.3 l.sub.2); (l.sub.2 l.sub.4 l.sub.1 l.sub.3); (l.sub.3 l.sub.4 l.sub.2 l.sub.1) (1 0 0 0) (l.sub.4 l.sub.1 l.sub.2 l.sub.3); (l.sub.2 l.sub.1 l.sub.3 l.sub.4); (l.sub.3 l.sub.1 l.sub.4 l.sub.2) (1 0 0 1) (l.sub.4 l.sub.1 l.sub.3 l.sub.2); (l.sub.3 l.sub.1 l.sub.2 l.sub.4); (l.sub.2 l.sub.1 l.sub.4 l.sub.3) (1 0 1 0) (l.sub.3 l.sub.2 l.sub.4 l.sub.1) (1 0 1 1) (l.sub.4 l.sub.2 l.sub.3 l.sub.1) (1 1 0 0) (l.sub.4 l.sub.2 l.sub.1 l.sub.3) (1 1 0 1) (l.sub.3 l.sub.2 l.sub.1 l.sub.4) (1 1 1 0) (l.sub.4 l.sub.3 l.sub.1 l.sub.2) (1 1 1 1) (l.sub.4 l.sub.3 l.sub.2 l.sub.1).
14. The article of claim 13, wherein the decoder comprises a comparator stage followed by a computation stage.
15. The article of claim 14, wherein the decoder decodes the 4 voltage signals w.sub.1-w.sub.4 according to:
b.sub.4=1(w.sub.4>w.sub.3);
b.sub.3=1(w.sub.3>w.sub.2);
b.sub.2=1(w.sub.3>w.sub.1); and
b.sub.1=1(w.sub.2>w.sub.1)+1(w.sub.4>w.sub.2)−1(w.sub.4>w.sub.1).
16. The article of claim 13, wherein the decoder comprises a comparator stage followed by a logic stage.
17. The article of claim 16, wherein the decoder decodes the 4 voltage signals according to:
b.sub.4=1(w.sub.4>w.sub.3);
b.sub.3=1(w.sub.3>w.sub.2);
b.sub.2=1(w.sub.3>w.sub.1); and
b.sub.1=1(w.sub.2>w.sub.1)XOR1(w.sub.4>w.sub.2)XOR1(w.sub.4>w.sub.1).
18. The article of claim 11, wherein N=4, M=5, and Q=3.
19. The article of claim 18, wherein the 4-bit, 5-wire PAM3 code is represented as: TABLE-US-00011 (b.sub.4 b.sub.3 b.sub.2 b.sub.1) (w.sub.5 w.sub.4 w.sub.3 w.sub.2 w.sub.1) (0 0 0 0) (l.sub.1 l.sub.3 l.sub.1 l.sub.2 l.sub.2) (0 0 0 1) (l.sub.1 l.sub.2 l.sub.1 l.sub.2 l.sub.3) (0 0 1 0) (l.sub.1 l.sub.3 l.sub.2 l.sub.1 l.sub.2) (0 0 1 1) (l.sub.1 l.sub.2 l.sub.2 l.sub.1 l.sub.3) (0 1 0 0) (l.sub.2 l.sub.3 l.sub.1 l.sub.2 l.sub.1) (0 1 0 1) (l.sub.1 l.sub.2 l.sub.2 l.sub.3 l.sub.1) (0 1 1 0) (l.sub.2 l.sub.3 l.sub.2 l.sub.1 l.sub.1) (0 1 1 1) (l.sub.1 l.sub.2 l.sub.3 l.sub.2 l.sub.1) (1 0 0 0) (l.sub.3 l.sub.1 l.sub.1 l.sub.2 l.sub.2) (1 0 0 1) (l.sub.2 l.sub.1 l.sub.1 l.sub.2 l.sub.3) (1 0 1 0) (l.sub.3 l.sub.1 l.sub.2 l.sub.1 l.sub.2) (1 0 1 1) (l.sub.2 l.sub.1 l.sub.2 l.sub.1 l.sub.3) (1 1 0 0) (l.sub.3 l.sub.2 l.sub.1 l.sub.2 l.sub.1) (1 1 0 1) (l.sub.2 l.sub.1 l.sub.2 l.sub.3 l.sub.1) (1 1 1 0) (l.sub.3 l.sub.2 l.sub.2 l.sub.1 l.sub.1) (1 1 1 1) (l.sub.2 l.sub.1 l.sub.3 l.sub.2 l.sub.1).
20. The article of claim 19, wherein the decoder comprises a computation stage followed by a comparator stage.
21. The article of claim 20, wherein the decoder decodes the 5 voltage signals according to:
b.sub.4=1(w.sub.5>w.sub.4);
b.sub.3=1((w.sub.3+w.sub.2)/2>w.sub.1);
b.sub.2=1(w.sub.3>w.sub.2); and
b.sub.1=1((w.sub.1+w.sub.2+w.sub.3)/3>(w.sub.4+w.sub.5)/2.
22. The article of claim 11, wherein N=4, M=5, and Q=4.
23. The article of claim 22, wherein the 4-bit, 5-wire PAM4 code is represented as: TABLE-US-00012 (b.sub.4 b.sub.3 b.sub.2 b.sub.1) (w.sub.5 w.sub.4 w.sub.3 w.sub.2 w.sub.1) (0 0 0 0) (l.sub.1 l.sub.4 l.sub.1 l.sub.2 l.sub.3) (0 0 0 1) (l.sub.1 l.sub.2 l.sub.1 l.sub.3 l.sub.4) (0 0 1 0) (l.sub.1 l.sub.4 l.sub.2 l.sub.1 l.sub.3) (0 0 1 1) (l.sub.1 l.sub.2 l.sub.3 l.sub.1 l.sub.4) (0 1 0 0) (l.sub.2 l.sub.4 l.sub.1 l.sub.3 l.sub.1) (0 1 0 1) (l.sub.1 l.sub.2 l.sub.3 l.sub.4 l.sub.1) (0 1 1 0) (l.sub.2 l.sub.4 l.sub.3 l.sub.1 l.sub.1) (0 1 1 1) (l.sub.1 l.sub.2 l.sub.4 l.sub.3 l.sub.1) (1 0 0 0) (l.sub.4 l.sub.1 l.sub.1 l.sub.2 l.sub.3) (1 0 0 1) (l.sub.2 l.sub.1 l.sub.1 l.sub.3 l.sub.4) (1 0 1 0) (l.sub.4 l.sub.1 l.sub.2 l.sub.1 l.sub.3) (1 0 1 1) (l.sub.2 l.sub.1 l.sub.3 l.sub.1 l.sub.4) (1 1 0 0) (l.sub.4 l.sub.2 l.sub.1 l.sub.3 l.sub.1) (1 1 0 1) (l.sub.2 l.sub.1 l.sub.3 l.sub.4 l.sub.1) (1 1 1 0) (l.sub.4 l.sub.2 l.sub.3 l.sub.1 l.sub.1) (1 1 1 1) (l.sub.2 l.sub.1 l.sub.4 l.sub.3 l.sub.1).
24. The article of claim 23, wherein the decoder comprises a computation stage followed by a comparator stage.
25. The article of claim 24, wherein the decoder decodes the 5 voltage signals according to:
b.sub.4=1(w.sub.5>w.sub.4);
b.sub.3=1((w.sub.3+w.sub.2)/2>w.sub.1);
b.sub.2=1(w.sub.3>w.sub.2); and
b.sub.1=1((w.sub.1+w.sub.2+w.sub.3)/3>(w.sub.4+w.sub.5)/2.
26. The article of claim 11, wherein each voltage level appears only one time in each code.
27. The article of claim 11, wherein two different voltage levels appear twice in each code.
28. The article of claim 11, wherein one of the voltage levels appears twice in each code.
29. The article of claim 11, wherein the decoder is configured to recover the N bits from the M voltage signals generated using the coding scheme using an instance of the following equation:
30. The article of claim 29, wherein the decoder comprises an initial computation stage that performs the inner sums, followed by a comparison stage that performs the comparisons, followed by a second computation stage that performs the outer sums.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) Embodiments of the disclosure will become more fully apparent from the following detailed description, the appended claims, and the accompanying drawings in which like reference numerals identify similar or identical elements.
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
DETAILED DESCRIPTION
(18) Detailed illustrative embodiments of the present disclosure are disclosed herein. However, specific structural and functional details disclosed herein are merely representative for purposes of describing example embodiments of the present disclosure. The present disclosure may be embodied in many alternate forms and should not be construed as limited to only the embodiments set forth herein. Further, the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of example embodiments of the disclosure.
(19) As used herein, the singular forms “a,” “an,” and “the,” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It further will be understood that the terms “comprises,” “comprising,” “includes,” and/or “including,” specify the presence of stated features, steps, or components, but do not preclude the presence or addition of one or more other features, steps, or components. It also should be noted that in some alternative implementations, the functions/acts noted may occur out of the order noted in the figures. For example, two figures shown in succession may in fact be executed substantially concurrently or may sometimes be executed in the reverse order, depending upon the functions/acts involved.
(20)
(21) According to certain embodiments of this disclosure, the encoder 114 employs an N-bit, M-wire PAM-Q coding scheme to encode the data for transmission as M voltage signals over the M-wire bus 120, where N and Q are also integers greater than one.
(22) 4-Bit, 4-Wire PAM4 Coding Scheme
(23) Table 1 presents a generalized PAM coding scheme in which N=4 bits, M=4 wires, and the PAM coding scheme has Q=4 voltage levels l.sub.1-l.sub.4, where l.sub.1<l.sub.2<l.sub.3<l.sub.4. According to this 4-bit, 4-wire PAM4 coding scheme, the 4-bit value (b.sub.4 b.sub.3 b.sub.2 b.sub.1)=(0 0 0 0) is encoded into four voltage signals w.sub.1-w.sub.4, where the voltage signal w.sub.1 transmitted on a first wire of the 4-wire bus 120 has amplitude l.sub.4, the voltage signal w.sub.2 transmitted on a second wire of the bus 120 has amplitude l.sub.3, the voltage signal w.sub.3 transmitted on a third wire of the bus 120 has amplitude l.sub.2, and the voltage signal w.sub.4 transmitted on the fourth wire of the bus 120 has amplitude l.sub.1, and analogously for the 15 other possible 4-bit combinations listed in Table 1. Note that, as presented in Table 1, each of the four 4-bit combinations (0 1 1 0), (0 1 1 1), (1 0 0 0), and (1 0 0 1) can be encoded three different ways.
(24) TABLE-US-00001 TABLE 1 GENERALIZED 4-BIT, 4-WIRE PAM4 CODING SCHEME (b.sub.4 b.sub.3 b.sub.2 b.sub.1) (w.sub.4 w.sub.3 w.sub.2 w.sub.1) (0 0 0 0) (l.sub.1 l.sub.2 l.sub.3 l.sub.4) (0 0 0 1) (l.sub.1 l.sub.2 l.sub.4 l.sub.3) (0 0 1 0) (l.sub.2 l.sub.3 l.sub.4 l.sub.1) (0 0 1 1) (l.sub.1 l.sub.3 l.sub.4 l.sub.2) (0 1 0 0) (l.sub.1 l.sub.3 l.sub.2 l.sub.4) (0 1 0 1) (l.sub.2 l.sub.3 l.sub.1 l.sub.4) (0 1 1 0) (l.sub.1 l.sub.4 l.sub.2 l.sub.3); (l.sub.2 l.sub.4 l.sub.3 l.sub.1); (l.sub.3 l.sub.4 l.sub.1 l.sub.2) (0 1 1 1) (l.sub.1 l.sub.4 l.sub.3 l.sub.2); (l.sub.2 l.sub.4 l.sub.1 l.sub.3); (l.sub.3 l.sub.4 l.sub.2 l.sub.1) (1 0 0 0) (l.sub.4 l.sub.1 l.sub.2 l.sub.3); (l.sub.2 l.sub.1 l.sub.3 l.sub.4); (l.sub.3 l.sub.1 l.sub.4 l.sub.2) (1 0 0 1) (l.sub.4 l.sub.1 l.sub.3 l.sub.2); (l.sub.3 l.sub.1 l.sub.2 l.sub.4): (l.sub.2 l.sub.1 l.sub.4 l.sub.3) (1 0 1 0) (l.sub.3 l.sub.2 l.sub.4 l.sub.1) (1 0 1 1) (l.sub.4 l.sub.2 l.sub.3 l.sub.1) (1 1 0 0) (l.sub.4 l.sub.2 l.sub.1 l.sub.3) (1 1 0 1) (l.sub.3 l.sub.2 l.sub.1 l.sub.4) (1 1 1 0) (l.sub.4 l.sub.3 l.sub.1 l.sub.2) (1 1 1 1) (l.sub.4 l.sub.3 l.sub.2 l.sub.1)
(25) In one possible specific implementation of the coding scheme of Table 1, the voltage level l.sub.1 is 0 volts, the voltage level l.sub.2 is a specified non-zero voltage level, the voltage level l.sub.3 is twice as high as the voltage level l.sub.2, and the voltage level l.sub.4 is three times as high as the voltage level l.sub.2. In that case, the coding scheme of Table 1 can be represented as shown in Table 2, where “0” represents the zero voltage level l.sub.1, “1” represents the non-zero voltage level l.sub.2, “2” represents the non-zero voltage level l.sub.3, and “3” represents the non-zero voltage level l.sub.4. Note that the average transmit power for the coding scheme of Table 2 is (0+1+4+9)/4 or 3.5 power units per bit, where power is proportional to voltage squared. Those skilled in the art will understand that, in alternative implementations, values other than 0-3 can be used for the voltage levels l.sub.1-l.sub.4, as long as they satisfy the condition that l.sub.1<l.sub.2<l.sub.3<l.sub.4.
(26) TABLE-US-00002 TABLE 2 SPECIFIC 4-BIT, 4-WIRE PAM4 CODING SCHEME (b.sub.4 b.sub.3 b.sub.2 b.sub.1) (w.sub.4 w.sub.3 w.sub.2 w.sub.1) (0 0 0 0) (0 1 2 3) (0 0 0 1) (0 1 3 2) (0 0 1 0) (1 2 3 0) (0 0 1 1) (0 2 3 1) (0 1 0 0) (0 2 1 3) (0 1 0 1) (1 2 0 3) (0 1 1 0) (0 3 1 2); (1 3 2 0); (2 3 0 1) (0 1 1 1) (0 3 2 1); (1 3 0 2); (2 3 1 0) (1 0 0 0) (3 0 1 2); (1 0 2 3); (2 0 3 1) (1 0 0 1) (3 0 2 1); (2 0 1 3): (1 0 3 2) (1 0 1 0) (2 1 3 0) (1 0 1 1) (3 1 2 0) (1 1 0 0) (3 1 0 2) (1 1 0 1) (2 1 0 3) (1 1 1 0) (3 2 0 1) (1 1 1 1) (3 2 1 0)
(27) Note that, in the generalized coding scheme of Table 1, all sixteen different 4-bit values (b.sub.4 b.sub.3 b.sub.2 b.sub.1) are encoded using permutations of the same set of four voltage signals, where each permutation has exactly one voltage signal with voltage level l.sub.1, exactly one voltage signal with voltage level l.sub.2, exactly one voltage signal with voltage level l.sub.3, and exactly one voltage signal with voltage level l.sub.4. Similarly, in the specific coding scheme of Table 2, all sixteen different 4-bit values (b.sub.4 b.sub.3 b.sub.2 b.sub.1) are encoded using permutations of the same set of four voltage signals, where each permutation has exactly one voltage signal with voltage level 0, exactly one voltage signal with voltage level 1, exactly one voltage signal with voltage level 2, and exactly one voltage signal with voltage level 3.
(28)
(29)
(30)
(31) In order to decode the PAM4 voltage signals w.sub.1-w.sub.4 encoded using any specific implementation of the generalized coding scheme of Table 1, of which the coding scheme of Table 2 is one specific example, to recover the original 4-bit value (b.sub.4 b.sub.3 b.sub.2 b.sub.1), the decoder 134 of
b.sub.4=1(w.sub.4>w.sub.3) (1)
b.sub.3=1(w.sub.3>w.sub.2) (2)
b.sub.2=1(w.sub.3>w.sub.1) (3)
b.sub.1=1(w.sub.2>w.sub.1)+1(w.sub.4>w.sub.2)−1(w.sub.4>w.sub.1) (4a)
b.sub.1=1(w.sub.2>w.sub.1)XOR1(w.sub.4>w.sub.2)XOR1(w.sub.4>w.sub.1) (4b)
(32) In particular, according to Equation (1), the fourth bit b.sub.4 is 1 if the voltage w.sub.4 is greater than the voltage w.sub.3; otherwise, b.sub.4 is 0. Similarly, according to Equation (2), the third bit b.sub.3 is 1 if the voltage w.sub.3 is greater than the voltage w.sub.2; otherwise, b.sub.3 is 0, and, according to Equation (3), the second bit b.sub.2 is 1 if the voltage w.sub.3 is greater than the voltage w.sub.1; otherwise, b.sub.2 is 0.
(33) As represented above, there are two different ways to recover the first bit b1. According to Equation (4a), the first way employs three comparisons followed by two computations. In particular, if w.sub.2 is greater than w.sub.1, then the first term of the addition of Equation (4a) is 1; otherwise, the first term is 0. Similarly, if w.sub.4 is greater than w.sub.2, then the second term of the addition of Equation (4a) is 1; otherwise, the second term is 0. Lastly, if w.sub.4 is greater than w.sub.1, then the second term of the subtraction of Equation (4a) is 1; otherwise, the second term is 0.
(34) According to Equation (4b), the second way of recovering the first bit b1 employs three comparisons followed by two logic operations. In particular, if w.sub.2 is greater than w.sub.1, then the first term of the first XOR operation of Equation (4b) is 1; otherwise, the first term is 0. Similarly, if w.sub.4 is greater than w.sub.2, then the second term of the first XOR operation of Equation (4b) is 1; otherwise, the second term is 0. Lastly, if w.sub.4 is greater than w.sub.1, then the second term of the second XOR operation of Equation (4b) is 1; otherwise, the second term is 0.
(35)
(36)
(37) 4-Bit, 5-Wire PAM3 Coding Scheme
(38) Table 3 presents a generalized PAM coding scheme in which N=4 bits, M=5 wires, and the PAM coding scheme has Q=3 voltage levels l.sub.1-l.sub.3, where l.sub.1<l.sub.2<l.sub.3. Note that the differences between different pairs of consecutive voltage levels do not need to be equal. This degree of freedom can be taken advantage of in order to improve the vertical eye opening at the receiver. According to this 4-bit, 5-wire PAM3 coding scheme, each 4-bit value (b.sub.4 b.sub.3 b.sub.2 b.sub.1) is encoded into five analog voltage signals w.sub.1-w.sub.5 for transmission over the M=5 wires of the 5-wire parallel bus 120 of
(39) TABLE-US-00003 TABLE 3 GENERALIZED 4-BIT, 5-WIRE PAM3 CODING SCHEME (b.sub.4 b.sub.3 b.sub.2 b.sub.1) (w.sub.5 w.sub.4 w.sub.3 w.sub.2 w.sub.1) (0 0 0 0) (l.sub.1 l.sub.3 l.sub.1 l.sub.2 l.sub.2) (0 0 0 1) (l.sub.1 l.sub.2 l.sub.1 l.sub.2 l.sub.3) (0 0 1 0) (l.sub.1 l.sub.3 l.sub.2 l.sub.1 l.sub.2) (0 0 1 1) (l.sub.1 l.sub.2 l.sub.2 l.sub.1 l.sub.3) (0 1 0 0) (l.sub.2 l.sub.3 l.sub.1 l.sub.2 l.sub.1) (0 1 0 1) (l.sub.1 l.sub.2 l.sub.2 l.sub.3 l.sub.1) (0 1 1 0) (l.sub.2 l.sub.3 l.sub.2 l.sub.1 l.sub.1) (0 1 1 1) (l.sub.1 l.sub.2 l.sub.3 l.sub.2 l.sub.1) (1 0 0 0) (l.sub.3 l.sub.1 l.sub.1 l.sub.2 l.sub.2) (1 0 0 1) (l.sub.2 l.sub.1 l.sub.1 l.sub.2 l.sub.3) (1 0 1 0) (l.sub.3 l.sub.1 l.sub.2 l.sub.1 l.sub.2) (1 0 11) (l.sub.2 l.sub.1 l.sub.2 l.sub.1 l.sub.3) (1 1 0 0) (l.sub.3 l.sub.2 l.sub.1 l.sub.2 l.sub.1) (1 1 0 1) (l.sub.2 l.sub.1 l.sub.2 l.sub.3 l.sub.1) (1 1 1 0) (l.sub.3 l.sub.2 l.sub.2 l.sub.1 l.sub.1) (1 1 1 1) (l.sub.2 l.sub.1 l.sub.3 l.sub.2 l.sub.1)
(40) In one possible specific implementation of the coding scheme of Table 3, the voltage level l.sub.1 is 0 volts, the voltage level l.sub.2 is a specified non-zero voltage level, and the voltage level l.sub.3 is twice as high as the voltage level l.sub.2. In that case, the coding scheme of Table 3 can be represented as shown in Table 4, where “0” represents the zero voltage level l.sub.1, “1” represents the non-zero voltage level l.sub.2, and “2” represents the non-zero voltage level l.sub.3. Note that the average transmit power for the coding scheme of Table 4 is (0+0+1+1+4)/5 or 1.2 power units per bit. Those skilled in the art will understand that, in alternative implementations, values other than 0-2 can be used for the voltage levels l.sub.1-l.sub.3, as long as they satisfy the condition that l.sub.1<l.sub.2<l.sub.3.
(41) TABLE-US-00004 TABLE 4 SPECIFIC 4-BIT, 5-WIRE PAM3 CODING SCHEME (b.sub.4 b.sub.3 b.sub.2 b.sub.1) (w.sub.5 w.sub.4 w.sub.3 w.sub.2 w.sub.1) (0 0 0 0) (0 2 0 1 1) (0 0 0 1) (0 1 0 1 2) (0 0 1 0) (0 2 1 0 1) (0 0 1 1) (0 1 1 0 2) (0 1 0 0) (1 2 0 1 0) (0 1 0 1) (0 1 1 2 0) (0 1 1 0) (1 2 1 0 0) (0 1 1 1) (0 1 2 1 0) (1 0 0 0) (2 0 0 1 1) (1 0 0 1) (1 0 0 1 2) (1 0 1 0) (2 0 1 0 1) (1 0 1 1) (1 0 1 0 2) (1 1 0 0) (2 1 0 1 0) (1 1 0 1) (1 0 1 2 0) (1 1 1 0) (2 1 1 0 0) (1 1 1 1) (1 0 2 1 0)
(42) Note that, in the generalized coding scheme of Table 3, all sixteen different 4-bit values (b.sub.4 b.sub.3 b.sub.2 b.sub.1) are encoded using permutations of the same set of five voltage signals, where each permutation has exactly two voltage signals with voltage level l.sub.1, exactly two voltage signals with voltage level l.sub.2, and exactly one voltage signal with voltage level l.sub.3. Similarly, in the specific coding scheme of Table 4, all sixteen different 4-bit values (b.sub.4 b.sub.3 b.sub.2 b.sub.1) are encoded using permutations of the same set of five voltage signals, where each permutation has exactly two voltage signals with voltage level 0, exactly two voltage signals with voltage level 1, and exactly one voltage signal with voltage level 2.
(43)
(44)
(45)
(46) In order to decode the PAM3 voltage signals w.sub.1-w.sub.5 encoded using any specific implementation of the generalized coding scheme of Table 3, of which the coding scheme of Table 4 is one specific example, to recover the original 4-bit value (b.sub.4 b.sub.3 b.sub.2 b.sub.1), the decoder 134 of
b.sub.4=1(w.sub.5>w.sub.4) (5)
b.sub.3=1((w.sub.3+w.sub.2)/2>w.sub.1) (6)
b.sub.2=1(w.sub.3>w.sub.2) (7)
b.sub.1=1((w.sub.1+w.sub.2+w.sub.3)/3>(w.sub.4+w.sub.5)/2) (8)
(47)
(48)
(49)
(50)
(51) 4-Bit, 5-Wire PAM4 Coding Scheme
(52) Table 5 presents a generalized PAM coding scheme in which N=4 bits, M=5 wires, and the PAM coding scheme has Q=4 voltage levels l.sub.1-l.sub.4, where l.sub.1<l.sub.2<l.sub.3<l.sub.4. Note that, here, too, the differences between consecutive voltage levels do not need to be constant, and it can even be taken advantage of in order to improve the vertical eye opening at the receiver. Note that the differences between different pairs of consecutive voltage levels do not need to be equal. This degree of freedom can be taken advantage of in order to improve the vertical eye opening at the receiver. According to this 4-bit, 5-wire PAM4 coding scheme, each 4-bit value (b.sub.4 b.sub.3 b.sub.2 b.sub.1) is encoded into five analog voltage signals w.sub.1-w.sub.5 for transmission over the M=5 wires of the 5-wire parallel bus 120 of
(53) TABLE-US-00005 TABLE 5 GENERALIZED 4-BIT, 5-WIRE PAM4 CODING SCHEME (b.sub.4 b.sub.3 b.sub.2 b.sub.1) (w.sub.5 w.sub.4 w.sub.3 w.sub.2 w.sub.1) (0 0 0 0) (l.sub.1 l.sub.4 l.sub.1 l.sub.2 l.sub.3) (0 0 0 1) (l.sub.1 l.sub.2 l.sub.1 l.sub.3 l.sub.4) (0 0 1 0) (l.sub.1 l.sub.4 l.sub.2 l.sub.1 l.sub.3) (0 0 1 1) (l.sub.1 l.sub.2 l.sub.3 l.sub.1 l.sub.4) (0 1 0 0) (l.sub.2 l.sub.4 l.sub.1 l.sub.3 l.sub.1) (0 1 0 1) (l.sub.1 l.sub.2 l.sub.3 l.sub.4 l.sub.1) (0 1 1 0) (l.sub.2 l.sub.4 l.sub.3 l.sub.1 l.sub.1) (0 1 1 1) (l.sub.1 l.sub.2 l.sub.4 l.sub.3 l.sub.1) (1 0 0 0) (l.sub.4 l.sub.1 l.sub.1 l.sub.2 l.sub.3) (1 0 0 1) (l.sub.2 l.sub.1 l.sub.1 l.sub.3 l.sub.4) (1 0 1 0) (l.sub.4 l.sub.1 l.sub.2 l.sub.1 l.sub.3) (1 0 1 1) (l.sub.2 l.sub.1 l.sub.3 l.sub.1 l.sub.4) (1 1 0 0) (l.sub.4 l.sub.2 l.sub.1 l.sub.3 l.sub.1) (1 1 0 1) (l.sub.2 l.sub.1 l.sub.3 l.sub.4 l.sub.1) (1 1 1 0) (l.sub.4 l.sub.2 l.sub.3 l.sub.1 l.sub.1) (1 1 1 1) (l.sub.2 l.sub.1 l.sub.4 l.sub.3 l.sub.1)
(54) In one possible specific implementation of the coding scheme of Table 5, the voltage level l.sub.1 is 0 volts, the voltage level l.sub.2 is a specified non-zero voltage level, the voltage level l.sub.3 is twice as high as the voltage level l.sub.2, and the voltage level l.sub.4 is three times as high as the voltage level l.sub.2. In that case, the coding scheme of Table 5 can be represented as shown in Table 6, where “0” represents the zero voltage level l.sub.1, “1” represents the non-zero voltage level l.sub.2, “2” represents the non-zero voltage level l.sub.3, and “3” represents the non-zero voltage level l.sub.4. Note that the average transmit power for the coding scheme of Table 6 is (0+0+1+4+9)/5 or 2.8 power units per bit. Those skilled in the art will understand that, in alternative implementations, values other than 0-3 can be used for the voltage levels l.sub.1-l.sub.4, as long as they satisfy the condition that l.sub.1<l.sub.2<l.sub.3<l.sub.4.
(55) TABLE-US-00006 TABLE 6 SPECIFIC 4-BIT, 5-WIRE PAM4 CODING SCHEME (b.sub.4 b.sub.3 b.sub.2 b.sub.1) (w.sub.5 w.sub.4 w.sub.3 w.sub.2 w.sub.1) (0 0 0 0) (0 3 0 1 2) (0 0 0 1) (0 1 0 2 3) (0 0 1 0) (0 3 1 0 2) (0 0 1 1) (0 1 2 0 3) (0 1 0 0) (1 3 0 2 0) (0 1 0 1) (0 1 2 3 0) (0 1 1 0) (1 3 2 0 0) (0 1 1 1) (0 1 3 2 0) (1 0 0 0) (3 0 0 1 2) (1 0 0 1) (1 0 0 2 3) (1 0 1 0) (3 0 1 0 2) (1 0 1 1) (1 0 2 0 3) (1 1 0 0) (3 1 0 2 0) (1 1 0 1) (1 0 2 3 0) (1 1 1 0) (3 1 2 0 0) (1 1 1 1) (1 0 3 2 0)
(56) Note that, in the generalized coding scheme of Table 5, all sixteen different 4-bit values (b.sub.4 b.sub.3 b.sub.2 b.sub.1) are encoded using permutations of the same set of five voltage signals, where each permutation has exactly two voltage signals with voltage level l.sub.1, exactly one voltage signal with voltage level l.sub.2, exactly one voltage signal with voltage level l.sub.3, and exactly one voltage signal with voltage level l.sub.4. Similarly, in the specific coding scheme of Table 6, all sixteen different 4-bit values (b.sub.4 b.sub.3 b.sub.2 b.sub.1) are encoded using permutations of the same set of five voltage signals, where each permutation has exactly two voltage signals with voltage level 0, exactly one voltage signal with voltage level 1, exactly one voltage signal with voltage level 3, and exactly one voltage signal with voltage level 3.
(57)
(58)
(59)
(60) In order to decode the PAM3 voltage signals w.sub.1-w.sub.5 encoded using any specific implementation of the generalized coding scheme of Table 5, of which the coding scheme of Table 6 is one specific example, to recover the original 4-bit value (b.sub.4 b.sub.3 b.sub.2 b.sub.1), the decoder 134 of
(61) Comparison of N-Bit, M-Wire PAM-Q Coding Schemes
(62) The selection of a particular N-bit, M-wire PAM-Q coding scheme for a particular application typically involves a trade-off between the mutually exclusive goals of high speed, on the one hand, and large signal-to-noise ratio, low power consumption, small encoder/decoder IC footprints, and low chip I/O pin count, on the other hand. In general, coding schemes with more bits being processed in parallel (i.e., larger N values) can have higher throughput and/or larger signal-to-noise ratio than coding schemes with fewer parallel bits, but at the cost of higher power consumption, larger footprints, and higher pin count. Furthermore, coding schemes with a greater number of wires per bit (i.e., larger M/N values) can have larger signal-to-noise ratio and/or can be simpler than coding schemes with smaller M/N values due to reduced inter-symbol interference, but at the cost of lower area efficiency, larger footprints, and higher pin count. In addition, coding schemes with more voltage levels for a set maximum voltage (i.e., larger Q values) can have more combinations to design simpler receivers, but at the cost of higher power consumption. Similarly, coding schemes with greater separations between voltage levels can have larger signal-to-noise ratio and/or can be faster than coding schemes with smaller separations due to reduced ISI, but at the cost of higher power consumption. Whether a particular N-bit, M-wire PAM-Q coding scheme is appropriate for a particular application will depend on the relative priorities for high speed, large signal-to-noise ratio, low power consumption, small footprints, and low pin count for that application.
(63) The coding schemes described above may be compared and contrasted by their particular characteristics which may affect their suitability for particular applications. Although the sets vary for different coding schemes, each coding scheme described above is based on permutations of a single set of voltage signals. The coding scheme of Tables 1 and 2 is referred to as a 100% coding scheme because the number N of bits and the number M of wires are equal (i.e., N/M=4/4=>100%), while the coding schemes of Tables 3-6 are 80% coding schemes (i.e., N/M=4/5=>80%).
(64) In general, the N bits can be recovered from the M voltage signals generated using any N-bit, M-wire PAM-Q coding scheme using an instance of the following equation:
(65)
where:
(66) {circumflex over (b)}.sub.n is the n.sup.th recovered bit;
(67) w.sub.m is the relative amplitude of the voltage signal on the m.sup.th wire;
(68) α.sub.m.sup.(n,c), β.sub.m.sup.(n,c), and γ.sub.c.sup.(k) are weighting values;
(69)
are inner sums;
(70)
is a comparison;
(71)
(72) is 1 if the comparison relation is true, and is 0 otherwise; and
(73)
is an outer sum.
Thus, Equation (9) can be implemented by a decoder having an initial computation stage that performs the inner sums of Equation (9), followed by a comparison stage that performs the comparisons of Equation (9), followed by a second computation stage that performs the outer sums of Equation (9).
(74) Note that, in the coding schemes of Tables 1 and 2, each voltage level appears only one time in each code. On the other hand, in the coding schemes of Tables 3 and 4, two different voltage levels (i.e., l.sub.1 and l.sub.2 of Table 3) appear twice in each code, and, in the coding schemes of Tables 5 and 6, one of the voltage levels (i.e., l.sub.1 of Table 5) appears twice in each code.
(75) The decoder 134 for the coding schemes of Tables 1 and 2 shown in
(76) According to certain embodiments, an article of manufacture comprises an encoder for encoding data according to a coding scheme. The encoder comprises a first coding stage configured to convert N bits b.sub.1-b.sub.N of input data into P bits of intermediate data and a second coding stage configured to convert the P bits of intermediate data into M voltage signals w.sub.1-w.sub.M for transmission over M parallel wires to a decoder. The coding scheme is an N-bit, M-wire PAM-Q code in which (i) each N-bit input value is encoded as a set of M voltage signals w.sub.1-w.sub.M, (ii) each voltage signal w.sub.i has one of Q voltage levels l.sub.1-l.sub.Q, where l.sub.1<l.sub.2< . . . <l.sub.Q, and (iii) the different sets of M voltage signals w.sub.1-w.sub.M for the different N-bit input values are permutations of a single set of M voltage signals. For each N-bit input, the M voltage signals are decodable by the decoder having a comparator stage and no more than one other decoding stage, wherein, for the decoder having one other decoding stage, the other decoding stage is a computation stage or a logic stage that is before or after the comparator stage.
(77) According to certain embodiments, an article of manufacture comprises a decoder for decoding signals generated using a coding scheme. The decoder comprises one or two decoding stages including a first decoding stage. The first decoding stage is configured to receive M voltage signals w.sub.1-w.sub.M from M parallel wires. The decoder is configured to recover N bits b.sub.1-b.sub.N of data from the M voltage signals w.sub.1-w.sub.M. The coding scheme is an N-bit, M-wire PAM-Q code in which (i) each N-bit input value is encoded as a set of M voltage signals w.sub.1-w.sub.M, (ii) each voltage signal w.sub.i has one of Q voltage levels l.sub.1-l.sub.Q, where l.sub.1<l.sub.2< . . . <l.sub.Q, and (iii) the different sets of M voltage signals w.sub.1-w.sub.M for the different N-bit input values are permutations of a single set of M voltage signals. The M voltage signals w.sub.1-w.sub.M are decodable by the decoder having a comparator stage and no more than one other decoding stage, wherein, for the decoder having one other decoding stage, the other decoding stage is a computation stage or a logic stage that is before or after the comparator stage.
(78) According to certain embodiments of the some or all of above, N=M.
(79) According to certain embodiment of some or all of the above, N=M=4.
(80) According to certain embodiments of some or all of the above, N=M=Q.
(81) According to certain embodiments of some or all of the above, N=M=Q=4.
(82) According to certain embodiments of some or all of the above, the 4-bit, 4-wire PAM4 code is represented according to Table 1.
(83) According to certain embodiments of some or all of the above, the decoder comprises a comparator stage followed by a computation stage.
(84) According to certain embodiments of some or all of the above, the decoder decodes the 4 voltage signals w.sub.1-w.sub.4 according to:
b.sub.4=1(w.sub.4>w.sub.3);
b.sub.3=1(w.sub.3>w.sub.2);
b.sub.2=1(w.sub.3>w.sub.1); and
b.sub.1=1(w.sub.2>w.sub.1)+1(w.sub.4>w.sub.2)−1(w.sub.4>w.sub.1).
(85) According to certain embodiments of some or all of the above, the decoder comprises a comparator stage followed by a logic stage.
(86) According to certain embodiments of some or all of the above, the decoder decodes the 4 voltage signals w.sub.1-w.sub.4 according to:
b.sub.4=1(w.sub.4>w.sub.3);
b.sub.3=1(w.sub.3>w.sub.2);
b.sub.2=1(w.sub.3>w.sub.1); and
b.sub.1=1(w.sub.2>w.sub.1)XOR1(w.sub.4>w.sub.2)XOR1(w.sub.4>w.sub.1).
(87) According to certain embodiments of some or all of the above, N=M−1.
(88) According to certain embodiments of some or all of the above, N=4 and M=5.
(89) According to certain embodiments of some or all of the above, N=M−1=Q+1.
(90) According to certain embodiments of some or all of the above, N=4, M=5, and Q=3.
(91) According to certain embodiments of some or all of the above, the 4-bit, 5-wire PAM3 code is represented according to Table 3.
(92) According to certain embodiments of some or all of the above, the decoder comprises a computation stage followed by a comparator stage.
(93) According to certain embodiments of some or all of the above, the decoder decodes the 5 voltage signals w.sub.1-w.sub.5 according to:
b.sub.4=1(w.sub.5>w.sub.4);
b.sub.3=1((w.sub.3+w.sub.2)/2>w.sub.1);
b.sub.2=1(w.sub.3>w.sub.2); and
b.sub.1=1((w.sub.1+w.sub.2+w.sub.3)/3>(w.sub.4+w.sub.5)/2.
(94) According to certain embodiments of some or all of the above, N=M−1=Q.
(95) According to certain embodiments of some or all of the above, N=4, M=5, and Q=4.
(96) According to certain embodiments of some or all of the above, the 4-bit, 5-wire PAM4 code is represented according to Table 5.
(97) According to certain embodiments of some or all of the above, the decoder comprises a computation stage followed by a comparator stage.
(98) According to certain embodiments of some or all of the above, the decoder decodes the 5 voltage signals w.sub.1-w.sub.5 according to:
b.sub.4=1(w.sub.5>w.sub.4);
b.sub.3=1((w.sub.3+w.sub.2)/2>w.sub.1);
b.sub.2=1(w.sub.3>w.sub.2); and
b.sub.1=1((w.sub.1+w.sub.2+w.sub.3)/3>(w.sub.4+w.sub.5)/2.
(99) Although embodiments have been described in the context of the coding schemes of Tables 1-6, those skilled in the art will understand that other embodiments may be implemented in the context of other suitable coding schemes.
(100) Although embodiments have been described in the context of coding schemes that can be decoded using a decoder having a comparator stage and only one other decoding stage (e.g., a computation stage or a logic stage that is before or after the comparator stage), those skilled in the art will understand that other embodiments may be implemented in the context of other suitable coding schemes that can be decoded using a decoder having only a comparator stage.
(101) Although embodiments have been described in the context of chip-to-chip communication, those skilled in the art will understand that other embodiments may be implemented for other suitable types of communications between transmitters and receivers.
(102) Also for purposes of this description, the terms “couple,” “coupling,” “coupled,” “connect,” “connecting,” or “connected” refer to any manner known in the art or later developed in which energy is allowed to be transferred between two or more elements, and the interposition of one or more additional elements is contemplated, although not required. Conversely, the terms “directly coupled,” “directly connected,” etc., imply the absence of such additional elements.
(103) Unless explicitly stated otherwise, each numerical value and range should be interpreted as being approximate as if the word “about” or “approximately” preceded the value or range.
(104) It will be further understood that various changes in the details, materials, and arrangements of the parts which have been described and illustrated in order to explain embodiments of this disclosure may be made by those skilled in the art without departing from embodiments of the disclosure encompassed by the following claims.
(105) In this specification including any claims, the term “each” may be used to refer to one or more specified characteristics of a plurality of previously recited elements or steps. When used with the open-ended term “comprising,” the recitation of the term “each” does not exclude additional, unrecited elements or steps. Thus, it will be understood that an apparatus may have additional, unrecited elements and a method may have additional, unrecited steps, where the additional, unrecited elements or steps do not have the one or more specified characteristics.
(106) Reference herein to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment can be included in at least one embodiment of the disclosure. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments necessarily mutually exclusive of other embodiments. The same applies to the term “implementation.”
(107) The embodiments covered by the claims in this application are limited to embodiments that (1) are enabled by this specification and (2) correspond to statutory subject matter. Non-enabled embodiments and embodiments that correspond to non-statutory subject matter are explicitly disclaimed even if they fall within the scope of the claims.
(108) As used herein and in the claims, the term “provide” with respect to an apparatus or with respect to a system, device, or component encompasses designing or fabricating the apparatus, system, device, or component; causing the apparatus, system, device, or component to be designed or fabricated; and/or obtaining the apparatus, system, device, or component by purchase, lease, rental, or other contractual arrangement.
(109) Unless otherwise specified herein, the use of the ordinal adjectives “first,” “second,” “third,” etc., to refer to an object of a plurality of like objects merely indicates that different instances of such like objects are being referred to, and is not intended to imply that the like objects so referred-to have to be in a corresponding order or sequence, either temporally, spatially, in ranking, or in any other manner.