Professional Documents
Culture Documents
Digital Design Report
Digital Design Report
Group 2
YangYing
2017454072
1
Design
NOT:
Boolean expression:Y=~A
Theoretical Truth Table:
A Y
0 1
1 0
XNOR:
Boolean expression:Y=AB+~A~B
Theoretical Truth Table:
A B Y
0 0 1
0 1 0
1 0 0
1 1 1
NOR3:
Boolean expression:Y=~(A1+A0+B)
Theoretical Truth Table:
A1 A0 B Y
0 0 0 1
0 0 1 0
0 1 0 0
0 1 1 0
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 0
2
AND4:
Boolean expression:Y=A1A0B1B0
Theoretical Truth Table:
A1 A0 B1 B0 Y
0 0 0 0 0
0 0 0 1 0
0 0 1 0 0
0 0 1 1 0
0 1 0 0 0
0 1 0 1 0
0 1 1 0 0
0 1 1 1 0
1 0 0 0 0
1 0 0 1 0
1 0 1 0 0
1 0 1 1 0
1 1 0 0 0
1 1 0 1 0
1 1 1 0 0
1 1 1 1 1
3
Simulation
NOT Gate
4
XNOR Gate
5
NOR3 Gate
6
AND4 Gate
7
Data Analysis
NOT :
A Y(Simulation) Y(Theoretical)
0 1 1
1 0 0
The Simulation Truth table from the Input and Output Traces matches the theoretical truth table.
XNOR:
A B Y(Simulation) Y(Theoretical)
0 0 1 1
0 1 0 0
1 0 0 0
1 1 1 1
The Simulation Truth table from the Input and Output Traces matches the theoretical truth table.
NOR3:
A1 A0 B Y(Simulation) Y(Theoretical)
0 0 0 1 1
0 0 1 0 0
0 1 0 0 0
0 1 1 0 0
1 0 0 0 0
1 0 1 0 0
1 1 0 0 0
1 1 1 0 0
The Simulation Truth table from the Input and Output Traces matches the theoretical truth table.
8
AND4:
A1 A0 B1 B0 Y(Simulation) Y(Theoretical)
0 0 0 0 0 0
0 0 0 1 0 0
0 0 1 0 0 0
0 0 1 1 0 0
0 1 0 0 0 0
0 1 0 1 0 0
0 1 1 0 0 0
0 1 1 1 0 0
1 0 0 0 0 0
1 0 0 1 0 0
1 0 1 0 0 0
1 0 1 1 0 0
1 1 0 0 0 0
1 1 0 1 0 0
1 1 1 0 0 0
1 1 1 1 1 1
The Simulation Truth table from the Input and Output Traces matches the theoretical truth table.
9
HDL Code
NOT:
module NOT1 (input logic A ,
output logic Y);
assign Y= ~A;
endmodule
XNOR:
module XNOR2 (input logic A ,B,
output logic Y);
assign Y= ~(A^B);
endmodule
NOR3:
module NOR3 (input logic A1,A0,B,
output logic Y);
assign Y=~(A1|A0|B);
endmodule
AND4:
module AND4 (input logic A1 , A0 , B1, B0
output logic Y);
assign Y= A1∙A0∙B1∙B0 ;
endmodule
10
Cover Page
Group 2
YangYing
2017454072
1
Design
a)
NOT Gate
input: A
output:Y
Boolean expression:Y=~A
Circuit schematic:
K-map:
A
~A A
1 0
Boolean simplification:
Y=~A
2
BUF Gate
input:A
output:Y
Boolean expression:Y=A
Circuit schematic:
K-map:
A
~A A
0 1
Boolean simplification:
Y=A
3
AND Gate
inputs:A,B
output:Y
Boolean expression:Y=AB
Circuit schematic:
K-map:
B
~B B
A
~A 0 0
A 0 1
Boolean simplification:
Y=AB
4
OR Gate
inputs:A,B
output:Y
Boolean expression:Y=A+B
Circuit schematic:
K-map:
B
~B B
A
~A 0 1
A 1 1
Boolean simplification:
Y=A+B
5
NOR Gate
inputs:A,B
output:Y
Boolean expression:Y=~(A+B)
Circuit schematic:
K-map:
B
~B B
A
~A 1 0
A 0 0
Boolean simplification:
Y= ~A~B= ~(A+B)
6
XOR Gate
inputs:A,B
output:Y
Boolean expression:Y= A~B+ ~AB
Circuit schematic:
K-map:
B
~B B
A
~A 0 1
A 1 0
Boolean simplification:
Y= A~B+~AB
7
XNOR Gate
inputs:A,B
output:Y
Boolean expression:Y= AB+~A~B
Circuit schematic:
K-map:
B
~B B
A
~A 1 0
A 0 1
Boolean simplification:
Y= ~A~B+AB
8
b) F(A,B,C,D)=Σ(4,5,6,7,9,13,15)
inputs:A,B,C,D
output:Y
Boolean expression:Y= ~AB+BD+A~CD
Circuit schematic:
Boolean simplification:
Y= ~AB+BD+A~CD
10
Simulation
NOT Gate
11
BUF Gate
12
AND Gate
13
OR Gate
14
NOR Gate
15
XOR Gate
16
XNOR Gate
17
b)
F(A,B,C,D)=Σ(4,5,6,7,9,13,15)
18
Data analysis
a) Simulation Truth table
NOT Gate
A Y
0 1
1 0
BUF Gate
A Y
0 0
1 1
AND Gate
A B Y
0 0 0
0 1 0
1 0 0
1 1 1
OR Gate
A B Y
0 0 0
0 1 1
1 0 1
1 1 1
19
NOR Gate
A B Y
0 0 1
0 1 0
1 0 0
1 1 0
XOR Gate
A B Y
0 0 0
0 1 1
1 0 1
1 1 0
XNOR Gate
A B Y
0 0 1
0 1 0
1 0 0
1 1 1
20
b) Simulation Truth table
F(A,B,C,D)=Σ(4,5,6,7,9,13,15)
A B C D Y
0 0 0 0 0
0 0 0 1 0
0 0 1 0 0
0 0 1 1 0
0 1 0 0 1
0 1 0 1 1
0 1 1 0 1
0 1 1 1 1
1 0 0 0 0
1 0 0 1 1
1 0 1 0 0
1 0 1 1 0
1 1 0 0 0
1 1 0 1 1
1 1 1 0 0
1 1 1 1 1
21
HDL Code
a)
NOT:
module NOT (input logic A ,
output logic Y);
assign Y= ~A;
endmodule
BUF:
module BUF (input logic A ,
output logic Y);
assign Y= A;
endmodule
AND:
module AND (input logic A,B,
output logic Y);
assign Y=A&B;
endmodule
OR:
module OR(input logic A,B
output logic Y);
assign Y= A|B ;
endmodule
22
NOR:
module NOR(input logic A,B
output logic Y);
assign Y= ~(A|B) ;
endmodule
XOR:
module XOR(input logic A,B
output logic Y);
assign Y= A^B ;
endmodule
XNOR:
module XNOR(input logic A,B
output logic Y);
assign Y= ~(A^B) ;
endmodule
b)
module Vox (input logic A,B,C,D
output logic Y);
assign Y= ~A&B|B&D|A~CD;
endmodule
23
Cover Page
Group 2
YangYing
2017454072
1
Design
a)
NOT Gate
input: 𝐴
output:𝑌
Boolean expression: 𝑌 = 𝐴̅
Circuit schematic:
K-map:
𝐴
𝐴̅ 𝐴
1 0
Boolean simplification:
𝑌 = 𝐴̅
2
BUF Gate
input:𝐴
output:𝑌
Boolean expression:𝑌 = 𝐴
Circuit schematic:
K-map:
𝐴
𝐴̅ 𝐴
0 1
Boolean simplification:
𝑌=𝐴
3
AND Gate
inputs:𝐴, 𝐵
output:𝑌
Boolean expression:𝑌 = 𝐴𝐵
Circuit schematic:
K-map:
𝐵
𝐵̅ 𝐵
𝐴
𝐴̅ 0 0
𝐴 0 1
Boolean simplification:
𝑌 = 𝐴𝐵
4
OR Gate
inputs:𝐴, 𝐵
output:𝑌
Boolean expression:𝑌 = 𝐴 + 𝐵
Circuit schematic:
K-map:
𝐵
𝐵 𝐵
𝐴
𝐴̅ 0 1
𝐴 1 1
Boolean simplification:
𝑌 =𝐴+𝐵
5
NOR Gate
inputs:𝐴, 𝐵
output:𝑌
Boolean expression:𝑌 = ̅̅̅̅̅̅̅̅
𝐴+𝐵
Circuit schematic:
K-map:
𝐵
𝐵̅ 𝐵
𝐴
𝐴̅ 1 0
𝐴 0 0
Boolean simplification:
𝑌 = 𝐴̅𝐵̅ = ̅̅̅̅̅̅̅̅
𝐴+𝐵
6
XOR Gate
inputs:𝐴, 𝐵
output:𝑌
Boolean expression:𝑌 = 𝐴𝐵̅ + 𝐴̅𝐵
Circuit schematic:
K-map:
𝐵
𝐵̅ 𝐵
𝐴
𝐴̅ 0 1
𝐴 1 0
Boolean simplification:
𝑌 = 𝐴𝐵̅ + 𝐴̅𝐵
7
XNOR Gate
inputs:𝐴, 𝐵
output:𝑌
Boolean expression:𝑌 = 𝐴𝐵 + 𝐴̅𝐵̅
Circuit schematic:
K-map:
𝐵
𝐵̅ 𝐵
𝐴
𝐴̅ 1 0
𝐴 0 1
Boolean simplification:
Y= 𝐴̅𝐵̅ + 𝐴𝐵
8
b)𝐹(𝐴, 𝐵, 𝐶, 𝐷) = 𝛴(4,5,6,7,9,13,15)
inputs:𝐴, 𝐵, 𝐶, 𝐷
output:𝑌
Boolean expression:𝑌 = 𝐴̅𝐵 + 𝐵𝐷 + 𝐴𝐶̅ 𝐷
Circuit schematic:
Boolean simplification:
𝑌 = 𝐴̅𝐵 + 𝐵𝐷 + 𝐴𝐶̅ 𝐷
10
Simulation
NOT Gate
11
BUF Gate
12
AND Gate
13
OR Gate
14
NOR Gate
15
XOR Gate
16
XNOR Gate
17
b)
𝐹(𝐴, 𝐵, 𝐶, 𝐷) = 𝛴(4,5,6,7,9,13,15)
18
Data analysis
a) Simulation Truth table
NOT Gate
A Y
0 1
1 0
BUF Gate
A Y
0 0
1 1
AND Gate
A B Y
0 0 0
0 1 0
1 0 0
1 1 1
OR Gate
A B Y
0 0 0
0 1 1
1 0 1
1 1 1
19
NOR Gate
A B Y
0 0 1
0 1 0
1 0 0
1 1 0
XOR Gate
A B Y
0 0 0
0 1 1
1 0 1
1 1 0
XNOR Gate
A B Y
0 0 1
0 1 0
1 0 0
1 1 1
20
b) Simulation Truth table
𝐹(𝐴, 𝐵, 𝐶, 𝐷) = 𝛴(4,5,6,7,9,13,15)
A B C D Y
0 0 0 0 0
0 0 0 1 0
0 0 1 0 0
0 0 1 1 0
0 1 0 0 1
0 1 0 1 1
0 1 1 0 1
0 1 1 1 1
1 0 0 0 0
1 0 0 1 1
1 0 1 0 0
1 0 1 1 0
1 1 0 0 0
1 1 0 1 1
1 1 1 0 0
1 1 1 1 1
21
HDL Code
a)
NOT:
module NOT (input logic A ,
output logic Y);
assign Y= ~A;
endmodule
BUF:
module BUF (input logic A ,
output logic Y);
assign Y= A;
endmodule
AND:
module AND (input logic A,B,
output logic Y);
assign Y=A&B;
endmodule
OR:
module OR(input logic A,B
output logic Y);
assign Y=A|B ;
endmodule
22
NOR:
module NOR(input logic A,B
output logic Y);
assign Y=~(A|B);
endmodule
XOR:
module XOR(input logic A,B
output logic Y);
assign Y=A^B;
endmodule
XNOR:
module XNOR(input logic A,B
output logic Y);
assign Y=~(A^B) ;
endmodule
b)
module Vox (input logic A,B,C,D
output logic Y);
assign Y=(A|B)&(~A|D)&(B+~C);
endmodule
23