MSI Circuits
Minterm=> Multiplication of the terms (ie x.y)
Maxterms => Addition of terms (ie x+y)
Decoder (n*m)
Selects n input and have m output
Represent up to 2^n unique elements
m < =2^n
m < =2^n
Output will just high to the binary that is connected to the input.
Internal Wiring
The output of the decoder corresponds to minterms.
We can use the decoder to make a full adder but it might not be efficient.
General scheme
A boolean fun in sum of minterms can be implemented with an or gate to for the sum
Any combi circuits with
m inputs and m outputs can be implemented by 1 decoder (2^n) and m [or gates]
m inputs and m outputs can be implemented by 1 decoder (2^n) and m [or gates]
Decoder with enable
Only activate when the enable is high
We supply the enable signal with an and gate. This will ensure that the output will only be true when its high. (1 enable)
Larger Decoders
Can use smaller decoders to build larger decoders.
Key idea: To use the msb as the control signal.
e.g if W needs a 0, we will use a not gate to a 1-enable decoder.
4-16 Decoder
We can use 2 3X8 Decoder with one enable to have this.
We can use a and gate to an extra enable signal to the enable input such that
we can choose when to on/off decoder
Variants
- Zero enable
Enables at 0
- One enable
Enables at 1
- Normal (Active high)
Output high when selected
- Negated (Active Low)
Output low when selected
Standard MSI Decoder
Encoder (2^m to m)
n input, m output
There will always be n = 2^m inputs.
Only one input should be activated at one time.
4 to 2 Encoder
Any cases that have 2 inputs that are activated or all 0, it will be a don't care output.
- Uses only one or gate
8 to 3 encoder
We can use eye power on the tt to decide what the encoder is.
Priority Encoder
Handle dont care situation where if a certain priority input is one, regardless of if the other input is high, it will be selected.
There will be a v bit to show if the output is valid.
The don't care X in the input must be interpret as both 0 and 1
There will always be n = 2^m inputs.
Only one input should be activated at one time.
4 to 2 Encoder
Any cases that have 2 inputs that are activated or all 0, it will be a don't care output.
- Uses only one or gate
8 to 3 encoder
We can use eye power on the tt to decide what the encoder is.
Priority Encoder
Handle dont care situation where if a certain priority input is one, regardless of if the other input is high, it will be selected.
There will be a v bit to show if the output is valid.
The don't care X in the input must be interpret as both 0 and 1
Multiplexer (Data selector)
Has n selection signal to drives the input
2^n inputs
1 output line
Multiple input and route to one.
Applying mux using decoder
- Save fan in
The mux output is the sum of the product of data lines and selection lines
Decoder's input is the selects
The answer is the sum of all the (product with the input of mux and outputs of decoder)
There is no need for an enable.
M to 1 mux
N:M decoder
M AND gates
1 Or gate
Larger Mux
Each output for every mux can be fit into another mux with MSB select selecting the value.
Standard MSI Mux
Strobe is like an enable
Variant MSI Mux IC
Quadruple 2:1 Mux
Quadruple = 4 sep mux
2:1= 2 to 1 input
Implementing MUX
We can use mux to implement boolean function.
1. Express in sop form
2. Connect n variables to the n selection lines
3. Put a 1 on a data line if its a minterm of the function.
0 if otherwise
i.e Just plug in the f output into the mux directly
Using a smaller size mux to implement a large function
e.g 8 inputs can use a 4 to 1
Express function in sum of minterms
1. Reserve one variable input as the driver, the rest as selection
2. Group the tables according to selection
3. Look for patterns
- look at F and compare with similarities with the driver while in groups of selection
1 output line
Multiple input and route to one.
Applying mux using decoder
- Save fan in
The mux output is the sum of the product of data lines and selection lines
Decoder's input is the selects
The answer is the sum of all the (product with the input of mux and outputs of decoder)
There is no need for an enable.
M to 1 mux
N:M decoder
M AND gates
1 Or gate
Larger Mux
Each output for every mux can be fit into another mux with MSB select selecting the value.
Standard MSI Mux
Strobe is like an enable
Variant MSI Mux IC
Quadruple 2:1 Mux
Quadruple = 4 sep mux
2:1= 2 to 1 input
Implementing MUX
We can use mux to implement boolean function.
1. Express in sop form
2. Connect n variables to the n selection lines
3. Put a 1 on a data line if its a minterm of the function.
0 if otherwise
i.e Just plug in the f output into the mux directly
Using a smaller size mux to implement a large function
e.g 8 inputs can use a 4 to 1
Express function in sum of minterms
1. Reserve one variable input as the driver, the rest as selection
2. Group the tables according to selection
3. Look for patterns
- look at F and compare with similarities with the driver while in groups of selection
Demultiplexer (n to m)
Have n inputs
Have m = 2 ^s, where s is the number of select input to drive the output
Have m = 2 ^s, where s is the number of select input to drive the output