Combinatorial Logic

Multiplexers

rM drawing 2025-10-30-12.33.30.png

MUX2

Let xa,xb be address inputs and xc,xd,xe be data inputs
y=xa¯xb¯fy(0,0,xc,xd,xe+xe)+xa¯xbfy(0,1,xc,xd,xe)+
xaxb¯fy(1,0,xc,xd,xe)+xaxbfy(1,1,xc,xd,xe)

Fy1={xaxbxcxdxe0011011111110}

fy(0,0,xc,xd,xe)=xe
fy(0,1,xc,xd,xe)=0
fy(1,0,xc,xd,xe)=xd¯xe
fy(0,0,xc,xd,xe)=xc+xd¯xe+xdxe¯=xc+(xdxe)

a¯b¯e+ad¯e+abc+abde¯=a¯(b¯e)+a(d¯e+bc+bde¯)

ad¯e=ab¯d¯e+abd¯e
rM drawing 2025-10-30-12.44.54.png
For A0=b
D0=d¯e
D1=d¯e+c+de¯=c+d+e

Quiz next lecture

iterative circuits, multiplexers

We can convert it into a MUX4
rM drawing 2025-10-30-12.48.16.png

MUX3

let xa,xb,xe be address inputs and xc,xd data inputs
Pasted image 20251105231432.png
Pasted image 20251105231420.png
This can be turned into this circuit
Pasted image 20251105231519.png|400

MUX4

Pasted image 20251102232340.png

Example 1

Pasted image 20251105230909.png
this turned into

y=fy(xa,xb,xc,xd,xe)=xaxbxe+xaxdxe+xaxbxc+xaxbxdxe

and shown as
Pasted image 20251105231042.png|400
Now we choose x's with least DONTCARE as address inputs (xa,xb.xd,xe) and xc becomes a data input. Which turns into this beautiful mess
Pasted image 20251105231257.png

Example 2

Pasted image 20251103135647.png

Most frequent variables

b and e are most frequent, as they appear in every Y product
This means, we can use those inputs as select lines (addr. input)

Function for each MUX input

b=0,e=0Y=be=1I1=1
b=1,e=0Y=0+0+0=0I2=0
b=0,e=1Y=0+0+0=0I3=0
b=1,e=1Y=0+a+bI3=a+b

Decomposition

MUX decomposition is process of implementing a Boolean func for MUX
Choose some variables as MUX select lines and express function's output as function of those selections

Example
f(A,B,C)=(1,2,6,7)

Truth table

A B C f
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1

For each combined AB, express f as function of C

AB MUX input f(C)
00 D0 C
01 D1 C'
10 D2 C
11 D3 1
So f(A,B,C)=MUX(S=AB,D0=C,D1=C,D2=C,D3=1)

Hierarchical decomposition

Large MUX can be recursively decomposed into smaller MUXes
16:1 MUX can be build from four 4:1 MUXes and one 4:1 MUX to select among them
Any boolean func can be ultimately implemented only with 2:1 MUXes

Demultiplexer

rM drawing 2025-11-05-22.45.03.png|400