2022-10-31 21:25
Tags:
# Current Scaling DACs
## Binary Transistor DAC
We prefer to use small transistors since resistors are expensive [on-chip components](On-chip%20Components.md).
Can repeat the binary resistor based DAC.

### Advantages
- Don't need the same voltage across the current source (if the output impedance is high enough) meaning you don't need a buffer on the output and can use the line as an output.
If you want a voltage output, you can put it into a transresistance amplifier (a buffer with a resistor)

### Disadvantages
Same as other binary coded converters
- Large ratio in currents between MSB and LSB
- Subject to sever non-linearity like [Differential Non-linearity](Differential%20Non-linearity.md) (max when MSB changes)
### Implementation
Transistor in saturation acts as the current source.
Common to put a [cascode](cascode.md) on the current source when using it to drive current so it has a high output impedance.

Scaling the widths means the MS Transistor will be very large.
Solution: [Thermometer encoded current steering DAC](#Thermometer%20encoded%20current%20steering%20DAC)
## Thermometer encoded current steering DAC

Never switch any current sources out (like a thermometer always goes up).
Once you set a bit it never gets reset.
Truth Table:

### Advantages
- Monotoneous
- All current sources have the same small size.
## Disadvantages
- More complicated to control (thermometer decoding needed)
## Segmented Current Steering DAC
Assume the error current is 1/2 an LSB, i.e. $\Delta I_{error} < \frac{1}{2}I_{LSB} = \frac{I}{2^N}$
Then the worst case allowed error for any current source is 1/2 an LSB (ignoring the aggregate error - actually tolerate less than this).
Error on the LSB source is $\frac{I/2^N}{I/2^{N-1}}=\frac{1}{2}$
Error on the MSB source is $\frac{I/2^N}{I}=\frac{1}{2^N}$ which is needs very very high accuracy (e.g. less than 0.5% for an 8-bit converter).
Very difficult to achieve (thus worst case [Differential Non-linearity](Differential%20Non-linearity.md) occurs here).
Since the thermometer encoded DAC is monotoneous, it is common to combine a thermometer (MSB) with a binary coded DAC.
### Circuit
Split it up into M MSB's and L LSB's, then $N=M+L$.

Combination of the good properties (good [Differential Non-linearity](Differential%20Non-linearity.md) with the simplicity of the binary DAC).
### Ex. 10 bit DAC
Couldn't do all in thermometer since 1024 current sources.
Instead have 5 thermo then the rest binary.
## Signed Current Steering DAC
Might want a positive or negative output DAC.
Very easy - just point the MSB current source in the other direction! (sources current into the node instead of sinking it).

Thus the weight of the MSB is multiplied by -1.
$I_{out}=-I\cdot B_{N-1}+\sum_{n=0}^{N-2}\frac{I}{2^{N-1}}\cdot 2^n\cdot B_n$
### MSB Switch implementation
The MSB Switch would be PMOS transistors to source current.

[^1]
---
# References
[^1]: [vr-4602-wk07-sc03-daciscale](../../Spaces/University/ELEC4602%20–%20Microelectronics%20Design%20and%20Technology/Lectures/W7/vr-4602-wk07-sc03-daciscale.mp4)