Department of Computer science & Engineering
Semester: Spring, 2014
Course Code: CSE345 Lab
Course Title: Digital Logic Design
Experiment No: 06
Experiment Title: Decoder and its use in Combinational Logic
implementation
Student ID : 2011-2-60-037
Student Name: MD. NOZIBUL HAQUE
Group No.:03
Group ID’s:
2011-2-60-037
2010-2-60-024
Date of Performance: 12 March, 2014
Submission Date: 19 March, 2014
Objectives:
1. To implement and test a 2-to-4-lines decoder with active-LOW outputs
and active-LOW enable input using random gates.
2. To implement and test combinational logic functions using IC 74138 (3-
to-8-lines decoder with active-LOW outputs).
Answer(s) to the Post-Lab Report Question(s):
1. Verification of the experimental outputs:
Experimental outputs Pre-Lab report results
E A 1 A0 O3 O2 O1 O0 O3 O2 O1 O0
0 0 0 1 1 1 0 1 1 1 0
0 0 1 1 1 0 1 1 1 0 1
0 1 0 1 0 1 1 1 0 1 1
0 1 1 0 1 1 1 0 1 1 1
1 0 0 1 1 1 1 1 1 1 1
1 0 1 1 1 1 1 1 1 1 1
1 1 0 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
Thus implementation of a 2x4 decoder with active-LOW outputs and active-LOW enable
input using random gates is verified.
Experimental Value Theoretical Value
E1 E2 E3 A2 A1 A0 F1 F2 F1 F2
0 0 1 0 0 0 0 1 0 1
0 0 1 0 0 1 1 0 1 0
0 0 1 0 1 0 1 0 1 0
0 0 1 0 1 1 0 0 0 0
0 0 1 1 0 0 1 0 1 0
0 0 1 1 0 1 0 1 0 1
0 0 1 1 1 0 0 1 0 1
0 0 1 1 1 1 1 1 1 1
Thus, the implementation of combinational logic functions using the IC 74138 (3x8
decoder with active-LOW outputs) is verified.
2. Structural Verilog code:
module expt06 (input E, A1, A0,
output O0, O1, O2, O3);
wire w1, w2, w3, w4;
nand g1(O0, ~E, ~A1, ~A0),
g2(O1, ~E, ~A1, A0),
g3(O2, ~E, A1, ~A0),
g4(O3, ~E, A1, A0);
endmodule
Figure 1: Simulation waveform from structural Verilog code
3. Behavioral Verilog code:
module exptb(input A0, A1, A2,
output S, O0, O1, O2, O3, O4, O5, O6, O7);
assign O0 = ~(~A2 & ~A1 & ~A0);
assign O1 = ~(~A2 & ~A1 & A0);
assign O2 = ~(~A2 & A1 & ~A0);
assign O3 = ~(~A2 & A1 & A0);
assign O4 = ~(A2 & ~A1 & ~A0);
assign O5 = ~(A2 & ~A1 & A0);
assign O6 = ~(A2 & A1 & ~A0);
assign O7 = ~(A2 & A1 & A0);
assign S = O0|O1|O2|O3|O4|O5|O6|O7;
endmodule
Figure 2: Simulation waveform from behavioral Verilog code
Conclusion:
Doing this lab I learn that how to operate Quartus II software. Using this
software I can draw circuit and simulate Verilog code & I implemented and
tested decoder with active-LOW outputs and active-LOW enable input using
random gates. I am also implemented and tested combinational logic functions
using IC 74138 (3x8 decoder with active-LOW outputs). This lab is very
effective for me.