Wint05 Exam2
Wint05 Exam2
Using MUXs to implement logic Using ROMs to implement logic Timing Analysis The internal structure of flip-flops Flip-flop timings Rising and falling edge triggered flip-flops
Z = AB + BC
AB C
0 1 00 01 11 10
I0 I1 4-to-1
MUX
0 0
1 1
1 0
0 0
I2 I3
Z = AB + BC
AB C
0 1 00 01 11 10
0 1
I0 I1 4-to-1
MUX
0 0
1 1
1 0
0 0
I2 I3
Z = AB + BC
AB C
0 1 00 01 11 10
0 1
I0 I1 4-to-1
MUX
0 0
1 1
1 0
0 0
I2
I3
Z = AB + BC
AB C
0 1 00 01 11 10
0 1 0 C
I0 I1 4-to-1
MUX
0 0
1 1
1 0
0 0
I2 I3
An alternate method
Z = AB + BC
A=0 B=0 A=0 B=1 A=1 B=0 A=1 B=1
Z = 1 0 + 0 C = 0 Z = 1 1 + 1 C = 1 Z = 0 0 + 0 C = 0 Z = 0 1 + 1 C = C
0 1 0 C
I0 I1 4-to-1
MUX
I2 I3
A 0 0 0 0 1 1 1 1
B 0 0 1 1 0 0 1 1
C 0 1 0 1 0 1 0 1
A 0 0 0 0 1 1 1 1
B 0 0 1 1 0 0 1 1
C 0 1 0 1 0 1 0 1
F 0 0 1 0 0 0 1 1
A 0 0 0 0 1 1 1 1
B 0 0 1 1 0 0 1 1
C 0 1 0 1 0 1 0 1
F 0 0 1 0 0 0 1 1
G 1 1 1 0 1 0 1 0
A 0 0 0 0 1 1 1 1
B 0 0 1 1 0 0 1 1
C 0 1 0 1 0 1 0 1
F 0 0 1 0 0 0 1 1
G 1 1 1 0 1 0 1 0
H 0 1 0 0 1 0 1 0
Timing Analysis
A B=1 C=1 D
A B AB E C D CD F E+F X
E X F
Timing Analysis
A B=1 C=1 D
A B AB E C D CD F E+F X
E X F
Timing Analysis
A B=1 C=1 D
A B AB E C D CD F E+F X
E X F
Timing Analysis
A B=1 C=1 D
A B AB E C D CD F E+F X
E X F
Timing Analysis
A B=1 C=1 D
A B AB E C D CD F E+F X
E X F
Timing Analysis
A B=1 C=1 D
A B AB E C D CD F E+F X
E X F
Timing Analysis
A B=1 C=1 D
A B AB E C D CD F E+F X
E X F
D Q Q
CLK
D-type Flip-Flop
Q T Q
CLK
T-type Flip-Flop
J
Q
CLK
JK-type Flip-Flop
CLK
CLK D Q
tCLK Q
time
CLK
tsetup
CLK D Q
time
D
Q
thold = tNOT
CLK
time
tsetup
CLK D Q
tCLK Q
time
CLK
CLK
001
100
110
011
000
Q2 Q1 Q0 N2 N1 N0 0 0 1 1 0 0 1 1 0 0 0 1 1 1 0 1 0 1 0 0 1 0 1 1 0 1 1 0 0 X X X 0 0 1 1 0 X X X 1 0 0 1 0 X X X
N2 = Q2 Q1 + Q1 Q0 N1 = Q2 N0 = Q2 Q0 + Q1 Q0
T 0 0 1 1
Q 0 1 0 1
Q+ 0 1 1 0
Q 0 0 1 1
Q+ 0 1 0 1
J 0 1 x x
K x x 1 0
Q 0 0 1 1
Q+ 0 1 0 1
T 0 1 1 0
WXYZ = 0010, 0110, 0011, 0101, 1100, 1000, 1001, 1101, 1110, 0010
Q2 Q1 Q0
D Q
Initial state
0
0 1 1
0
0 0 1
0
1 0 0
Q2
D Q
Q2 Q0
CLK
Q1
Q0
D Q
Q0
CLK
Delay Logic
Moore Function of Current State Only Outputs Available After Clock Transition (plus Gate Delays) Output Delayed One Clock Cycle Requires more
Mealy Function of Current State and Current Inputs Outputs Available Anytime (After Inputs Stabilize) Output Available on Current Clock Cycle Requires less
Steps:
1. Determine the delay through the Flip Flops 2. Determine the delay through the IFL (max) 3. Add in setup time 4. Determine the smallest clock period possible 5. Max frequency = 1 -----------------clock period
selbar
a1 a2
Arithmetic *, /, +, % Logical ! && || Bitwise ~ & | ^ ~^ Relational <, >, <=, >= Equality ==, != Reduction & ~& | ~| ^ ~^ Shift << >> Concat { } Replicate { { } } Cond ?:
As expected Modulo Logic NOT Logic AND Logic OR Bitwise NOT Bitwise AND Bitwise OR Bitwise XOR Bitwise XNOR As expected As expected Red. AND Red. NAND Red. OR Red. NOR Red. XOR Red. XNOR Left shift Right shift Concatenate Replicate As expected
module mux21(q, sel, a, b); input sel, a, b; output q; assign q = sel?b:a; endmodule
a b c d
mux41
tmp1
sel[1] mux21 q
tmp2