Three-state buffers

# Three-state buffers

## Three-state buffers

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
##### Presentation Transcript

1. Three-state buffers • Output = LOW, HIGH, or Hi-Z. • Can tie multiple outputs together, if at most one at a time is driven.

2. Different flavors

4. Timing considerations

5. Three-state drivers

6. Driver application

7. Three-state transceiver

8. Transceiver application

9. Three-state enables in ABEL

10. Decoder Encoder Encoders vs. Decoders

11. Binary encoders

12. Need priority in most applications

13. 8-input priority encoder

14. Priority-encoder logic equations

15. 74x148 8-input priority encoder • Active-low I/O • Enable Input • “Got Something” • Enable Output

16. 74x148circuit

17. 74x148 Truth Table

18. Cascading priority encoders • 32-inputpriority encoder

19. 15-input priority encoder in ABEL • Declarations

20. Constant expressions

21. Outputs

22. Alternative formulation • WHEN is very natural for priority function

23. Multiplexers

24. 74x1518-input multiplexer

25. 74x151 truth table

26. CMOS transmission gates • 2-input multiplexer

27. Other multiplexer varieties • 2-input, 4-bit-wide • 74x157 • 4-input, 2-bit-wide • 74x153

28. ABEL code for 74x153-like mux

29. Easier ABEL multiplexer code

30. Barrel shifter design example • n data inputs, n data outputs • Control inputs specify number of positions to rotate or shift data inputs • Example: n = 16 • DIN[15:0], DOUT[15:0], S[3:0] (shift amount) • Many possible solutions, all based on multiplexers

31. 16 16-to-1 muxes 16-to-1 mux = 2 x 74x151 8-to-1 mux + NAND gate

32. 4 16-bit 2-to-1 muxes 16-bit 2-to-1 mux = 4 x 74x157 4-bit 2-to-1 mux

33. Properties of different approaches

34. ABEL code for barrel shifter 20 inputs 16 outputs 16 product terms per output