Professional Documents
Culture Documents
DSC 2
DSC 2
DSC 2
Discussion 2
02/02/2018
Agenda
● LUT as a MUX
● Boolean Algebra
● Timing
● FSM
LUT as a MUX
● What is a LUT?
● What is a MUX?
● How can you use a LUT as a MUX?
S
● Biggest MUX in a 5-LUT? 6-LUT?
I0
MUX
I1
LUT
Look-up table
Output Output
0 0 0 0 1 0 0 0
0 0 0 1 1 0 0 1
0 0 1 0 1 0 1 0
0 0 1 1 1 0 1 1
0 1 0 0 1 1 0 0
0 1 0 1 1 1 0 1
0 1 1 0 1 1 1 0
0 1 1 1 1 1 1 1
Outputs:
0
0
1
0
0
1
1
1
And repeated
Timing
4 things we care about (for now)
Propagation
delay
Combination logic propagation delay (max) - after this, the output stably represents
the function applied to the input
Combination logic contamination delay (min prop delay) - after this, the previous
output is no longer valid
Flip flops: set up time: time to keep input stable BEFORE clock edge
Hold time: time to keep input stable AFTER clock edge
Clock-to-Q: time until output of flip flop
Boolean Algebra
Basics
A+B A OR B 0+0=?
1+0=?
1+1=?
A+A=? A.A = ?
A+0=? A.0 = ?
De Morgan’s laws
~(AB) = ~A OR ~B
~A.~B = ?
Not a coincidence that the notation suggests behaviour in the manner we’re used to
with integers.
1.1 = 1
1+0=1
1 + 1 = 2 but in a
~(AB) = ~A OR ~B
~A.~B = ~~(~A.~B) = ~(A OR B)
Boolean Algebra
Basics
A+B A OR B 0+0=1
1+0=1
1 + 1 = 1 in F2/Z2/GF(2)
A+A=A A.A = A
A+0=A A.0 = 0
De Morgan’s laws
Not a coincidence that the notation suggests behaviour in the manner we’re used to
with integers.
1.1 = 1
1+0=1
1 + 1 = 2 but in a
~(AB) = ~A OR ~B
~A.~B = ~~(~A.~B) = ~(A OR B)
Truth Tables
● Quickly prove to you equivalence of expressions
● Canonically describe an expression (exhaustive proof)
● Require discipline and rigour
● Are your friend
In this circuit
Think of the algebra you’re used to. How do you simplify and solve, or expand, or
factor, to get it to look like something you want?
Don’t get hung up thinking through what it all means intuitively. It’ll probably slow you
down. Just do it a few times.
S
Y?
I0
MUX
Out F?
I1
X?
Finite State Machines
Moore vs Mealy?
Examples?