US20240195453A1 - Serial Communication Link Driver Circuit With Switchable Shunt Circuit - Google Patents
Serial Communication Link Driver Circuit With Switchable Shunt Circuit Download PDFInfo
- Publication number
- US20240195453A1 US20240195453A1 US18/063,434 US202218063434A US2024195453A1 US 20240195453 A1 US20240195453 A1 US 20240195453A1 US 202218063434 A US202218063434 A US 202218063434A US 2024195453 A1 US2024195453 A1 US 2024195453A1
- Authority
- US
- United States
- Prior art keywords
- signal line
- bits
- voltage levels
- circuit
- subset
- 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.)
- Granted
Links
- 238000004891 communication Methods 0.000 title claims abstract description 55
- 230000004044 response Effects 0.000 claims abstract description 30
- 238000000034 method Methods 0.000 claims description 19
- 230000008878 coupling Effects 0.000 claims description 13
- 238000010168 coupling process Methods 0.000 claims description 13
- 238000005859 coupling reaction Methods 0.000 claims description 13
- 230000003213 activating effect Effects 0.000 claims description 2
- 230000015654 memory Effects 0.000 description 24
- 238000013461 design Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 16
- 238000003860 storage Methods 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 9
- 230000000295 complement effect Effects 0.000 description 9
- 238000004519 manufacturing process Methods 0.000 description 9
- 239000004065 semiconductor Substances 0.000 description 9
- 230000006870 function Effects 0.000 description 6
- 239000000463 material Substances 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 239000003990 capacitor Substances 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000005669 field effect Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 239000000758 substrate Substances 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 229910044991 metal oxide Inorganic materials 0.000 description 2
- 150000004706 metal oxides Chemical class 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B3/00—Line transmission systems
- H04B3/02—Details
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K17/00—Electronic switching or gating, i.e. not by contact-making and –breaking
- H03K17/51—Electronic switching or gating, i.e. not by contact-making and –breaking characterised by the components used
- H03K17/56—Electronic switching or gating, i.e. not by contact-making and –breaking characterised by the components used by the use, as active elements, of semiconductor devices
- H03K17/687—Electronic switching or gating, i.e. not by contact-making and –breaking characterised by the components used by the use, as active elements, of semiconductor devices the devices being field-effect transistors
- H03K17/6871—Electronic switching or gating, i.e. not by contact-making and –breaking characterised by the components used by the use, as active elements, of semiconductor devices the devices being field-effect transistors the output circuit comprising more than one controlled field-effect transistor
- H03K17/6874—Electronic switching or gating, i.e. not by contact-making and –breaking characterised by the components used by the use, as active elements, of semiconductor devices the devices being field-effect transistors the output circuit comprising more than one controlled field-effect transistor in a symmetrical configuration
Definitions
- This disclosure relates to the field of high-speed communication interface design and, in particular, to high-speed transmitter circuits.
- Computing systems typically include a number of interconnected integrated circuits.
- the integrated circuits may communicate using communication channels or links to transmit and receive data bits.
- the communication channels may support parallel communication, in which multiple data bits are transmitted in parallel, or serial communication, in which data bits are transmitted one bit at a time in a serial fashion.
- the data transmitted between integrated circuits may be encoded to aid in transmission.
- data may be encoded to provide sufficient transitions between logic states to allow for clock and data recovery circuits to operate.
- the data may be encoded to reduce switching noise or to improve signal integrity.
- the physical characteristics of the communication channel may attenuate a transmitted signal associated with a particular data bit. For example, the impedance of wiring included in the communication channel or link may attenuate certain frequency ranges of the transmitted signal. Additionally, impedance mismatches between wiring included in the communication channel and devices coupled to the communication channel may induce reflections of the transmitted signal, which may degrade subsequently transmitted signals corresponding to other data bits.
- FIG. 1 is a block diagram of an embodiment of a driver circuit for a communication bus in a computer system.
- FIG. 2 is a block diagram of an embodiment of a switch circuit for a driver circuit.
- FIG. 3 is a block diagram of another embodiment of a switch circuit for a driver circuit.
- FIG. 4 is a block diagram of an embodiment of a shunt circuit for a driver circuit.
- FIG. 5 is a block diagram of an embodiment of a computer system with a communication bus.
- FIG. 6 is a chart depicting different signal voltage levels for different values of input bits.
- FIG. 7 is a flow diagram of an embodiment of a method for operating a driver circuit.
- FIG. 8 is a block diagram of one embodiment of a system-on-a-chip that includes a driver circuit.
- FIG. 9 is a block diagram of various embodiments of computer systems that may include driver circuits.
- FIG. 10 illustrates an example of a non-transitory computer-readable storage medium that stores circuit design information.
- a computing system may include one or more integrated circuits, such as, e.g., a central processing unit (CPU) and memories.
- Various integrated circuits of the computing system may communicate through either a serial or parallel interface.
- a parallel interface multiple data bits are communicated simultaneously, while in a serial interface, data is communicated as a series of sequential single data bits.
- the data may be transmitted according to different protocols. For example, the data may be transmitted using a return to zero (RZ) protocol, non-return to zero (NRZ) protocol, pulse amplitude modulation (PAM), or any suitable combination thereof.
- RZ return to zero
- NRZ non-return to zero
- PAM pulse amplitude modulation
- different data symbols are differentially encoded using respective voltage levels of a pair of signal lines included in a communication bus. For example, a difference in the respective voltage levels of the signal lines corresponding to half of the power supply voltage may correspond to one data symbol, while a difference in the respective voltage levels of the signal lines corresponding to one-sixth of the power supply voltage may correspond to another data symbol.
- a given data symbol can encode two bits of data.
- a driver circuit To generate the various voltage differences on the signal wires of a serial communication bus, a driver circuit generates various voltage levels on each signal wire based on values of the bits that are to be transmitted. Such driver circuits typically includes multiple switches that selectively couple the signal lines to either a power supply node or a ground supply node via resistors. In conjunction with a load circuit coupled to the serial communication bus, the current moving through the resistors generates the desired voltages on the signal lines of the communication bus.
- the signal lines are coupled, via corresponding resistors, to the power supply node or the ground supply node in response to changes in the bit values to be transmitted, current is drawn from the power supply node to charge the capacitance associated with the signal lines.
- considerable current can be drawn from the power supply node (e.g., ⁇ 10.4 mA for a PAM4 driver).
- Such current consumption and associated power dissipation can result in larger component sizes for voltage regulator or power converter circuits supplying the driver circuit.
- the driver circuit power dissipation can result in a reduction in battery life.
- the embodiments illustrated in the drawings and described below provide techniques for reducing power consumption of a communication bus driver circuit that employs a shunt circuit that can couple two or more of the signal lines together for certain combinations of bit values that are to be transmitted. By coupling the signal lines together, previous voltage levels of the signal lines are used to generate new voltage levels on the signals lines, which allows for less current to be drawn from the power supply node, thereby reducing power consumption of the driver circuit.
- driver circuit 100 includes switch circuits 101 - 104 and shunt circuit 105 .
- Switch circuits 101 and 102 are configured to generate, based on bits 109 , voltage levels 110 on signal line 108 of communication bus 106 .
- switch circuits 103 and 104 are configured to generate, based on bits 109 , voltage levels 111 on signal line 107 of communication bus 106 .
- communication bus 106 may be implemented using a serial communication protocol such as PAM4, PAM6, and the like. Although only two signal lines are depicted as being included in communication bus 109 , in other embodiments, any suitable number of signal lines, including ground shield lines, may be employed.
- switch circuits 101 - 104 can use a subset of bits 109 to generate voltage levels 110 and 111 .
- switch circuit 101 may be configured to generate a particular one of voltage levels 110 on signal line 108 based on a value of a complement of a most-significant-bit (MSB) of bits 109 .
- MSB most-significant-bit
- switch circuits 101 - 104 may use true or complement values of the MSB of bits 109 , a least-significant-bit (LSB) of bits 109 , or any suitable combination thereof including any intervening bits of bits 109 .
- a voltage difference (also referred to as a “differential voltage”) between signal line 107 and signal line 108 encode a data symbol that corresponds to a given set of values of bits 109 .
- bits 109 can include any suitable number of bits, and a number of voltages levels includes in voltage levels 110 and voltage levels 111 can be based on the number of bits included in bits 109 .
- bits 109 includes two bits and each of voltage levels 110 and 111 include 4 voltage levels. In cases where more than two bits are included in bits 109 , additional voltage levels can be included in voltage levels 110 and 111 .
- Shunt circuit 105 is configured to couple signal line 107 to signal line 108 in response to a determination that a subset of bits 109 matches a particular pattern.
- driver circuit 100 can generate one of the voltage levels necessary to encode a data symbol while drawing less power from a power supply node coupled to driver circuit 100 , thereby reducing overall power consumption and extending the life of a battery in mobile computer applications.
- the output impedances of switch circuits 101 - 104 and shunt circuit 105 are selected to match the characteristic impedance of signals lines 107 and 108 .
- the characteristic impedance of a signal line refers to a ratio of the amplitudes of voltage and current of a single wave propagating along the signal line.
- switch circuits 101 - 104 and shunt circuit 105 can employ impedance elements whose values are selected so that the characteristic impedance of signals lines 107 and 108 are matched independent of the value of bits 109 .
- power transfer to signal lines 107 and 108 may, in various embodiments, be improved and signal distortion limited.
- the particular pattern can include particular values of a subset of bits 109 .
- shunt circuit 105 may be configured to couple signal line 107 to signal line 108 in response to a determination that a value of a least-significant-bit (LSB) of bits 109 is a logical-1. It is noted that in other embodiments, additional bits may be included in the pattern that activates shunt circuit 105 .
- LSB least-significant-bit
- a signal when activated, it is set to a logic or voltage level that activates a load circuit or device.
- the logic level may be either a high logic level or a low logic level depending on the load circuit.
- an active state of a signal coupled to a p-channel MOSFET is a low logic level (referred to as an “active low signal” or “logical-0”)
- an active state of a signal coupled to an n-channel MOSFET is a high logic level (referred to as an “active high signal” or “logical-1”).
- switch circuit 200 which may correspond to either of switch circuits 102 or 103 as depicted in FIG. 1 , includes transistors 201 - 204 , and impedance element 211 .
- Transistor 201 is coupled between power supply node 206 and transistor 202 , and is controlled by bit signal 208 .
- Transistor 202 is coupled between device 201 and node 212 , and is controlled by bit signal 209 .
- Transistor 203 is coupled between node 212 and transistor 204 , and is controlled by bit signal 209 .
- Transistor 204 is coupled between device 203 and ground supply node 207 , and is controlled by bit signal 210 .
- Impedance element 211 is coupled between node 212 and signal line 205 .
- signal line 205 may correspond to either of signal line 107 or signal line 108 as depicted in FIG. 1 .
- impedance element 211 may include any suitable combination of resistors, inductors, and capacitors, whose value are selected to match a characteristic impedance of signal line 205 .
- one or more of the circuit elements included in impedance element 211 may be programmable or trimmable post-manufacture to allow for different characteristic impedances of signal line 205 in different applications.
- bit signals 208 - 210 may correspond to different ones of bits 109 or complement values of bits 109 .
- bit signal 208 may correspond to a complement value of a least-significant-bit (LSB) of bits 109
- bit signal 209 may correspond to a complement value of a most-significant-bit (MSB) of bits 109
- bit signal 210 may correspond to a true value of the LSB of bits 109 .
- bit signal 208 may correspond to a true value of the LSB of bits 109
- bit signal 209 may correspond to a true value of the MSB of bits 109
- bit signal 210 may correspond to the complement value of the LSB of bits 109 .
- transistors 201 - 204 may be activated, while other ones of transistors 201 - 204 may be deactivated.
- signal line 205 is coupled to power supply node 206 .
- signal line 205 is coupled to ground supply node 207 .
- the respective values of bit signals 208 - 210 are such that all of transistors 201 - 204 are deactivated.
- switch circuit 200 appears as a high impedance on signal line 205 .
- the input or output of the circuit can have an impedance in which no current, other than transistor leakage current, can flow into or out of the circuit.
- transistors 201 and 202 may be implemented as p-channel metal-oxide semiconductor field-effect transistors (MOSFETs), Fin field-effect transistors (FinFETs), gate-all-around field-effect transistors (GAAFETs), or any other suitable transconductance devices.
- transistors 203 and 204 may be implemented as n-channel MOSFETs, FinFETs, GAAFETs, or any other suitable transconductance devices. It is noted that although transistors 201 - 204 are depicted as single transistors, in other embodiments, any of transistors 201 - 204 may be implemented using multiple transistors coupled together in parallel.
- switch circuit 300 includes inverter circuit 301 and impedance element 302 .
- switch circuit 300 may correspond to either of switch circuits 101 or 104 as depicted in FIG. 1 .
- Inverter circuit 301 is coupled to power supply node 206 , ground supply node 207 and node 305 .
- Impedance element 302 is coupled between node 305 and signal line 303 .
- signal line 303 may correspond to either of signal lines 107 or 108 as depicted in FIG. 1 .
- Inverter circuit 301 is configured to couple node 305 to either power supply node 206 or ground supply node 207 based on bit signal 304 .
- bit signal 304 may correspond to either a true value of a MSB of bits 109 or a complement value of the MSB of bits 109 .
- a current flows from power supply node 206 into signal line 303 , generating a voltage drop across impedance element 302 , resulting in a voltage level on signal line 303 .
- the voltage level on signal line 303 may be used in conjunction with a voltage level on another signal line to encode a data symbol value that corresponds to a respective set of values for bits 109 .
- a current flows from signal line 303 , through impedance element 302 , into ground supply node 207 .
- impedance element 302 As the current flows through impedance element 302 , a voltage drop across impedance element 302 results in a voltage level on signal line 303 .
- the voltage level on signal line 303 may be used in conjunction with a voltage level on another signal line to encode a data symbol value that corresponds to a respective set of values for bits 109 .
- inverter circuit 301 may be implemented as a complementary metal-oxide semiconductor (CMOS) inverter, or any other suitable inverting amplifier circuit including those implemented with technologies other than CMOS.
- CMOS complementary metal-oxide semiconductor
- Impedance element 302 may, in various embodiments, include any suitable combination of resistors, inductors, and capacitors, whose value are selected to match a characteristic impedance of signal line 303 .
- one or more of the circuit elements included in impedance element 302 may be programmable or trimmable post-manufacture to allow for different characteristic impedances of signal line 303 in different applications.
- shunt circuit 105 includes pass gate circuit 408 (also referred to as a “transmission gate circuit”), which includes transistors 403 and 404 , pass gate circuit 409 , which includes transistors 401 and 402 , and impedance elements 410 and 411 .
- pass gate circuit 408 also referred to as a “transmission gate circuit”
- pass gate circuit 409 which includes transistors 401 and 402
- impedance elements 410 and 411 impedance elements
- Pass gate circuit 409 is coupled between node 412 and node 405 .
- pass gate circuit 408 is coupled between node 405 and node 413 .
- pass gate circuits 408 and 409 may activate, coupling signal line 108 to signal line 107 via impedance elements 410 and 411 .
- bit signals 406 and 407 may correspond to a true and a complement value of an LSB of bits 109 . It is noted that although two pass gate circuits are depicted in the embodiment of FIG. 4 , in other embodiments, any suitable number of pass gate circuits may be employed.
- respective voltage drops across pass gate circuits 408 and 409 , and impedance elements 410 and 411 generate respective voltage levels on signal lines 107 and 108 .
- the respective voltage drops across pass gate circuits 408 and 409 may be determined by electrical characteristics (e.g., on resistance) of transistors 403 and 404 , and transistors 401 and 402 , respectively.
- the electrical characteristics of transistors 401 - 404 may be adjusted by changing physical characteristics of the transistors such as transistor width, channel length, etc., or any suitable combination thereof.
- the physical characteristics may, in various embodiments, be selected based on desired voltage levels for signal lines 107 and 108 in order to conform to a particular communication protocol such as PAM4.
- pass gate circuits 408 and 409 can be implemented as CMOS pass gates. In other embodiments, pass gate circuits 408 and 409 may be implemented using any suitable switching circuit including those implemented with technologies other than CMOS.
- Transistors 401 and 403 may, in various embodiments, be implemented as n-channel MOSFETs, FinFETs, GAAFETs, or any other suitable transconductance devices.
- Transistors 402 and 404 may, in various embodiments, be implemented as p-channel MOSFETs, FinFETs, GAAFETs, or any other suitable transconductance devices. It is noted that although transistors 401 - 404 are depicted as single transistors, in other embodiments, transistors 401 - 404 may be implemented using multiple transistors coupled together in parallel.
- Impedance elements 410 and 411 may, in various embodiments, include any suitable combination of resistors, inductors, and capacitors, whose value are selected to match a characteristic impedance of signal lines 107 and 108 .
- one or more of the circuit elements included in impedance elements 410 and 411 may be programmable or trimmable post-manufacture to allow for matching different characteristic impedances of signal lines 107 and 108 in different applications. It is noted that although two impedance elements is depicted in the embodiment of FIG. 4 , in other embodiments, a single impedance element may be employed.
- driver circuit 100 may be employed in a computer system.
- a block diagram of an embodiment of such a computer system is depicted in FIG. 5 .
- computer system 500 includes devices 501 and 502 , coupled by communication bus 507 .
- Device 501 includes circuit block 503 and transmitter circuit 504 .
- device 501 may be a processor circuit, a processor core, a memory circuit, or any other suitable circuit block that may be included on an integrated circuit in a computer system. It is noted that although device 501 only depicts a single circuit block and a single transmitter circuit, in other embodiments, additional circuit blocks and additional transmitter circuits may be employed.
- Transmitter circuit 504 which includes driver circuit 100 , is configured to serially transmit signals, via communication bus 507 , corresponding to data received from circuit block 503 .
- Such signals may differentially encode one or more bits such that a difference between the respective voltage levels of transmission conduits 508 A and 508 B, at a particular point in time, correspond to a particular bit value.
- voltage levels may be generated by driver circuit 100 as described above.
- the generation of the signals may include encoding the bits prior to transmission.
- communication bus 507 is depicted as including two transmission conduits, in other embodiments, any suitable number of transmission conduits may be employed.
- transmission conduits 508 A and 508 B may be implemented as optical cables, wires, metallic traces on a circuit board or other substrate, or any other suitable material that can conduct signals between device 501 and device 502 .
- Device 502 includes receiver circuit 505 and circuit block 506 .
- device 502 may be a processor circuit, a processor core, a memory circuit, or any other suitable circuit block configured to receive data from transmitter circuit 504 .
- circuit block 506 may include any suitable combination of processor circuits, memory circuits, and the like.
- Devices 501 and 502 may, in some embodiments, be fabricated on a common integrated circuit. In other embodiments, devices 501 and 502 may be located on different integrated circuits mounted on a common substrate or circuit board. In such cases, communication bus 507 may include metal or other conductive traces on the substrate or circuit board, fiber optic cables, and the like. Although only two devices are depicted in computer system 500 , in other embodiments, any suitable number of devices may be employed.
- FIG. 6 a chart depicting different signal voltage levels for different values of input bits is depicted. As illustrated, the values depicted in the chart of FIG. 6 may correspond to a PAM4 communication protocol or any other suitable communication protocol that employs four differential voltage levels across the signal lines of a communication bus.
- Each of the four differential voltage levels correspond to a particular combination of LSB and MSB of a set of bits, such as bits 109 as depicted in FIG. 1 .
- Level 0 corresponds to a case when the values of the LSB and the MSB are both logical-0. This results in switch circuits 101 - 104 and shunt circuit 105 generating a voltage level across signal line 108 and signal line 107 of ⁇ V DD /2, where V DD is the voltage level of power supply node 206 .
- V DD is the voltage level of power supply node 206 .
- these voltage levels described in FIG. 6 are merely examples and, in other embodiments, different voltage levels may be employed. For example, if equalization is applied, one or more of the voltage levels depicted in FIG. 6 may be different.
- Level 1 corresponds to a case when the value of the MSB is a logical-0 and the value of the LSB is logical-1. This results in switch circuits 101 - 104 and shunt circuit 105 generating a voltage level across signal line 108 and signal line 107 of ⁇ V DD /6.
- Level 2 corresponds to a case when the value of the MSB is a logical-1 and the value of the LSB is logical-1. This results in switch circuits 101 - 104 and shunt circuit 105 generating a voltage level across signal line 108 and signal line 107 of V DD /6.
- Level 3 corresponds to a case when the value of the value of the MSB is a logical-1 and the value of the LSB is a logical-0. This results in switch circuits 101 - 104 and shunt circuit 105 generating a voltage level across signal line 108 and signal line 107 of V DD /2.
- voltage levels and bit combinations depicted in the chart of FIG. 6 are an example. In other embodiments, different voltage levels and different corresponding values of the MSB and LSB are possible and contemplated. Moreover, if equalization is applied, where the voltage levels of the transmission conduits are set to a same value for a given data state, other data states may correspond to different voltage levels than those illustrated in FIG. 6 . It is further noted that additional voltage levels corresponding to different data state of bits may be employed for other communication protocols such as PAM6, PAM8, and the like.
- a first plurality of driver circuits are configured to generate, on a first signal line included in a communication bus and based on a plurality of bits, a first subset of a plurality of voltage levels.
- a second plurality of driver circuits is configured to generate on a second signal line included in the communication bus and based on the plurality of bits, a second subset of the plurality of voltage levels, wherein a data symbol based on respective values of the plurality of bits is encoded using respective voltage levels of the first signal line and the second signal line.
- a shunt circuit is configured to couple the first signal line to the second signal line in response to a determination that a subset of the plurality of bits matches a particular pattern.
- FIG. 7 a flow diagram depicting an embodiment of a method for operating a driver circuit is illustrated.
- the method which may be applied to various driver circuits including driver circuit 100 , begins in block 701 .
- the method includes receiving a plurality of bits by a driver circuit coupled to a communication bus that includes a plurality of signal lines (block 702 ).
- the method further includes generating, by the driver circuit using the plurality of bits, a first subset of a plurality of voltage levels on a first signal line of the plurality of signal lines (block 703 ).
- generating the first subset of the plurality of voltage levels on the first signal line includes coupling the first signal line to a power supply node via a first resistor in response to determining a most-significant-bit of the plurality of bits is a logical-1.
- generating the first subset of the plurality of voltage levels on the first signal line includes coupling, by a plurality of devices, the first signal line to a ground signal line in response to determining a first value of a most-significant-bit of the plurality of bits is a logical-1 and a second value of a least-significant-bit of the plurality of bits is a logical-1.
- the method also includes generating, by the driver circuit using the plurality of bits, a second subset of the plurality of voltage levels on a second signal line of the plurality of signal lines (block 704 ).
- generating the second subset of the plurality of voltage levels on the second signal line includes coupling the second signal line to a ground supply node via a second resistor in response to determining a most-significant-bit of the plurality of bits is a logical-1.
- the method further includes coupling, by the driver circuit, the first signal line to the second signal line in response to determining that a subset of the plurality of bits matches a particular pattern (block 705 ).
- coupling the first signal line to the second signal line includes activating at least one pass gate circuit included in the driver circuit, wherein the at least one pass gate circuit is coupled between the first signal line and the second signal line.
- the at least one pass gate circuit includes one or more devices, and a physical characteristic of the one or more devices is based on the plurality of voltage levels. In various embodiments, a value of a least-significant-bit of the plurality of bits corresponding to the particular pattern is a logical-1. The method concludes in block 706 .
- SoC 800 includes processor circuit 801 , memory circuit 802 , and analog/mixed-signal circuits 803 , which includes input/output circuits 804 . each of which is coupled to communication bus 805 .
- Processor circuit 801 , memory circuit 802 , and analog/mixed-signal circuits 803 are coupled to communication bus 805 .
- SoC 800 may be configured for use in a desktop computer, server, or in a mobile computing application such as, e.g., a tablet, laptop computer, or wearable computing device.
- Processor circuit 801 may, in various embodiments, be representative of a general-purpose processor that performs computational operations.
- processor circuit 801 may be a central processing unit (CPU) such as a microprocessor, a microcontroller, an application-specific integrated circuit (ASIC), or a field-programmable gate array (FPGA).
- processor circuit 801 may include an instance of driver circuit 100 that is used to generate various voltage levels on communication bus 805 to transmit data, commands, and the like, on communication bus 805 .
- Memory circuit 802 may, in various embodiments, include any suitable type of memory such as a Dynamic Random-Access Memory (DRAM), a Static Random-Access Memory (SRAM), a Read-Only Memory (ROM), an Electrically Erasable Programmable Read-only Memory (EEPROM), or a non-volatile memory, for example. It is noted that although a single memory circuit is illustrated in FIG. 8 , in other embodiments, any suitable number of memory circuits may be employed. In various embodiments, memory circuit 802 may include an instance of driver circuit 100 that is used to generate various voltage levels on communication bus 805 to transmit data, commands, and the like, on communication bus 805 .
- DRAM Dynamic Random-Access Memory
- SRAM Static Random-Access Memory
- ROM Read-Only Memory
- EEPROM Electrically Erasable Programmable Read-only Memory
- non-volatile memory for example. It is noted that although a single memory circuit is illustrated in FIG. 8 , in other embodiments, any suitable number of memory circuits may be employed
- analog/mixed-signal circuits 803 includes input/output circuit 804 .
- analog/mixed-signal circuits 803 may also include a crystal oscillator circuit, a phase-locked loop (PLL) circuit, an analog-to-digital converter (ADC) circuit, and a digital-to-analog converter (DAC) circuit (all not shown).
- PLL phase-locked loop
- ADC analog-to-digital converter
- DAC digital-to-analog converter
- analog/mixed-signal circuits 803 may be configured to perform power management tasks with the inclusion of on-chip power supplies and voltage regulators.
- analog/mixed-signal circuits 803 may include an instance of driver circuit 100 that is used to generate various voltage levels on communication bus 805 to transmit data, commands, and the like, on communication bus 805 .
- Input/output circuits 804 may be configured to coordinate data transfer between SoC 800 and one or more peripheral devices.
- peripheral devices may include, without limitation, storage devices (e.g., magnetic or optical media-based storage devices including hard drives, tape drives, CD drives, DVD drives, etc.), audio processing subsystems, or any other suitable type of peripheral devices.
- input/output circuits 804 may be configured to implement a version of Universal Serial Bus (USB) protocol or IEEE 1394 (Firewire®) protocol.
- Input/output circuits 804 can include driver circuit 100 and may also be configured to coordinate data transfer between SoC 800 and one or more devices (e.g., other computing systems or integrated circuits) coupled to SoC 800 via a network.
- input/output circuits 804 may be configured to perform the data processing necessary to implement an Ethernet (IEEE 802.3) networking standard such as Gigabit Ethernet or 10-Gigabit Ethernet, for example, although it is contemplated that any suitable networking standard may be implemented.
- Ethernet IEEE 802.3
- input/output circuits 804 may be configured to implement multiple discrete network interface ports.
- System or device 900 which may incorporate or otherwise utilize one or more of the techniques described herein, may be utilized in a wide range of areas.
- system or device 900 may be utilized as part of the hardware of systems such as a desktop computer 910 , laptop computer 920 , tablet computer 930 , cellular or mobile phone 940 , or television 950 (or set-top box coupled to a television).
- a wearable device 960 such as a smartwatch or a health-monitoring device.
- Smartwatches may implement a variety of different functions—for example, access to email, cellular service, calendar, health monitoring, etc.
- a wearable device may also be designed solely to perform health-monitoring functions, such as monitoring a user's vital signs, performing epidemiological functions such as contact tracing, providing communication to an emergency medical service, etc.
- Other types of devices are also contemplated, including devices worn on the neck, devices implantable in the human body, glasses or a helmet designed to provide computer-generated reality experiences such as those based on augmented and/or virtual reality, etc.
- System or device 900 may also be used in various other contexts.
- system or device 900 may be utilized in the context of a server computer system, such as a dedicated server or on shared hardware that implements a cloud-based service 970 .
- system or device 900 may be implemented in a wide range of specialized everyday devices, including devices 980 commonly found in the home such as refrigerators, thermostats, security cameras, etc. The interconnection of such devices is often referred to as the “Internet of Things” (IoT).
- IoT Internet of Things
- Elements may also be implemented in various modes of transportation.
- system or device 900 could be employed in the control systems, guidance systems, entertainment systems, etc. of various types of vehicles 990 .
- the applications illustrated in FIG. 9 are merely exemplary and are not intended to limit the potential future applications of disclosed systems or devices.
- Other example applications include, without limitation: portable gaming devices, music players, data storage devices, unmanned aerial vehicles, etc.
- FIG. 10 is a block diagram illustrating an example of a non-transitory computer-readable storage medium that stores circuit design information, according to some embodiments.
- semiconductor fabrication system 1020 is configured to process design information 1015 stored on non-transitory computer-readable storage medium 1010 and fabricate integrated circuit 1030 based on design information 1015 .
- Non-transitory computer-readable storage medium 1010 may comprise any of various appropriate types of memory devices or storage devices.
- Non-transitory computer-readable storage medium 1010 may be an installation medium, e.g., a CD-ROM, floppy disks, or tape device; a computer system memory or random-access memory such as DRAM, DDR RAM, SRAM, EDO RAM, Rambus RAM, etc.; a non-volatile memory such as Flash, magnetic media, e.g., a hard drive, or optical storage; registers, or other similar types of memory elements, etc.
- Non-transitory computer-readable storage medium 1010 may include other types of non-transitory memory as well or combinations thereof.
- Non-transitory computer-readable storage medium 1010 may include two or more memory mediums, which may reside in different locations, e.g., in different computer systems that are connected over a network.
- Design information 1015 may be specified using any of various appropriate computer languages, including hardware description languages such as, without limitation: VHDL, Verilog. SystemC, System Verilog, RHDL, M, MyHDL, etc. Design information 1015 may be usable by semiconductor fabrication system 1020 to fabricate at least a portion of integrated circuit 1030 .
- the format of design information 1015 may be recognized by at least one semiconductor fabrication system, such as semiconductor fabrication system 1020 , for example.
- design information 1015 may include a netlist that specifies elements of a cell library, as well as their connectivity.
- One or more cell libraries used during logic synthesis of circuits included in integrated circuit 1030 may also be included in design information 1015 .
- Such cell libraries may include information indicative of device or transistor-level netlists, mask design data, characterization data, and the like, of cells included in the cell library.
- Integrated circuit 1030 may, in various embodiments, include one or more custom macrocells, such as memories, analog or mixed-signal circuits, and the like.
- design information 1015 may include information related to included macrocells. Such information may include, without limitation, schematics capture database, mask design data, behavioral models, and device or transistor-level netlists.
- mask design data may be formatted according to graphic data system (GDSII), or any other suitable format.
- Semiconductor fabrication system 1020 may include any of various appropriate elements configured to fabricate integrated circuits. This may include, for example, elements for depositing semiconductor materials (e.g., on a wafer, which may include masking), removing materials, altering the shape of deposited materials, modifying materials (e.g., by doping materials or modifying dielectric constants using ultraviolet processing), etc. Semiconductor fabrication system 1020 may also be configured to perform various testing of fabricated circuits for correct operation.
- integrated circuit 1030 is configured to operate according to a circuit design specified by design information 1015 , which may include performing any of the functionality described herein.
- integrated circuit 1030 may include any of various elements shown or described herein.
- integrated circuit 1030 may be configured to perform various functions described herein in conjunction with other components. Further, the functionality described herein may be performed by multiple connected integrated circuits.
- design information that specifies a design of a circuit configured to . . . ” does not imply that the circuit in question must be fabricated in order for the element to be met. Rather, this phrase indicates that the design information describes a circuit that, upon being fabricated, will be configured to perform the indicated actions or will include the specified components.
- a recitation of “w, x, y, or z, or any combination thereof” or “at least one of . . . W, x, y, and z” is intended to cover all possibilities involving a single element up to the total number of elements in the set. For example, given the set [w, x, y, z], these phrasings cover any single element of the set (e.g., w but not x, y, or z), any two elements (e.g., w and x, but not y or z), any three elements (e.g., w, x, and y, but not z), and all four elements.
- w, x, y, and z thus refers to at least one element of the set [w, x, y, z], thereby covering all possible combinations in this list of options.
- This phrase is not to be interpreted to require that there is at least one instance of w, at least one instance of x, at least one instance of y, and at least one instance of z.
- labels may proceed nouns in this disclosure.
- different labels used for a feature e.g., “first circuit,” “second circuit,” “particular circuit,” “given circuit,” etc.
- the labels “first,” “second,” and “third,” when applied to a particular feature, do not imply any type of ordering (e.g., spatial, temporal, logical, etc.), unless stated otherwise.
- the phrase “based on” is used to describe one or more factors that affect a determination. This term does not foreclose the possibility that additional factors may affect the determination. That is, a determination may be solely based on specified factors or based on the specified factors as well as other, unspecified factors.
- a determination may be solely based on specified factors or based on the specified factors as well as other, unspecified factors.
- the phrase “in response to” describes one or more factors that trigger an effect. This phrase does not foreclose the possibility that additional factors may affect or otherwise trigger the effect. That is, an effect may be solely in response to those factors, or may be in response to the specified factors as well as other, unspecified factors.
- An effect may be solely in response to those factors, or may be in response to the specified factors as well as other, unspecified factors.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Dc Digital Transmission (AREA)
Abstract
A driver circuit for a serial communication bus employs multiple switch circuits to generate different voltage levels on a set of signal lines included in the serial communication bus. The different voltage levels correspond to different values for a set of bits to be transmitted via the serial communication bus. The driver circuit also employs a shunt circuit that couples at least two of the signals together in response to the set of bits matching a particular data pattern.
Description
- This disclosure relates to the field of high-speed communication interface design and, in particular, to high-speed transmitter circuits.
- Computing systems typically include a number of interconnected integrated circuits. In some cases, the integrated circuits may communicate using communication channels or links to transmit and receive data bits. The communication channels may support parallel communication, in which multiple data bits are transmitted in parallel, or serial communication, in which data bits are transmitted one bit at a time in a serial fashion.
- The data transmitted between integrated circuits may be encoded to aid in transmission. For example, in the case of serial communication, data may be encoded to provide sufficient transitions between logic states to allow for clock and data recovery circuits to operate. Alternatively, in the case of parallel communication, the data may be encoded to reduce switching noise or to improve signal integrity.
- During transmission of the data, the physical characteristics of the communication channel may attenuate a transmitted signal associated with a particular data bit. For example, the impedance of wiring included in the communication channel or link may attenuate certain frequency ranges of the transmitted signal. Additionally, impedance mismatches between wiring included in the communication channel and devices coupled to the communication channel may induce reflections of the transmitted signal, which may degrade subsequently transmitted signals corresponding to other data bits.
-
FIG. 1 is a block diagram of an embodiment of a driver circuit for a communication bus in a computer system. -
FIG. 2 is a block diagram of an embodiment of a switch circuit for a driver circuit. -
FIG. 3 is a block diagram of another embodiment of a switch circuit for a driver circuit. -
FIG. 4 is a block diagram of an embodiment of a shunt circuit for a driver circuit. -
FIG. 5 is a block diagram of an embodiment of a computer system with a communication bus. -
FIG. 6 is a chart depicting different signal voltage levels for different values of input bits. -
FIG. 7 is a flow diagram of an embodiment of a method for operating a driver circuit. -
FIG. 8 is a block diagram of one embodiment of a system-on-a-chip that includes a driver circuit. -
FIG. 9 is a block diagram of various embodiments of computer systems that may include driver circuits. -
FIG. 10 illustrates an example of a non-transitory computer-readable storage medium that stores circuit design information. - While embodiments described in this disclosure may be susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the drawings and detailed description thereto are not intended to limit the embodiments to the particular form disclosed but, on the contrary, the intention is to cover all modifications, equivalents and alternatives falling within the spirit and scope of the appended claims.
- A computing system may include one or more integrated circuits, such as, e.g., a central processing unit (CPU) and memories. Various integrated circuits of the computing system may communicate through either a serial or parallel interface. In a parallel interface, multiple data bits are communicated simultaneously, while in a serial interface, data is communicated as a series of sequential single data bits. When employing a serial interface to communicate data between two devices included in a computing system, the data may be transmitted according to different protocols. For example, the data may be transmitted using a return to zero (RZ) protocol, non-return to zero (NRZ) protocol, pulse amplitude modulation (PAM), or any suitable combination thereof.
- In some of the pulse amplitude modulation protocols, e.g., PAM4, different data symbols are differentially encoded using respective voltage levels of a pair of signal lines included in a communication bus. For example, a difference in the respective voltage levels of the signal lines corresponding to half of the power supply voltage may correspond to one data symbol, while a difference in the respective voltage levels of the signal lines corresponding to one-sixth of the power supply voltage may correspond to another data symbol. In the PAM4 protocol, a given data symbol can encode two bits of data.
- To generate the various voltage differences on the signal wires of a serial communication bus, a driver circuit generates various voltage levels on each signal wire based on values of the bits that are to be transmitted. Such driver circuits typically includes multiple switches that selectively couple the signal lines to either a power supply node or a ground supply node via resistors. In conjunction with a load circuit coupled to the serial communication bus, the current moving through the resistors generates the desired voltages on the signal lines of the communication bus.
- As the signal lines are coupled, via corresponding resistors, to the power supply node or the ground supply node in response to changes in the bit values to be transmitted, current is drawn from the power supply node to charge the capacitance associated with the signal lines. Depending on the speed with which the voltage levels on the signal lines changes, considerable current can be drawn from the power supply node (e.g., ˜10.4 mA for a PAM4 driver). Such current consumption and associated power dissipation can result in larger component sizes for voltage regulator or power converter circuits supplying the driver circuit. In mobile computing applications, the driver circuit power dissipation can result in a reduction in battery life.
- The embodiments illustrated in the drawings and described below provide techniques for reducing power consumption of a communication bus driver circuit that employs a shunt circuit that can couple two or more of the signal lines together for certain combinations of bit values that are to be transmitted. By coupling the signal lines together, previous voltage levels of the signal lines are used to generate new voltage levels on the signals lines, which allows for less current to be drawn from the power supply node, thereby reducing power consumption of the driver circuit.
- A block diagram of a driver circuit for a serial communication bus is depicted in
FIG. 1 . As illustrated,driver circuit 100 includes switch circuits 101-104 andshunt circuit 105. -
101 and 102 are configured to generate, based onSwitch circuits bits 109,voltage levels 110 onsignal line 108 ofcommunication bus 106. In a similar fashion, 103 and 104 are configured to generate, based onswitch circuits bits 109,voltage levels 111 onsignal line 107 ofcommunication bus 106. - In various embodiments,
communication bus 106 may be implemented using a serial communication protocol such as PAM4, PAM6, and the like. Although only two signal lines are depicted as being included incommunication bus 109, in other embodiments, any suitable number of signal lines, including ground shield lines, may be employed. - In some embodiments, switch circuits 101-104 can use a subset of
bits 109 to generate 110 and 111. As described below in more detail,voltage levels switch circuit 101 may be configured to generate a particular one ofvoltage levels 110 onsignal line 108 based on a value of a complement of a most-significant-bit (MSB) ofbits 109. In other embodiments, switch circuits 101-104 may use true or complement values of the MSB ofbits 109, a least-significant-bit (LSB) ofbits 109, or any suitable combination thereof including any intervening bits ofbits 109. - In various embodiments, a voltage difference (also referred to as a “differential voltage”) between
signal line 107 andsignal line 108 encode a data symbol that corresponds to a given set of values ofbits 109. It is noted thatbits 109 can include any suitable number of bits, and a number of voltages levels includes involtage levels 110 andvoltage levels 111 can be based on the number of bits included inbits 109. For example, in some embodiments,bits 109 includes two bits and each of 110 and 111 include 4 voltage levels. In cases where more than two bits are included involtage levels bits 109, additional voltage levels can be included in 110 and 111.voltage levels -
Shunt circuit 105 is configured tocouple signal line 107 tosignal line 108 in response to a determination that a subset ofbits 109 matches a particular pattern. Bycoupling signal line 107 tosignal line 108,driver circuit 100 can generate one of the voltage levels necessary to encode a data symbol while drawing less power from a power supply node coupled todriver circuit 100, thereby reducing overall power consumption and extending the life of a battery in mobile computer applications. - In various embodiments, the output impedances of switch circuits 101-104 and
shunt circuit 105 are selected to match the characteristic impedance of 107 and 108. As used herein, the characteristic impedance of a signal line refers to a ratio of the amplitudes of voltage and current of a single wave propagating along the signal line. As described below, switch circuits 101-104 andsignals lines shunt circuit 105 can employ impedance elements whose values are selected so that the characteristic impedance of 107 and 108 are matched independent of the value ofsignals lines bits 109. By matching the characteristic impedance of 107 and 108, power transfer tosignals lines 107 and 108 may, in various embodiments, be improved and signal distortion limited.signal lines - In various embodiments, the particular pattern can include particular values of a subset of
bits 109. For example, in some embodiments,shunt circuit 105 may be configured tocouple signal line 107 tosignal line 108 in response to a determination that a value of a least-significant-bit (LSB) ofbits 109 is a logical-1. It is noted that in other embodiments, additional bits may be included in the pattern that activatesshunt circuit 105. - As used herein, when a signal is activated, it is set to a logic or voltage level that activates a load circuit or device. The logic level may be either a high logic level or a low logic level depending on the load circuit. For example, an active state of a signal coupled to a p-channel MOSFET is a low logic level (referred to as an “active low signal” or “logical-0”), while an active state of a signal coupled to an n-channel MOSFET is a high logic level (referred to as an “active high signal” or “logical-1”).
- Turning to
FIG. 2 , a block diagram of an embodiment of a switch circuit is depicted. As illustrated,switch circuit 200, which may correspond to either of 102 or 103 as depicted inswitch circuits FIG. 1 , includes transistors 201-204, andimpedance element 211. -
Transistor 201 is coupled betweenpower supply node 206 andtransistor 202, and is controlled by bit signal 208.Transistor 202 is coupled betweendevice 201 andnode 212, and is controlled bybit signal 209. -
Transistor 203 is coupled betweennode 212 andtransistor 204, and is controlled bybit signal 209.Transistor 204 is coupled betweendevice 203 andground supply node 207, and is controlled bybit signal 210. -
Impedance element 211 is coupled betweennode 212 andsignal line 205. In various embodiments,signal line 205 may correspond to either ofsignal line 107 orsignal line 108 as depicted inFIG. 1 . In various embodiments,impedance element 211 may include any suitable combination of resistors, inductors, and capacitors, whose value are selected to match a characteristic impedance ofsignal line 205. In some cases, one or more of the circuit elements included inimpedance element 211 may be programmable or trimmable post-manufacture to allow for different characteristic impedances ofsignal line 205 in different applications. - In various embodiments, bit signals 208-210 may correspond to different ones of
bits 109 or complement values ofbits 109. For example, in some cases, bit signal 208 may correspond to a complement value of a least-significant-bit (LSB) ofbits 109, bit signal 209 may correspond to a complement value of a most-significant-bit (MSB) ofbits 109, while bit signal 210 may correspond to a true value of the LSB ofbits 109. Alternatively, bit signal 208 may correspond to a true value of the LSB ofbits 109, bit signal 209 may correspond to a true value of the MSB ofbits 109, and bit signal 210 may correspond to the complement value of the LSB ofbits 109. - Depending on respective values of bit signals 208-210, different ones of transistors 201-204 may be activated, while other ones of transistors 201-204 may be deactivated. In cases where
201 and 202 are activated andtransistors 203 and 204 are deactivated,transistors signal line 205 is coupled topower supply node 206. In cases where 201 and 202 are deactivated andtransistors 203 and 204 are activated,transistors signal line 205 is coupled toground supply node 207. In some cases, the respective values of bit signals 208-210 are such that all of transistors 201-204 are deactivated. In such cases,switch circuit 200 appears as a high impedance onsignal line 205. As used herein, when a circuit appears as a high impedance, the input or output of the circuit can have an impedance in which no current, other than transistor leakage current, can flow into or out of the circuit. - In various embodiments,
201 and 202 may be implemented as p-channel metal-oxide semiconductor field-effect transistors (MOSFETs), Fin field-effect transistors (FinFETs), gate-all-around field-effect transistors (GAAFETs), or any other suitable transconductance devices. In some embodiments,transistors 203 and 204 may be implemented as n-channel MOSFETs, FinFETs, GAAFETs, or any other suitable transconductance devices. It is noted that although transistors 201-204 are depicted as single transistors, in other embodiments, any of transistors 201-204 may be implemented using multiple transistors coupled together in parallel.transistors - Turning to
FIG. 3 , a block diagram of another embodiment of a switch circuit is depicted. As illustrated,switch circuit 300 includesinverter circuit 301 andimpedance element 302. In various embodiments,switch circuit 300 may correspond to either of 101 or 104 as depicted inswitch circuits FIG. 1 . -
Inverter circuit 301 is coupled topower supply node 206,ground supply node 207 andnode 305.Impedance element 302 is coupled betweennode 305 andsignal line 303. In various embodiments,signal line 303 may correspond to either of 107 or 108 as depicted insignal lines FIG. 1 . -
Inverter circuit 301 is configured to couplenode 305 to eitherpower supply node 206 orground supply node 207 based onbit signal 304. For example, in response to a determination that bit signal 304 is at a high logic level (also referred to as a “logical-1” value”),inverter circuit 301 may be configured to couplenode 305 toground supply node 207. Alternatively, in response to a determination that bit signal 304 is at a low logic level (also referred to as a “logical-0” value),inverter circuit 301 may be configured to couplenode 305 topower supply node 206. In various embodiments, bit signal 304 may correspond to either a true value of a MSB ofbits 109 or a complement value of the MSB ofbits 109. - When
node 305 is coupled topower supply node 206, a current flows frompower supply node 206 intosignal line 303, generating a voltage drop acrossimpedance element 302, resulting in a voltage level onsignal line 303. The voltage level onsignal line 303 may be used in conjunction with a voltage level on another signal line to encode a data symbol value that corresponds to a respective set of values forbits 109. - In cases when
node 305 is coupled byinverter circuit 301 toground supply node 207, a current flows fromsignal line 303, throughimpedance element 302, intoground supply node 207. As the current flows throughimpedance element 302, a voltage drop acrossimpedance element 302 results in a voltage level onsignal line 303. As above, the voltage level onsignal line 303 may be used in conjunction with a voltage level on another signal line to encode a data symbol value that corresponds to a respective set of values forbits 109. - In various embodiments,
inverter circuit 301 may be implemented as a complementary metal-oxide semiconductor (CMOS) inverter, or any other suitable inverting amplifier circuit including those implemented with technologies other than CMOS. -
Impedance element 302 may, in various embodiments, include any suitable combination of resistors, inductors, and capacitors, whose value are selected to match a characteristic impedance ofsignal line 303. In some cases, one or more of the circuit elements included inimpedance element 302 may be programmable or trimmable post-manufacture to allow for different characteristic impedances ofsignal line 303 in different applications. - A block diagram of an embodiment of
shunt circuit 105 is depicted inFIG. 4 . As illustrated,shunt circuit 105 includes pass gate circuit 408 (also referred to as a “transmission gate circuit”), which includes 403 and 404,transistors pass gate circuit 409, which includes 401 and 402, andtransistors 410 and 411.impedance elements -
Pass gate circuit 409 is coupled betweennode 412 andnode 405. In a similar fashion,pass gate circuit 408 is coupled betweennode 405 andnode 413. In response to an activation of bit signals 406 and 407, 408 and 409 may activate,pass gate circuits coupling signal line 108 to signalline 107 via 410 and 411. In various embodiments, bit signals 406 and 407 may correspond to a true and a complement value of an LSB ofimpedance elements bits 109. It is noted that although two pass gate circuits are depicted in the embodiment ofFIG. 4 , in other embodiments, any suitable number of pass gate circuits may be employed. - When both pass
gate circuit 408 and passgate circuit 409 are activated andsignal line 108 is coupled to signalline 107, a current can flow from one signal line, through 408 and 409, to the other signal line dependent upon respective voltage levels ofpass gate circuits 107 and 108. For example, if a voltage level ofsignals lines signal line 108 is higher than a voltage level ofsignal line 107, current will flow fromsignal line 108 to signalline 107. - As current flows through each of
408 and 409, respective voltage drops acrosspass gate circuits 408 and 409, andpass gate circuits 410 and 411 generate respective voltage levels onimpedance elements 107 and 108. The respective voltage drops acrosssignal lines 408 and 409 may be determined by electrical characteristics (e.g., on resistance) ofpass gate circuits 403 and 404, andtransistors 401 and 402, respectively. The electrical characteristics of transistors 401-404 may be adjusted by changing physical characteristics of the transistors such as transistor width, channel length, etc., or any suitable combination thereof. The physical characteristics may, in various embodiments, be selected based on desired voltage levels fortransistors 107 and 108 in order to conform to a particular communication protocol such as PAM4.signal lines - As illustrated,
408 and 409 can be implemented as CMOS pass gates. In other embodiments,pass gate circuits 408 and 409 may be implemented using any suitable switching circuit including those implemented with technologies other than CMOS.pass gate circuits 401 and 403 may, in various embodiments, be implemented as n-channel MOSFETs, FinFETs, GAAFETs, or any other suitable transconductance devices.Transistors 402 and 404 may, in various embodiments, be implemented as p-channel MOSFETs, FinFETs, GAAFETs, or any other suitable transconductance devices. It is noted that although transistors 401-404 are depicted as single transistors, in other embodiments, transistors 401-404 may be implemented using multiple transistors coupled together in parallel.Transistors -
410 and 411 may, in various embodiments, include any suitable combination of resistors, inductors, and capacitors, whose value are selected to match a characteristic impedance ofImpedance elements 107 and 108. In some cases, one or more of the circuit elements included insignal lines 410 and 411 may be programmable or trimmable post-manufacture to allow for matching different characteristic impedances ofimpedance elements 107 and 108 in different applications. It is noted that although two impedance elements is depicted in the embodiment ofsignal lines FIG. 4 , in other embodiments, a single impedance element may be employed. - As described above, a driver circuit, such as
driver circuit 100, may be employed in a computer system. A block diagram of an embodiment of such a computer system is depicted inFIG. 5 . As illustrated,computer system 500 includes 501 and 502, coupled bydevices communication bus 507. -
Device 501 includescircuit block 503 andtransmitter circuit 504. In various embodiments,device 501 may be a processor circuit, a processor core, a memory circuit, or any other suitable circuit block that may be included on an integrated circuit in a computer system. It is noted that althoughdevice 501 only depicts a single circuit block and a single transmitter circuit, in other embodiments, additional circuit blocks and additional transmitter circuits may be employed. -
Transmitter circuit 504, which includesdriver circuit 100, is configured to serially transmit signals, viacommunication bus 507, corresponding to data received fromcircuit block 503. Such signals may differentially encode one or more bits such that a difference between the respective voltage levels of 508A and 508B, at a particular point in time, correspond to a particular bit value. In various embodiments, such voltage levels may be generated bytransmission conduits driver circuit 100 as described above. In some cases, the generation of the signals may include encoding the bits prior to transmission. It is noted that althoughcommunication bus 507 is depicted as including two transmission conduits, in other embodiments, any suitable number of transmission conduits may be employed. In various embodiments, 508A and 508B may be implemented as optical cables, wires, metallic traces on a circuit board or other substrate, or any other suitable material that can conduct signals betweentransmission conduits device 501 anddevice 502. -
Device 502 includesreceiver circuit 505 andcircuit block 506. Likedevice 501,device 502 may be a processor circuit, a processor core, a memory circuit, or any other suitable circuit block configured to receive data fromtransmitter circuit 504. In various embodiments,circuit block 506 may include any suitable combination of processor circuits, memory circuits, and the like. -
501 and 502 may, in some embodiments, be fabricated on a common integrated circuit. In other embodiments,Devices 501 and 502 may be located on different integrated circuits mounted on a common substrate or circuit board. In such cases,devices communication bus 507 may include metal or other conductive traces on the substrate or circuit board, fiber optic cables, and the like. Although only two devices are depicted incomputer system 500, in other embodiments, any suitable number of devices may be employed. - Turning to
FIG. 6 , a chart depicting different signal voltage levels for different values of input bits is depicted. As illustrated, the values depicted in the chart ofFIG. 6 may correspond to a PAM4 communication protocol or any other suitable communication protocol that employs four differential voltage levels across the signal lines of a communication bus. - Each of the four differential voltage levels, i.e.,
level 0 throughlevel 3, correspond to a particular combination of LSB and MSB of a set of bits, such asbits 109 as depicted inFIG. 1 .Level 0 corresponds to a case when the values of the LSB and the MSB are both logical-0. This results in switch circuits 101-104 andshunt circuit 105 generating a voltage level acrosssignal line 108 andsignal line 107 of −VDD/2, where VDD is the voltage level ofpower supply node 206. It is noted that these voltage levels described inFIG. 6 are merely examples and, in other embodiments, different voltage levels may be employed. For example, if equalization is applied, one or more of the voltage levels depicted inFIG. 6 may be different. -
Level 1 corresponds to a case when the value of the MSB is a logical-0 and the value of the LSB is logical-1. This results in switch circuits 101-104 andshunt circuit 105 generating a voltage level acrosssignal line 108 andsignal line 107 of −VDD/6. -
Level 2 corresponds to a case when the value of the MSB is a logical-1 and the value of the LSB is logical-1. This results in switch circuits 101-104 andshunt circuit 105 generating a voltage level acrosssignal line 108 andsignal line 107 of VDD/6. -
Level 3 corresponds to a case when the value of the value of the MSB is a logical-1 and the value of the LSB is a logical-0. This results in switch circuits 101-104 andshunt circuit 105 generating a voltage level acrosssignal line 108 andsignal line 107 of VDD/2. - It is noted that the voltage levels and bit combinations depicted in the chart of
FIG. 6 are an example. In other embodiments, different voltage levels and different corresponding values of the MSB and LSB are possible and contemplated. Moreover, if equalization is applied, where the voltage levels of the transmission conduits are set to a same value for a given data state, other data states may correspond to different voltage levels than those illustrated inFIG. 6 . It is further noted that additional voltage levels corresponding to different data state of bits may be employed for other communication protocols such as PAM6, PAM8, and the like. - Various embodiments for driving a serial communication bus have been disclosed. Broadly speaking, a first plurality of driver circuits are configured to generate, on a first signal line included in a communication bus and based on a plurality of bits, a first subset of a plurality of voltage levels. Additionally, a second plurality of driver circuits is configured to generate on a second signal line included in the communication bus and based on the plurality of bits, a second subset of the plurality of voltage levels, wherein a data symbol based on respective values of the plurality of bits is encoded using respective voltage levels of the first signal line and the second signal line. A shunt circuit is configured to couple the first signal line to the second signal line in response to a determination that a subset of the plurality of bits matches a particular pattern.
- Turning to
FIG. 7 , a flow diagram depicting an embodiment of a method for operating a driver circuit is illustrated. The method, which may be applied to various driver circuits includingdriver circuit 100, begins inblock 701. - The method includes receiving a plurality of bits by a driver circuit coupled to a communication bus that includes a plurality of signal lines (block 702).
- The method further includes generating, by the driver circuit using the plurality of bits, a first subset of a plurality of voltage levels on a first signal line of the plurality of signal lines (block 703). In some embodiments, generating the first subset of the plurality of voltage levels on the first signal line includes coupling the first signal line to a power supply node via a first resistor in response to determining a most-significant-bit of the plurality of bits is a logical-1. In other embodiments, generating the first subset of the plurality of voltage levels on the first signal line includes coupling, by a plurality of devices, the first signal line to a ground signal line in response to determining a first value of a most-significant-bit of the plurality of bits is a logical-1 and a second value of a least-significant-bit of the plurality of bits is a logical-1.
- The method also includes generating, by the driver circuit using the plurality of bits, a second subset of the plurality of voltage levels on a second signal line of the plurality of signal lines (block 704). In some embodiments, generating the second subset of the plurality of voltage levels on the second signal line includes coupling the second signal line to a ground supply node via a second resistor in response to determining a most-significant-bit of the plurality of bits is a logical-1.
- The method further includes coupling, by the driver circuit, the first signal line to the second signal line in response to determining that a subset of the plurality of bits matches a particular pattern (block 705). In various embodiments, coupling the first signal line to the second signal line includes activating at least one pass gate circuit included in the driver circuit, wherein the at least one pass gate circuit is coupled between the first signal line and the second signal line.
- In some embodiments, the at least one pass gate circuit includes one or more devices, and a physical characteristic of the one or more devices is based on the plurality of voltage levels. In various embodiments, a value of a least-significant-bit of the plurality of bits corresponding to the particular pattern is a logical-1. The method concludes in
block 706. - A block diagram of a system-on-a-chip (SoC) is illustrated in
FIG. 8 . In the illustrated embodiment,SoC 800 includesprocessor circuit 801,memory circuit 802, and analog/mixed-signal circuits 803, which includes input/output circuits 804. each of which is coupled tocommunication bus 805.Processor circuit 801,memory circuit 802, and analog/mixed-signal circuits 803 are coupled tocommunication bus 805. In various embodiments,SoC 800 may be configured for use in a desktop computer, server, or in a mobile computing application such as, e.g., a tablet, laptop computer, or wearable computing device. -
Processor circuit 801 may, in various embodiments, be representative of a general-purpose processor that performs computational operations. For example,processor circuit 801 may be a central processing unit (CPU) such as a microprocessor, a microcontroller, an application-specific integrated circuit (ASIC), or a field-programmable gate array (FPGA). In various embodiments,processor circuit 801 may include an instance ofdriver circuit 100 that is used to generate various voltage levels oncommunication bus 805 to transmit data, commands, and the like, oncommunication bus 805. -
Memory circuit 802 may, in various embodiments, include any suitable type of memory such as a Dynamic Random-Access Memory (DRAM), a Static Random-Access Memory (SRAM), a Read-Only Memory (ROM), an Electrically Erasable Programmable Read-only Memory (EEPROM), or a non-volatile memory, for example. It is noted that although a single memory circuit is illustrated inFIG. 8 , in other embodiments, any suitable number of memory circuits may be employed. In various embodiments,memory circuit 802 may include an instance ofdriver circuit 100 that is used to generate various voltage levels oncommunication bus 805 to transmit data, commands, and the like, oncommunication bus 805. - As illustrated, analog/mixed-
signal circuits 803 includes input/output circuit 804. In various embodiments, analog/mixed-signal circuits 803 may also include a crystal oscillator circuit, a phase-locked loop (PLL) circuit, an analog-to-digital converter (ADC) circuit, and a digital-to-analog converter (DAC) circuit (all not shown). In other embodiments, analog/mixed-signal circuits 803 may be configured to perform power management tasks with the inclusion of on-chip power supplies and voltage regulators. In various embodiments, analog/mixed-signal circuits 803 may include an instance ofdriver circuit 100 that is used to generate various voltage levels oncommunication bus 805 to transmit data, commands, and the like, oncommunication bus 805. - Input/
output circuits 804 may be configured to coordinate data transfer betweenSoC 800 and one or more peripheral devices. Such peripheral devices may include, without limitation, storage devices (e.g., magnetic or optical media-based storage devices including hard drives, tape drives, CD drives, DVD drives, etc.), audio processing subsystems, or any other suitable type of peripheral devices. In some embodiments, input/output circuits 804 may be configured to implement a version of Universal Serial Bus (USB) protocol or IEEE 1394 (Firewire®) protocol. - Input/
output circuits 804 can includedriver circuit 100 and may also be configured to coordinate data transfer betweenSoC 800 and one or more devices (e.g., other computing systems or integrated circuits) coupled toSoC 800 via a network. In one embodiment, input/output circuits 804 may be configured to perform the data processing necessary to implement an Ethernet (IEEE 802.3) networking standard such as Gigabit Ethernet or 10-Gigabit Ethernet, for example, although it is contemplated that any suitable networking standard may be implemented. In some embodiments, input/output circuits 804 may be configured to implement multiple discrete network interface ports. - Turning now to
FIG. 9 , various types of systems that may include any of the circuits, devices, or systems discussed above are illustrated. System ordevice 900, which may incorporate or otherwise utilize one or more of the techniques described herein, may be utilized in a wide range of areas. For example, system ordevice 900 may be utilized as part of the hardware of systems such as adesktop computer 910,laptop computer 920,tablet computer 930, cellular ormobile phone 940, or television 950 (or set-top box coupled to a television). - Similarly, disclosed elements may be utilized in a
wearable device 960, such as a smartwatch or a health-monitoring device. Smartwatches, in many embodiments, may implement a variety of different functions—for example, access to email, cellular service, calendar, health monitoring, etc. A wearable device may also be designed solely to perform health-monitoring functions, such as monitoring a user's vital signs, performing epidemiological functions such as contact tracing, providing communication to an emergency medical service, etc. Other types of devices are also contemplated, including devices worn on the neck, devices implantable in the human body, glasses or a helmet designed to provide computer-generated reality experiences such as those based on augmented and/or virtual reality, etc. - System or
device 900 may also be used in various other contexts. For example, system ordevice 900 may be utilized in the context of a server computer system, such as a dedicated server or on shared hardware that implements a cloud-basedservice 970. Still further, system ordevice 900 may be implemented in a wide range of specialized everyday devices, includingdevices 980 commonly found in the home such as refrigerators, thermostats, security cameras, etc. The interconnection of such devices is often referred to as the “Internet of Things” (IoT). Elements may also be implemented in various modes of transportation. For example, system ordevice 900 could be employed in the control systems, guidance systems, entertainment systems, etc. of various types ofvehicles 990. - The applications illustrated in
FIG. 9 are merely exemplary and are not intended to limit the potential future applications of disclosed systems or devices. Other example applications include, without limitation: portable gaming devices, music players, data storage devices, unmanned aerial vehicles, etc. -
FIG. 10 is a block diagram illustrating an example of a non-transitory computer-readable storage medium that stores circuit design information, according to some embodiments. In the illustrated embodiment,semiconductor fabrication system 1020 is configured to processdesign information 1015 stored on non-transitory computer-readable storage medium 1010 and fabricateintegrated circuit 1030 based ondesign information 1015. - Non-transitory computer-
readable storage medium 1010 may comprise any of various appropriate types of memory devices or storage devices. Non-transitory computer-readable storage medium 1010 may be an installation medium, e.g., a CD-ROM, floppy disks, or tape device; a computer system memory or random-access memory such as DRAM, DDR RAM, SRAM, EDO RAM, Rambus RAM, etc.; a non-volatile memory such as Flash, magnetic media, e.g., a hard drive, or optical storage; registers, or other similar types of memory elements, etc. Non-transitory computer-readable storage medium 1010 may include other types of non-transitory memory as well or combinations thereof. Non-transitory computer-readable storage medium 1010 may include two or more memory mediums, which may reside in different locations, e.g., in different computer systems that are connected over a network. -
Design information 1015 may be specified using any of various appropriate computer languages, including hardware description languages such as, without limitation: VHDL, Verilog. SystemC, System Verilog, RHDL, M, MyHDL, etc.Design information 1015 may be usable bysemiconductor fabrication system 1020 to fabricate at least a portion ofintegrated circuit 1030. The format ofdesign information 1015 may be recognized by at least one semiconductor fabrication system, such assemiconductor fabrication system 1020, for example. In some embodiments,design information 1015 may include a netlist that specifies elements of a cell library, as well as their connectivity. One or more cell libraries used during logic synthesis of circuits included inintegrated circuit 1030 may also be included indesign information 1015. Such cell libraries may include information indicative of device or transistor-level netlists, mask design data, characterization data, and the like, of cells included in the cell library. - Integrated
circuit 1030 may, in various embodiments, include one or more custom macrocells, such as memories, analog or mixed-signal circuits, and the like. In such cases,design information 1015 may include information related to included macrocells. Such information may include, without limitation, schematics capture database, mask design data, behavioral models, and device or transistor-level netlists. As used herein, mask design data may be formatted according to graphic data system (GDSII), or any other suitable format. -
Semiconductor fabrication system 1020 may include any of various appropriate elements configured to fabricate integrated circuits. This may include, for example, elements for depositing semiconductor materials (e.g., on a wafer, which may include masking), removing materials, altering the shape of deposited materials, modifying materials (e.g., by doping materials or modifying dielectric constants using ultraviolet processing), etc.Semiconductor fabrication system 1020 may also be configured to perform various testing of fabricated circuits for correct operation. - In various embodiments, integrated
circuit 1030 is configured to operate according to a circuit design specified bydesign information 1015, which may include performing any of the functionality described herein. For example, integratedcircuit 1030 may include any of various elements shown or described herein. Further, integratedcircuit 1030 may be configured to perform various functions described herein in conjunction with other components. Further, the functionality described herein may be performed by multiple connected integrated circuits. - As used herein, a phrase of the form “design information that specifies a design of a circuit configured to . . . ” does not imply that the circuit in question must be fabricated in order for the element to be met. Rather, this phrase indicates that the design information describes a circuit that, upon being fabricated, will be configured to perform the indicated actions or will include the specified components.
- The present disclosure includes references to “embodiments,” which are non-limiting implementations of the disclosed concepts. References to “an embodiment,” “one embodiment,” “a particular embodiment,” “some embodiments,” “various embodiments,” and the like do not necessarily refer to the same embodiment. A large number of possible embodiments are contemplated, including specific embodiments described in detail, as well as modifications or alternatives that fall within the spirit or scope of the disclosure. Not all embodiments will necessarily manifest any or all of the potential advantages described herein.
- Unless stated otherwise, the specific embodiments are not intended to limit the scope of claims that are drafted based on this disclosure to the disclosed forms, even where only a single example is described with respect to a particular feature. The disclosed embodiments are thus intended to be illustrative rather than restrictive, absent any statements to the contrary. The application is intended to cover such alternatives, modifications, and equivalents that would be apparent to a person skilled in the art having the benefit of this disclosure.
- Particular features, structures, or characteristics may be combined in any suitable manner consistent with this disclosure. The disclosure is thus intended to include any feature or combination of features disclosed herein (either explicitly or implicitly), or any generalization thereof. Accordingly, new claims may be formulated during prosecution of this application (or an application claiming priority thereto) to any such combination of features. In particular, with reference to the appended claims, features from dependent claims may be combined with those of the independent claims and features from respective independent claims may be combined in any appropriate manner and not merely in the specific combinations enumerated in the appended claims.
- For example, while the appended dependent claims are drafted such that each depends on a single other claim, additional dependencies are also contemplated. Where appropriate, it is also contemplated that claims drafted in one statutory type (e.g., apparatus) suggest corresponding claims of another statutory type (e.g., method).
- Because this disclosure is a legal document, various terms and phrases may be subject to administrative and judicial interpretation. Public notice is hereby given that the following paragraphs, as well as definitions provided throughout the disclosure, are to be used in determining how to interpret claims that are drafted based on this disclosure.
- References to the singular forms such “a,” “an,” and “the” are intended to mean “one or more” unless the context dictates otherwise. Reference to “an item” in a claim thus does not preclude additional instances of the item.
- The word “may” is used herein in a permissive sense (i.e., having the potential to, being able to) and not in a mandatory sense (i.e., must).
- The terms “comprising” and “including,” and forms thereof, are open-ended and mean “including, but not limited to.”
- When the term “or” is used in this disclosure with respect to a list of options, it will generally be understood to be used in the inclusive sense unless the context provides otherwise. Thus, a recitation of “x or y” is equivalent to “x or y, or both,” covering x but not y, y but not x, and both x and y. On the other hand, a phrase such as “either x or y, but not both” makes clear that “or” is being used in the exclusive sense.
- A recitation of “w, x, y, or z, or any combination thereof” or “at least one of . . . W, x, y, and z” is intended to cover all possibilities involving a single element up to the total number of elements in the set. For example, given the set [w, x, y, z], these phrasings cover any single element of the set (e.g., w but not x, y, or z), any two elements (e.g., w and x, but not y or z), any three elements (e.g., w, x, and y, but not z), and all four elements. The phrase “at least one of . . . w, x, y, and z” thus refers to at least one element of the set [w, x, y, z], thereby covering all possible combinations in this list of options. This phrase is not to be interpreted to require that there is at least one instance of w, at least one instance of x, at least one instance of y, and at least one instance of z.
- Various “labels” may proceed nouns in this disclosure. Unless context provides otherwise, different labels used for a feature (e.g., “first circuit,” “second circuit,” “particular circuit,” “given circuit,” etc.) refer to different instances of the feature. The labels “first,” “second,” and “third,” when applied to a particular feature, do not imply any type of ordering (e.g., spatial, temporal, logical, etc.), unless stated otherwise.
- Within this disclosure, different entities (which may variously be referred to as “units,” “circuits,” other components, etc.) may be described or claimed as “configured” to perform one or more tasks or operations. This formulation-[entity] configured to [perform one or more tasks]—is used herein to refer to structure (i.e., something physical). More specifically, this formulation is used to indicate that this structure is arranged to perform the one or more tasks during operation. A structure can be said to be “configured to” perform some task even if the structure is not currently being operated. Thus, an entity described or recited as “configured to” perform some task refers to something physical, such as a device, circuit, memory storing program instructions executable to implement the task, etc. This phrase is not used herein to refer to something intangible.
- The term “configured to” is not intended to mean “configurable to.” An unprogrammed FPGA, for example, would not be considered to be “configured to” perform some specific function. This unprogrammed FPGA may be “configurable to” perform that function, however.
- Reciting in the appended claims that a structure is “configured to” perform one or more tasks is expressly intended not to invoke 35 U.S.C. § 112(f) for that claim element. Should Applicant wish to invoke Section 112(f) during prosecution, it will recite claim elements using the “means for” [performing a function] construct.
- The phrase “based on” is used to describe one or more factors that affect a determination. This term does not foreclose the possibility that additional factors may affect the determination. That is, a determination may be solely based on specified factors or based on the specified factors as well as other, unspecified factors. Consider the phrase “determine A based on B.” This phrase specifies that B is a factor that is used to determine A or that affects the determination of A. This phrase does not foreclose that the determination of A may also be based on some other factor, such as C. This phrase is also intended to cover an embodiment in which A is determined based solely on B. As used herein, the phrase “based on” is synonymous with the phrase “based at least in part on.”
- The phrase “in response to” describes one or more factors that trigger an effect. This phrase does not foreclose the possibility that additional factors may affect or otherwise trigger the effect. That is, an effect may be solely in response to those factors, or may be in response to the specified factors as well as other, unspecified factors. Consider the phrase “perform A in response to B.” This phrase specifies that B is a factor that triggers the performance of A. This phrase does not foreclose that performing A may also be in response to some other factor, such as C. This phrase is also intended to cover an embodiment in which A is performed solely in response to B.
Claims (20)
1. An apparatus, comprising:
a first plurality of driver circuits configured to generate, on a first signal line included in a communication bus and based on a plurality of bits, a first subset of a plurality of voltage levels;
a second plurality of driver circuits configured to generate on a second signal line included in the communication bus and based on the plurality of bits, a second subset of the plurality of voltage levels, wherein a data symbol based on respective values of the plurality of bits is encoded using respective voltage levels of the first signal line and the second signal line; and
a shunt circuit configured to couple the first signal line to the second signal line in response to a determination that a subset of the plurality of bits matches a particular pattern.
2. The apparatus of claim 1 , wherein the shunt circuit includes at least one pass gate circuit and at least one impedance element, wherein at least one pass gate circuit and the at least one impedance element are coupled, in series, between the first signal line and the second signal line, wherein a combine impedance of the at least one pass gate circuit and the at least one impedance element is matched to characteristic impedance of the first signal line and the second signal line, and wherein to couple the first signal line to the second signal line, the shunt circuit is further configured to activate the at least one pass gate circuit.
3. The apparatus of claim 2 , wherein the at least one pass gate circuit includes one or more transistors, and wherein a physical characteristic of the one or more transistors is based on the plurality of voltage levels.
4. The apparatus of claim 1 , wherein to generate the first subset of the plurality of voltage levels on the first signal line, the first plurality of driver circuits is further configured to couple the first signal line to a power supply node via a first resistor in response to a determination that a most-significant-bit of the plurality of bits is a logical-1.
5. The apparatus of claim 1 , wherein to generate the second subset of the plurality of voltage levels on the second signal line, the second plurality of driver circuits is further configured to couple the second signal line to a ground supply node via a second resistor in response to a determination that a most-significant-bit of the plurality of bits is a logical-1.
6. The apparatus of claim 1 , wherein to generate the first subset of the plurality of voltage levels on the first signal line, the first plurality of driver circuits is further configured to couple the first signal line to a ground signal line in response to a determination that a first value of a most-significant-bit of the plurality of bits is a logical-1 and a second value of a least-significant-bit of the plurality of bits is a logical-1.
7. A method, comprising:
receiving a plurality of bits by a driver circuit coupled to a communication bus that includes a plurality of signal lines;
generating, by the driver circuit using the plurality of bits, a first subset of a plurality of voltage levels on a first signal line of the plurality of signal lines;
generating, by the driver circuit using the plurality of bits, a second subset of the plurality of voltage levels on a second signal line of the plurality of signal lines; and
coupling, by the driver circuit, the first signal line to the second signal line in response to determining that a subset of the plurality of bits matches a particular pattern.
8. The method of claim 7 , wherein coupling the first signal line to the second signal line includes activating at least one pass gate circuit included in the driver circuit, wherein the at least one pass gate circuit is coupled, in series with at least one impedance element, between the first signal line and the second signal line, wherein a combine impedance of the at least one pass gate and the at least one impedance element matches a characteristics impedance of the first signal line and the second signal line.
9. The method of claim 8 , wherein the at least one pass gate circuit includes one or more devices, and wherein a physical characteristic of the one or more devices is based on the plurality of voltage levels.
10. The method of claim 7 , wherein a value of a least-significant-bit of the plurality of bits corresponding to the particular pattern is a logical-1.
11. The method of claim 7 , wherein generating the first subset of the plurality of voltage levels on the first signal line includes coupling the first signal line to a power supply node via a first resistor in response to determining a most-significant-bit of the plurality of bits is a logical-1.
12. The method of claim 7 , wherein generating the second subset of the plurality of voltage levels on the second signal line includes coupling the second signal line to a ground supply node via a second resistor in response to determining a most-significant-bit of the plurality of bits is a logical-1.
13. The method of claim 7 , wherein generating the first subset of the plurality of voltage levels on the first signal line includes coupling, by a plurality of devices, the first signal line to a ground signal line in response to determining a first value of a most-significant-bit of the plurality of bits is a logical-1 and a second value of a least-significant-bit of the plurality of bits is a logical-1.
14. An apparatus, comprising:
a first device coupled to a communication bus that includes a plurality of signal lines; and
a second device coupled to the communication bus; and
wherein the first device is configured to:
generate, using a plurality of bits, a first subset of a plurality of voltage levels on a first signal line of the plurality of signal lines;
generate, using the plurality of bits, a second subset of the plurality of voltage levels on a second signal line of the plurality of signal lines; and
couple the first signal line to the second signal line in response to determining that a subset of the plurality of bits matches a particular pattern.
15. The apparatus of claim 14 , wherein to couple the first signal line to the second signal line, the first device is further configured to activate at least one pass gate circuit included in the first device, wherein the at least one pass gate circuit is coupled between the first signal line and the second signal line.
16. The apparatus of claim 15 , wherein the at least one pass gate circuit includes one or more transistors, and wherein a physical characteristic of the one or more transistors is based on the plurality of voltage levels.
17. The apparatus of claim 14 , wherein a value of a least-significant-bit of the plurality of bits corresponding to the particular pattern is a logical-1.
18. The apparatus of claim 14 , wherein to generate the first subset of the plurality of voltage levels on the first signal line, the first device is further configured to couple the first signal line to a power supply node via a first resistor in response to determining a most-significant-bit of the plurality of bits is a logical-1.
19. The apparatus of claim 14 , wherein to generate the second subset of the plurality of voltage levels on the second signal line, the first device is further configured to couple the second signal line to a ground supply node via a second resistor in response to determining a most-significant-bit of the plurality of bits is a logical-1.
20. The apparatus of claim 14 , wherein to generate the first subset of the plurality of voltage levels on the first signal line, the first device is further configured to couple, using a plurality of transistors, the first signal line to a ground signal line in response to determining a first value of a most-significant-bit of the plurality of bits is a logical-1 and a second value of a least-significant-bit of the plurality of bits is a logical-1.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US18/063,434 US12021577B1 (en) | 2022-12-08 | 2022-12-08 | Serial communication link driver circuit with switchable shunt circuit |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US18/063,434 US12021577B1 (en) | 2022-12-08 | 2022-12-08 | Serial communication link driver circuit with switchable shunt circuit |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| US20240195453A1 true US20240195453A1 (en) | 2024-06-13 |
| US12021577B1 US12021577B1 (en) | 2024-06-25 |
Family
ID=91380538
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US18/063,434 Active 2042-12-08 US12021577B1 (en) | 2022-12-08 | 2022-12-08 | Serial communication link driver circuit with switchable shunt circuit |
Country Status (1)
| Country | Link |
|---|---|
| US (1) | US12021577B1 (en) |
Citations (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20130321095A1 (en) * | 2012-05-11 | 2013-12-05 | Skyworks Solutions, Inc. | Low-loss high-isolation switching architecture |
| US20160020732A1 (en) * | 2014-05-28 | 2016-01-21 | Skyworks Solutions, Inc. | Systems and methods related to switchable output stages in power amplifiers |
| US9628082B1 (en) * | 2014-07-01 | 2017-04-18 | Xilinx, Inc. | Strength-adjustable driver |
| US20200007082A1 (en) * | 2018-06-29 | 2020-01-02 | Advanced Micro Devices, Inc. | Clock synthesizer with integrated voltage droop detection and clock stretching |
| US10790747B1 (en) * | 2019-10-07 | 2020-09-29 | Analog Devices International Unlimited Company | Inductor current shunt for mitigation of load dump transients in DC-DC regulators |
| US20210118476A1 (en) * | 2019-04-03 | 2021-04-22 | Micron Technology, Inc. | Driver Circuit Equipped With Power Gating Circuit |
| US11068435B2 (en) * | 2019-01-28 | 2021-07-20 | Texas Instruments Incorporated | Serial bus signal conditioner |
| US20220190936A1 (en) * | 2020-12-15 | 2022-06-16 | Samsung Electronics Co., Ltd. | Translation device, test system including the same, and memory system including the translation device |
| US20230253183A1 (en) * | 2015-02-18 | 2023-08-10 | Reno Technologies, Inc. | Switching circuit |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7936830B2 (en) | 2003-05-29 | 2011-05-03 | Maxim Integrated Products, Inc. | Active rectifier with load impedance switching |
| WO2007005005A1 (en) | 2005-06-29 | 2007-01-11 | The Regents Of The University Of California | Electrical signaling via differential transmission line |
| CN202634471U (en) | 2009-03-27 | 2012-12-26 | 拉姆伯斯公司 | Voltage mode transmitter equalizer |
-
2022
- 2022-12-08 US US18/063,434 patent/US12021577B1/en active Active
Patent Citations (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20130321095A1 (en) * | 2012-05-11 | 2013-12-05 | Skyworks Solutions, Inc. | Low-loss high-isolation switching architecture |
| US20160020732A1 (en) * | 2014-05-28 | 2016-01-21 | Skyworks Solutions, Inc. | Systems and methods related to switchable output stages in power amplifiers |
| US9628082B1 (en) * | 2014-07-01 | 2017-04-18 | Xilinx, Inc. | Strength-adjustable driver |
| US20230253183A1 (en) * | 2015-02-18 | 2023-08-10 | Reno Technologies, Inc. | Switching circuit |
| US20200007082A1 (en) * | 2018-06-29 | 2020-01-02 | Advanced Micro Devices, Inc. | Clock synthesizer with integrated voltage droop detection and clock stretching |
| US11068435B2 (en) * | 2019-01-28 | 2021-07-20 | Texas Instruments Incorporated | Serial bus signal conditioner |
| US20210118476A1 (en) * | 2019-04-03 | 2021-04-22 | Micron Technology, Inc. | Driver Circuit Equipped With Power Gating Circuit |
| US10790747B1 (en) * | 2019-10-07 | 2020-09-29 | Analog Devices International Unlimited Company | Inductor current shunt for mitigation of load dump transients in DC-DC regulators |
| US20220190936A1 (en) * | 2020-12-15 | 2022-06-16 | Samsung Electronics Co., Ltd. | Translation device, test system including the same, and memory system including the translation device |
Also Published As
| Publication number | Publication date |
|---|---|
| US12021577B1 (en) | 2024-06-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11914973B2 (en) | Performing multiple bit computation and convolution in memory | |
| US11688437B2 (en) | Amplifier offset cancelation | |
| US12021577B1 (en) | Serial communication link driver circuit with switchable shunt circuit | |
| US20250260553A1 (en) | Hybrid Serial Receiver Circuit | |
| US10756849B2 (en) | Self referenced single-ended chip to chip communication | |
| US20250149984A1 (en) | Power Converter Circuit For Use with Multiple Low-Current Power Rails | |
| US20240396452A1 (en) | Regulator Switch Array | |
| US20250184111A1 (en) | Serial Data Receiver with Even/Odd Mismatch Compensation | |
| JP6293924B2 (en) | System and method for frequency control on a bus by superposition | |
| US20240305246A1 (en) | Switching Amplifier Circuits with Supply Tracking | |
| US20240283450A1 (en) | Bootstrapped Multiplex Circuit | |
| US20240192761A1 (en) | High-Speed Multi-Standard Sampler Circuit | |
| US11502880B1 (en) | Baseline wander cancelation | |
| US12028077B1 (en) | Phase detector circuit for multi-level signaling | |
| US12456969B2 (en) | Data detection on serial communication links | |
| US12388455B2 (en) | Piecewise linear digital-to-analog converter circuit | |
| US12332679B2 (en) | High output impedance current mirror circuit | |
| US11757681B1 (en) | Serial data receiver circuit with dither assisted equalization | |
| US20260052003A1 (en) | Characterization of communication links | |
| KR20150093262A (en) | Transmitting circuit and transceiver including the same | |
| US11223354B2 (en) | Low current, wide range input common mode LVDS receiver devices and methods |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: APPLE INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ZHANG, YUDONG;MAHESHWARI, SANJEEV K.;WANG, CHARLES L.;SIGNING DATES FROM 20221202 TO 20221204;REEL/FRAME:062030/0288 |
|
| STCF | Information on status: patent grant |
Free format text: PATENTED CASE |