MSI components

Complete

Summary

Active high/low

  • active high - normal outputs: true is high
  • active low - negated outputs: true is low

Constructing decoders

  • use two smaller decoders with the additional input and its negation to the enables

larger_decoder.png

watch for whether the decoders are 1-enable or 0-enable

Constructing multiplexers

  • use the MSB to discriminate between the outputs of two smaller multiplexers on the other bits

larger_mux.png

Concept

Decoders

  • n-bit BCD to 2ⁿ ouputs
  • each output is a minterm
  • 2:4 decoder:
000001
010010
100100
111000
  • 2:4 decoder with 1-enable:
0XX0000
1000001
1010010
1100100
1111000

Encoder

  • 2ⁿ inputs to n-bit BCD
  • only one input can be 1
  • 4:2 encoder:
0000XX
000100
001001
010010
100011
  • 4:2 encoder with 1-enable:
0XXXXXX
10000XX
1000100
1001001
1010010
1100011

Priority encoders

  • encoders that allows for multiple 1s in the input
  • encode the MSB to the output
0000XX0
0001001
001X011
01XX101
1XXX111

Demultiplexer

  • 1-bit in, n-bit selector to 2ⁿ ouputs
  • equivalent to a decoder with enable, using the enable as the input

Multiplexer

  • 2ⁿ inputs to n-bit BCD, n-bit selector
  • 4:1 multiplexer:

4-1_mux.png

00
01
10
11
  • 4:1 multiplexer with 0-enable:
1XX0
000
001
010
011

Application

Implementing functions with decoders

  • join the select outputs by some logic gate

using the convention that high is 1

Implementing functions with multiplexers

  • supply 1 if the input corresponds to a minterm in the function

74151A 8:1 multiplexer

  • 0-enable

74151A_8-1_mux.png

XXXHLH
LLLL
LLHL
LHLL
LHHL
HLLL
HLHL
HHLL
HHHL

Implementing functions using smaller multiplexers

  • 8:1 multiplexer using a 4:1

smaller_mux.png