Title: Three-state buffers
1Three-state buffers
- Output LOW, HIGH, or Hi-Z.
- Can tie multiple outputs together, if at most one
at a time is driven.
2Different flavors
3Manual Page Link
4Timing considerations
5Three-state drivers
6Driver application
7Three-state transceiver
8Transceiver application
9Three-state enables in ABEL
10Encoders vs. Decoders
11Binary encoders
12Need priority in most applications
138-input priority encoder
14Priority-encoder logic equations
1574x148 8-input priority encoder
- Active-low I/O
- Enable Input
- Got Something
- Enable Output
1674x148circuit
1774x148 Truth Table
18Cascading priority encoders
1915-input priority encoder in ABEL
20Constant expressions
21Outputs
22Alternative formulation
- WHEN is very natural for priority function
23Multiplexers
2474x1518-input multiplexer
2574x151 truth table
26CMOS transmission gates
27Other multiplexer varieties
- 2-input, 4-bit-wide
- 74x157
- 4-input, 2-bit-wide
- 74x153
28ABEL code for 74x153-like mux
29Easier ABEL multiplexer code
30Barrel shifter design example
- n data inputs, n data outputs
- Control inputs specify number of positions to
rotate or shift data inputs - Example n 16
- DIN150, DOUT150, S30 (shift amount)
- Many possible solutions, all based on multiplexers
3116 16-to-1 muxes
16-to-1 mux 2 x 74x151 8-to-1 mux NAND gate
324 16-bit 2-to-1 muxes
16-bit 2-to-1 mux 4 x 74x157 4-bit 2-to-1 mux
33Properties of different approaches
34ABEL code for barrel shifter
20 inputs 16 outputs 16 product terms per
output