--- author: Oldrich Pecak --- # Arithmetic circuits, multi-output circuits --- ## Multi-output circuits - basically multiple functions in one - some optimalizations can be done - most circuits are multi output --- ## Half adder - basic 1 bit adding - two outputs - can be built using 2 gates |A|B|X|Carry| |-|-|-|-----| |0|0|0|0| |0|1|1|0| |1|0|1|0| |1|1|0|1| --- ## Full adder - adds another input to half adder - carry in - two outputs - can be built using 5 gates or 2 half adders and a gate |Cin|A|B|X|Cout| |---|-|-|-|----| |0 |0|0|0| 0| |0 |0|1|1| 0| |0 |1|0|1| 0| |0 |1|1|0| 1| |1 |0|0|1| 0| |1 |0|1|0| 1| |1 |1|0|0| 1| |1 |1|1|1| 1| --- ## Extending to multiple bits - you can chain full adders - ripple carry adder - first (LSB) adder can be half only - one major problem with this approach