Employing terminated transmission lines as an interconnection method offers numerous system-level benefits compared to driving capacitive loads. The wire behaves as a resistive load on the output pad, enabling the signal rise time at the pad controlled by the speed of the internal transistor drive, rather than the RC time constant of the output transistor resistance and the external capacitive load. Additionally, the rise time at the output pad is transmitted to the receiving end without distortion. he use of series termination in driving transmission lines is a widely recognized technique, Fig. 1, that positions the line termination at the driving end rather than at the receiving end. This approach involves placing a series resistor, matching the line impedance, in line with the voltage source driver. With an infinite line, the line can be modeled as a resistance equivalent to its impedance connected to a voltage source equal to the idle state of the line. Together, the termination resistor and the equivalent line resistance create a voltage divider with an initial step waveform 1 resulting in a forward-propagating voltage step waveform 2 with an amplitude equal to half the driver voltage swing. With a finite line, this half-amplitude forward-propagating wave reflects entirely, producing waveform 3, upon reaching the open, unterminated end of the line. Resulting in a backward-propagating wave with half-amplitude, traveling back toward the driver.
At the unterminated end of the line, the superposition of the forward and reflected backward waves creates a full-amplitude logic swing at that specific point on the line. When the backward-propagating wave reaches the driver, it is completely absorbed. At the driving end of the transmission line, the waveform forms a stair-step, remaining at the half-amplitude for the round-trip delay of the transmission line. Power is dissipated in the termination resistors solely during the round-trip delay on the line. In a static state, no power is consumed, and no current flows because there is no voltage drop across the resistor. The waveform on the transmission line accurately mirrors the driver waveform only at the end of the transmission line, making this termination approach suitable primarily for point-to-point communication [4]. Matching the output impedance of a signal driver to the characteristic impedance of the transmission line it drives, is crucial for preventing signal reflections caused by voltage level transitions at the pad. This matching helps to avoid unwanted signal degradation, ensuring reliable signal transmission. Impedance matching poses several challenges. First, the process variations inherent in integrated circuit manufacturing, such as the transistor implanting doping levels, effective channel lengths of MOSFET’s, gate oxide thickness, and diffusion resistance, can cause the output impedance of two supposedly identical circuits to differ. In particular, variations in any or all of the above process parameters can result different integrated circuits intended to perform the same function to be categorized as slow, nominal, or fast. In other words, two seemingly identical integrated circuits can differ in any or all of the process parameters. When the parameters approach the fast case, the resistance of various components within the chip decreases. Conversely, as the parameters deviate further and further from the ideal case, performance of the chip deteriorates, and particularly the resistance of the chip's components increases, which is referred to as the slow case. Furthermore, variations in voltage and temperature can lead to variations in the output impedance of a given chip. For instance, the driver output impedance can differ noticeably between variations in the operating voltage, even within a small operating voltage tolerance range. Additionally, as the integrated circuit nears its maximum operating temperature, the resistance of the integrated circuit components increases. To address these challenges, variable impedance output drivers have been developed to enable adjustments to the driver output impedance due to manufacturing process, voltage, and temperature (PVT) variations.
Controlled impedance CMOS output drivers can be either current controlled or voltage controlled. Current controlled drivers employ analog voltages to control gate voltages which in turn controls the FET operating current, and thus resistance, of an output driver. Voltage controlled drivers use discrete logic levels to turn combinations of driver FETs on and off. By using various combinations of operating driver FETs, effective FET width is controlled and thus the FET resistance is programmable. Current, or analog, controlled drivers are sensitive to noise. Voltage controlled, or digitally controlled, output drivers offer higher noise immunity due to their discrete operating nature and as such their calibration schemes are easier to implement and manage [5]. The focus of this paper will center on voltage controlled output drivers.
An output driver unit can be implemented using a simple driver, as depicted in Fig. 2 (a). However, such drivers exhibit nonlinear behavior, due to transistor characteristics, throughout their operating range. As the gm (transconductance) of the transistor varies with the output voltage. In high-speed communication systems, transmit termination is essential to prevent signal reflection issues. Thus, a driver unit with a linear response across its entire operating range is preferred. The basic structure of a Source Series Termination (SST) output driver unit, shown in Fig. 2 (b), addresses this need. The term source in SST highlights the fact that the transmitter can be considered as self-terminated to fully absorb any reflected signals from the receiving end [6]. The output stage of the driver unit is subdivided into pull-up and pull-down branches, consisting of PMOS or NMOS switch transistors followed by series termination resistors R. In SST, a series resistor is used to improve impedance linearity and to minimize the range of impedance variation of the output buffer across simulation corners. Each branch is impedance matched to the transmission line impedance. In contrast to the traditional SST driver topology, which incorporates two resistors, our design employs a single series resistor between the transistors and PAD in Fig. 2 (c). This configuration cuts the parasitic capacitance associated with the resistor by making the number of the resistors half. The node where the resistor is connected to the driver is always driven either by NMOS or PMOS, reducing the node’s charging and discharging time [7].
The sum of the impedance of the driver's transistor and series resistor is equal to the line impedance. Increasing the percentage impedance proportion of the series resistor relative to the transistors from 50%, 75% to 90%, the output impedance response flattens, but at the cost of dramatically increasing the output capacitance. The series resistor is sized to yield about 85% of the overall impedance and this can limit the non linearity of the driver to less than 15% over its full range.
An optimal value of the resistance 1.8 KΩ is chosen depending on area constraints versus the linearity desired. The PAD terminal is usually connected to the transmission line of impedance assuming Z0 and it is crucial that the impedance offered by the driver output matches with Z0 (impedance matching) to reduce the effects of unsettled signal ringing due to reflections. Since the transmission line impedance and driver impedance act as potential dividers, the voltage at the PAD will be half the IO supply
. The number of fins, fingers and widths of the PMOS and NMOS are decided based on DC simulations by connecting PAD to a voltage sources of
and turning one of the two transistors on. Measure the current through the PAD and using ohm law find the output impedance. The experiment is repeated for deciding the size of the other transistor. The width of the FETs is fixed based on which value of the widths gives the appropriate impedance matching Z0 at the output at the nominal condition.
Variable impedance output drivers often employ a pure thermometer code for PVT impedance matching control to limit the change in output impedance when the PVT control code is updated. Specifically, the impedance networks utilize a thermometer code where a nth-order signal Wn is activated (set to 1) all of the lower-order signals W1 to Wn-1 are also activated. In such a circuit, a first FET leg is activated and then each subsequent FET leg is activated until the desired output impedance is achieved. Consequently, at least one leg remains active at all times to ensure that during the switching of FET legs on or off, the FET legs are never switched from all off to all on or vice versa, which would result in a spike in the output impedance. Table I presents a pure 6-bit thermometer code, where each bit from 0 to 5 in the code word W corresponds to a 20% incremental step in admittance (Y).
TABLE I 6-bit thermometer code
|
W5
|
W4
|
W3
|
W2
|
W1
|
W0
|
Y= 1/Z
|
Z
|
|
0
|
0
|
0
|
0
|
0
|
1
|
1
|
1
|
|
0
|
0
|
0
|
0
|
1
|
1
|
1+0.2
|
0.833
|
|
0
|
0
|
0
|
1
|
1
|
1
|
1+0.4
|
0.714
|
|
0
|
0
|
1
|
1
|
1
|
1
|
1+0.6
|
0.625
|
|
0
|
1
|
1
|
1
|
1
|
1
|
1+0.8
|
0.555
|
|
1
|
1
|
1
|
1
|
1
|
1
|
1+1
|
0.5
|
The controllable range of sensitivity of output impedance is limited between 1 and 0.5, as illustrated in the thermometer code table I example. The admittance is incremented by 0.2 or 20% for each step, which require one bit in thermometer code for each step. So, one of the disadvantage of a pure thermometer code is the substantial number of bits and therefore control lines needed to support a wide range of output impedance. As the required step sensitivity increases, the number of control lines grows exponentially. For instance, if the goal is to adjust the admittance by just 1% to enhance the sensitivity of each step, the PVT control circuit would need 101 control lines – twenty times the number of lines required to adjust it to the 20% increments. Alternatively, to expand the adjustable output impedance range from 1 to 0.25, as illustrated in table I, where each step alters the admittance by 20%, an extra ten bits or control lines would be needed. While a broader sensitivity range for adjusting the PVT output impedance is beneficial, the number of bits needed to achieve a substantial range of sensitivity using a pure thermometer code becomes excessive due to the increased design complexity and the additional chip area required for its implementation. One alternative to the issues associated with a pure thermometer code is the use of a pure binary weighted code. In this approach, each leg of the PVT control circuit consists of a resistive device with an admittance that corresponds to its specific binary weighted bit position. In other words, each leg has an admittance of 2(bit position) Y, where Y is a predefined minimum admittance suited to the design. According to the binary weighted code, if bit 0 of the calibration word controls a FET with admittance Y, bit 1 controls a FET with admittance 2*Y, bit 2 controls a FET with admittance 4*Y, and so forth. In effect, as the calibration word’s binary count increases, additional resistors are added in parallel to the driver FET array, causing the output impedance (Z) to decrease. Table II provides an example of a binary weighted code. Table II demonstrates the advantage of employing a binary weighted code in its ability to achieve a wider range of output impedance with fewer bits (or PVT control lines). However, in a pure binary weighted code, a step-wise increment does not guarantee that all the legs that are activated will stay activated in the subsequent step. For instance, consider the current binary weighted calibration code as 0111 (representing an admittance of 0.7), and the code needs to be incremented to 1000 (corresponding to an admittance of 0.8). When the electrical connections switch from 0111 to 1000, it is possible that for a brief moment, the switches may be in a state where all the FETs are either turned off or turned on (corresponding to a PVT code of 1111 or 0000, respectively). This can cause an undesirable spike in the output impedance seen on the signal pad. In this case, as shown in table II, the output impedance might momentarily shift from Z=1.429 (admittance of 0.7) to Z=0.667 (admittance of 1.5, all 1s), or from Z=1.429 (admittance of 0.7) to Z=infinity (admittance of ∞, all 0s). Therefore, there is a requirement for a PVT control encoding method that enables a broader output impedance range with fewer control lines, while also preventing spikes in the output impedance on the signal pads.
TABLE II 4-bit binary weighted code
|
W3
|
W2
|
W1
|
W0
|
Y= 1/Z
|
Z
|
|
0
|
0
|
0
|
0
|
0
|
∞
|
|
0
|
0
|
0
|
1
|
0.1
|
10
|
|
0
|
0
|
1
|
0
|
0.2
|
5
|
|
0
|
0
|
1
|
1
|
0.3
|
3.333
|
|
0
|
1
|
0
|
0
|
0.4
|
2.5
|
|
0
|
1
|
0
|
1
|
0.5
|
2
|
|
0
|
1
|
1
|
0
|
0.6
|
1.667
|
|
0
|
1
|
1
|
1
|
0.7
|
1.429
|
|
1
|
0
|
0
|
0
|
0.8
|
1.25
|
|
1
|
0
|
0
|
1
|
0.9
|
1.111
|
|
1
|
0
|
1
|
0
|
1.0
|
1
|
|
1
|
0
|
1
|
1
|
1.1
|
0.909
|
|
1
|
1
|
0
|
0
|
1.2
|
0.833
|
|
1
|
1
|
0
|
1
|
1.3
|
0.769
|
|
1
|
1
|
1
|
0
|
1.4
|
0.714
|
|
1
|
1
|
1
|
1
|
1.5
|
0.667
|
Driver design is performed at the beginning of the IO transmitter design. Driver consist of a large PMOS and NMOS transistor to drive large external capacitance. The sizing of these transistors determine the current driving capability of the output buffer. As drivers interact with the external world and drive the off-chip loads of pF would require a strong drive strength [2]. To achieve the necessary current strength, the driver's dimensions are increased, which makes it challenging for a single pre-driver to drive it effectively. Additionally, channel reflections necessitate proper impedance matching between the driver and the PCB channel to maintain signal integrity. To address these issues, the output driver is segmented and a driver segment compose of linear-weighted driver slices (static/ anchor legs) and binary-weighted driver slices (dynamic legs) to enable the control on its impedance through multiple pre-drivers [8]. Proposed programmable IO driver design has total 3 segments. Each segment has identical pre driver, slew rate control and driver blocks. Each segment is controlled independently using a segment enable signal. In a driver segment, there are static and dynamic legs. Static or anchor legs are always turn on (depending on data) to provide impedance close to the characteristic impedance of the transmission line, while dynamic legs are turned on in parallel with anchor legs to fine-tune the impedance to match with transmission line impedance across PVT conditions. Fig. 3 shows seven equal-size anchor legs in a driver segment. Anchor legs are thermometer coded. Dynamic legs have same structure as that in anchor legs, except that they are binary weighted. The driver slice consists of 1.8 KΩ series resistor between the pull-up/ down circuit and the PAD. Each anchor leg consisting of 3 identical driver slices making the equivalent series resistor of 600Ω. Dynamic legs are binary weighted 1(20), 2, 4 and 8 driver slices with equivalent series resistor values as 1800Ω, 900Ω, 450Ω and 225Ω respectively. Total 21 driver slices for anchor legs and 15 slices for dynamic legs in a driver segment. A driver segment of 7 anchor legs and 4 dynamic legs configured using a bit stream of 11 bits in size digital control word. Anchor legs bits form the MSB and dynamic legs bits form the LSB for this control word. An 11-bit control or configuration code, where each bit 0:10 of the word W corresponds to a specific setting that enables total effective resistance matching to the line termination impedance.
Table III illustrate the configuration details for both anchor and dynamic legs, with their equivalent resistor and drive capability values ensuring proper drive strength and impedance adjustments.
TABLE III 11-bits configuration code
|
W10
|
W9
|
W8
|
W7
|
W6
|
W5
|
W4
|
W3
|
W2
|
W1
|
W0
|
|
R/3
|
R/3
|
R/3
|
R/3
|
R/3
|
R/3
|
R/3
|
R/8
|
R/4
|
R/2
|
R
|
|
3*I
|
3*I
|
3*I
|
3*I
|
3*I
|
3*I
|
3*I
|
8*I
|
4*I
|
2*I
|
I
|
|
A7
|
A6
|
A5
|
A4
|
A3
|
A2
|
A1
|
D4
|
D3
|
D2
|
D1
|
*A stands for Anchor leg
*D stands for Dynamic leg
*R is the series resistor of a leg
*I is the drive strength of a leg
Output driver impedance matching is accomplished by programmable enabling a combination of anchor and dynamic legs FETs arranged in parallel whose combined impedance closely matches the characteristic impedance of the transmission line. It should be understood that switching devices PFET and NFET are alternately turned on and off to generate the desired output waveform. Additionally, while both devices PFET and NFET may be off to tri-state output PAD terminal, both devices will never be on simultaneously.
The design supports dynamic enablement and disablement of series and parallel termination for a bi directional IO in all IO banks. Dynamic ODT is a feature where dynamic parallel termination is enabled only when the bi-directional IO acts as a receiver and is disabled when it acts as a driver. Similarly, dynamic series termination is enabled only when the bi-directional IO acts as a driver and is disabled when it acts as a receiver, as shown in Fig. 4. This capability is beneficial for terminating any high-performance bi-directional signal path as signal integrity is optimized depending on the direction of the data. Additionally, dynamic ODT removes the requirement for external termination resistors when paired with memory devices like DDR3 SDRAM. This simplifies board layout and lowers overall costs. Dynamic ODT ensures effective line termination and impedance matching for both read and write buses. By removing the need for external resistors, it reduces component costs, conserves board space, and simplifies routing complexity.