Circuits for efficient detection of vector signaling codes for chip-to-chip communication
10560293 ยท 2020-02-11
Assignee
Inventors
Cpc classification
H04L25/08
ELECTRICITY
H04L25/02
ELECTRICITY
H04L25/14
ELECTRICITY
H04L2025/03426
ELECTRICITY
International classification
H04L25/49
ELECTRICITY
H04L25/08
ELECTRICITY
H04L25/03
ELECTRICITY
H04L25/02
ELECTRICITY
Abstract
In a detection circuit, inputs correspond to received indications of vector signaling code words received by a first integrated circuit from a second integrated circuit. With four inputs, the circuit compares a first pair to obtain a first difference result and compares a second pair, disjoint from the first pair, to obtain a second difference result. The first and second difference results are then summed to form an output function. A system might use a plurality of such detection circuits to arrive at an input word. The circuit can include amplification, equalization, and input selection with efficient code word detection. The vector signaling code can be a Hadamard matrix code encoding for three input bits. The circuit might also have frequency-dependent gain, a selection function that directs one of the summation function result or the first difference result to the output function, variable gain, and/or a slicer.
Claims
1. A method comprising: obtaining a set of at least four input signals via respective wires of a multi-wire bus; generating a set of comparator outputs at a set of multi-input comparators (MICs) in a first mode of operation, each MIC of the set of MICs connected to all of the wires of the multi-wire bus according to a respective input permutation of a plurality of input permutations associated with a vector signaling code, each MIC of the set of MICs generating a respective comparator output by forming a computation of the plurality set of at least four input signals received via the multi-wire bus according to the respective input permutation; generating at least two differential outputs at the set of MICs in a second mode of operation, each differential output generated by comparing signal values of input signals obtained on a respective pair of wires of the multi-wire bus; and obtaining a selection signal to configured the set of MICs to operate in the first or second mode of operation, wherein the selection signal disables one of the MICs in the second mode of operation.
2. The method of claim 1, wherein configuring a corresponding MIC of the set of MICs to operate in the second mode of operation comprises disconnecting signals that are not in the respective pair of wires from the corresponding MIC.
3. The method of claim 1, further comprising attenuating the set of input signals in the second mode of operation.
4. The method of claim 1, wherein the set of MICs generate three comparator outputs in the first mode of operation and two differential outputs in the second mode of operation.
5. The method of claim 1, wherein the set of MICs generate the set of comparator outputs on a differential output node via a plurality of differential pairs of transistors, each transistor of the plurality of differential pairs of transistors receiving a respective input signal of the set of at least four input signals.
6. The method of claim 5, wherein each transistor in the plurality of differential pairs of transistors are biased in a linear amplification mode.
7. An apparatus comprising: a multi-wire bus configured to provide a set of at least four input signals, each input signal of the set of at least four input signals provided via a respective wire of the multi-wire bus; and a set of multi-input comparators (MICs), each MIC of the set of MICs connected to all of the wires of the multi-wire bus according to a respective input permutation of a plurality of input permutations associated with a vector signaling code, the set of MICs configured to receive a selection signal for configuring the set of MICs to operated in a first or a second mode of operation, the set of MICs configured to: generate a set of comparator outputs in the first mode of operation, each comparator output generated by a corresponding MIC forming a computation of the set of at least four input signals according to the associated input permutation; and generate at least two differential outputs in the second mode of operation, each differential output generated by comparing signal values of input signals obtained on a respective pair of wires of the multi-wire bus, the selection signal further configured to disable at least one MIC of the set of MICs in the second mode of operation.
8. The apparatus of claim 7, wherein the selection signal is configured to disconnect signals that are not in the respective pair of wires from the corresponding MIC in the second mode of operation.
9. The apparatus of claim 7, further comprising an attenuation circuit configured to attenuate the set of input signals in the second mode of operation.
10. The apparatus of claim 7, wherein the set of MICs is configured to generate a set of three comparator outputs in the first mode of operation and to generate two differential outputs in the second mode of operation.
11. The apparatus of claim 7, wherein each MIC of the set of MICs comprises a plurality of differential pairs of transistors connected to a differential output node, the plurality of differential pairs of transistors receiving the set of at least four input signals according to the associated input permutation.
12. The apparatus of claim 11, wherein each transistor in the plurality of differential pairs of transistors are biased in a linear amplification mode.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) Various embodiments in accordance with the present disclosure will be described with reference to the drawings. Same numbers are used throughout the disclosure and figures to reference like components and features.
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
DETAILED DESCRIPTION
(10) Conventional communications systems receivers operate on individual wires or communications channels (i.e., single-ended signaling) or on pairs of wires or communications channels (i.e., differential signaling). In either case, a received signal is detected by comparison of a received value against a reference; for single-ended signaling, the reference may be a known voltage level such as ground or a calculated or predetermined offset voltage, while a differential receiver detects the signal of one wire in the pair in comparison to the signal of the other wire in the pair.
(11) Such communications channels may be extended to groups of wires carrying signals that collectively represent an encoded value.
(12) Holden I describes an enhancement to the vector signaling code technique that makes use of the observation that the balance between complementary signals in a differential signaling channel need not be held exactly to zero. Thus, a vector signaling code may comprise the union of subcodes, each subcode being distinguishable by its unique nonzero code word sum.
(13) Vector signaling code receivers may perform a first operation similar to that of a conventional receiver, by making a first determination of the symbol represented by the particular received signal of each wire or communications channel. However, complete detection of the vector signaling code can require identification not merely of the individual symbols of that code, but of the particular code word represented by the set of symbols communicated as a group. A vector signaling code receiver is said to detect vector signaling code C if for each code word c, the receiver produces a valid and unique result Sc, which may directly correspond to receive result R, or may produce R via a mapping operation.
(14) Holden II describes the use of weighted multi-input comparators for detection of vector signaling codes. A weighted multi-input comparator with coefficients a0, a1, . . . , am1 is a circuit that accepts as its input a vector (x0, x1, . . . , xm1) and outputs the signals indicated in Equation 1, with the definition of the sign-function being sign(x)=+1 if x>0, sign(x)=1 if x<0, and sign(x) is undefined if x=0.
Output=sign(a0*x0+ . . . +am1*xm1)(Eqn. 1)
(15) A collection of such comparators each having distinct sets of input weights may serve as a detector for a vector signaling code.
(16) Efficient Computational Element
(17) In a detection circuit, inputs correspond to received indications of vector signaling code words received by a first integrated circuit from a second integrated circuit. In a preferred embodiment, the number of inputs is four and the detection circuit compares a first pair of the inputs to obtain a first difference result and compares a second pair of inputs, disjoint from the first pair of inputs, to obtain a second difference result. The first difference result and the second difference result are then summed to form an output function. A system might use a plurality of such detection circuits to arrive at an input word.
(18) In one embodiment, each input is from the set {1, , , }, the vector signaling code comprises the union of all permutations of the symbol set {1, , , } and all permutations of the symbol set {1, , , }, the system uses three of the detection circuits, and the eight possible vector signaling code words encode for three input bits.
(19) With the detection circuit performing differences ahead of performing summation, it becomes possible to provide for lowered distributed impedance and better high frequency response. In part, this is a result of capacitance appearing at lower impedance points rather than higher impedance points.
(20) In accordance with at least one embodiment of the invention, a code herein referred to as H4 is described. H4 is a balanced, non-sparse vector signaling code of four symbols, comprising the union of all permutations of the symbol set {1, , , } and all permutations of the symbol set {1, , , }.
(21) An efficient component of a detector for H4 code performs calculations of the form shown in Equation 2 where J, K, L, M are variables representing the symbol values of the four input signals values.
R=(J+L)(K+M)(Eqn. 2)
(22) It may be noted that applying three instances of Equation 2 with different permutations of receive signal input values to the four variables is sufficient to detect each code word of H4. As one example and without limitation, the input permutations producing the three results R0, R1, R2 based on Equations 3, 4 and 5 are sufficient to unambiguously identify each code word of vector signaling code H4 as represented by receive signal input values A, B, C, D.
R0=(A+C)(B+D)(Eqn. 3)
R1=(C+D)(A+B)(Eqn. 4)
R2=(C+B)(D+A)(Eqn. 5)
(23) Architecturally, it is convenient to perform such detection operations at or near the receiver input, and high speed capability requires an efficient, high performance embodiment.
(24)
R0=(AB)+(CD)(Eqn. 6)
R1=(CA)+(DB)(Eqn. 7)
R2=(CD)+(BA)(Eqn. 8)
(25)
(26) The four circuit inputs of
(27)
(28)
(29) It will be apparent to one skilled in the art that the functional equivalent of Equation 2, including specific examples such as illustrated by Equations. 6, 7, and 8, may be embodied by any of the circuits of
(30) In at least one embodiment of the invention as represented in each schematic of
(31) On-Chip Receive Signal Termination
(32) At contemplated signal rates, conventional best practice might be to provide matched transmission line termination for current mode logic (CML) receive input signals. Examples in accordance with at least one embodiment of the invention are shown in
(33) In
(34) In at least one embodiment, the same circuitry used for vector signaling code detection over example inputs a, b, c, d, also provides legacy mode support for, as an example, differential signal reception on the same inputs. Such selection of legacy mode may require support for greater signal level inputs (as those signals may be provided by different or earlier-generation components), and this extended-range input support may be obtained by attenuating large signal inputs before subsequent processing, as examples ah, bh, ch, dh at 335.
(35) To provide this attenuation function, the termination resistance 320 is shown comprising components 321 and 322; as one example, they represent identical resistive values summing to the required termination impedance while also providing an attenuated output within allowable on-chip signal levels. Thus, signals 330 labeled a, b, c, d represent the full input signal level, while signals 335 labeled ah, bh, ch, dh represent, continuing the example, the same values attenuated to half amplitude. Subsequent processing circuits may select either full input signals or attenuated signals using, as an example, an analog multiplexer. The values of 321 and 322 need not be identical, and in some embodiments may be adjustable or trimmable, as illustrated by 322 of
(36) Other embodiments in accordance with the invention utilize equivalent attenuator topologies known in the art, including so-called T and PI configurations, or eschew attenuation and combine elements 321 and 322 into a single resistive termination. One alternative embodiment of termination resistance 320 is shown in
(37) In
(38) Another embodiment is illustrated in
(39) Combined Multiplexer and Computation Element
(40) A described computational circuit as in any of
(41) This staged topology has been found to minimize loading effects, thus providing optimum performance for the given process technology. The results allow embodiment of legacy mode operation with either attenuated input signals or full level input signals, an internal signal test mode, and/or vector signaling code detection.
(42) Selectively enabling or disabling pairs of current sinks using the control signals Enab1 through Enab6 controls the multiplexer. As examples, inputs a and b may be selected instead of inputs ah and bh by enabling current sinks using Enab1 and disabling current sinks using Enab2, and then further selected by enabling current sinks using Enab5 and disabling current sinks using Enab6 to, as an example, support a legacy mode differential receiver behavior. Conversely, selection of the computed function based on inputs a, b, c, d may be selected by enabling current sinks using Enab3 and Enab4, and further selected by disabling current sinks using Enab5 and enabling current sinks using Enab6.
(43) One embodiment incorporates a test mode loopback of local transmit signals, which may be obtained by enabling pass transistors 470 using control signal Enab7. It will be apparent to a practitioner of the art that this multiplexer may also be used for other input selections, including alternative mappings of wire signals to computed function inputs and/or a different computed function.
(44) Inputs to an element 400 of
(45) An alternative embodiment of 400 is shown in
(46) Receive Input System for Vector Signaling Code
(47) The previously described circuits may be combined to produce a complete receive input system, as shown in the block diagram of
(48) Three instances of combined multiplexer and computation element 400 are used, each operating as previously described, e.g., for
(49) In one embodiment, the outputs of instance 530 are used only in non-legacy, non-loopback modes, thus the unused signal inputs of 530 are connected to a passive signal level such as ground. Although one familiar with the art would note that the instance of 530 could be simplified by removing unnecessary components associated with the unused functions, the amount of chip area wasted by not doing so is extremely small, while maintaining identical layouts for all instances provides consistent loading and delay characteristics throughout.
(50) Other Variations
(51) In at least one embodiment, all active transistor stages (e.g., of the circuit of
(52)
(53) For purposes of illustration, the previously-described components of the receive detection system are shown in
(54) Other embodiments in accordance with the invention may interface to voltage-mode or high-impedance unterminated signal inputs, and/or communicate internal signals as voltage rather than current levels. Such embodiments may incorporate the known practice of using transmission gates as multiplexing elements.
(55) The examples illustrate the use of vector signaling codes for point-to-point wire communications. However, this should not been seen in any way as limiting the scope of the described invention. The methods disclosed in this application are equally applicable to other communication media including optical and wireless communications. Thus, descriptive terms such as voltage or signal level should be considered to include equivalents in other measurement systems, such as optical intensity, RF modulation, etc. Similarly, specific examples provided herein are for purposes of description, and do not imply a limitation.
(56) As used herein, physical signal includes any suitable behavior and/or attribute of a physical phenomenon capable of conveying information. In accordance with at least one embodiment of the invention, physical signals may be tangible and non-transitory. In accordance with at least one embodiment of the invention, interpreting a set of signals as selecting an object (e.g., a data object) includes selecting the object based at least in part on the set of signals and/or one or more attributes of the set of signals. In accordance with at least one embodiment of the invention, interpreting a set of signals as representing an object (e.g., a data object) includes determining and/or selecting the object based at least in part on a representation corresponding to the set of signals. In accordance with at least one embodiment of the invention, a same set of signals may be used to select and/or determine multiple distinct objects (e.g., data objects).