Professional Documents
Culture Documents
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 8-1
Chapter 8: Combinational Logic Modules
Syllabus
Objectives
Fundamentals of combinational logic modules
Decoders
Encoders
Multiplexers
Demultiplexers
Comparators
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 8-2
Chapter 8: Combinational Logic Modules
Objectives
After completing this chapter, you will be able to:
Understand the features of decoders
Understand the features of encoders
Understand the features of priority encoders
Understand the features of multiplexers
Understand the features of demultiplexers
Describe how to design comparators and
magnitude comparators
Describe how to design a parameterized module
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 8-3
Chapter 8: Combinational Logic Modules
Syllabus
Objectives
Fundamentals of combinational logic modules
Decoders
Encoders
Multiplexers
Demultiplexers
Comparators
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 8-4
Chapter 8: Combinational Logic Modules
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 8-6
Chapter 8: Combinational Logic Modules
Syllabus
Objectives
Fundamentals of combinational logic modules
Decoders
Encoders
Multiplexers
Demultiplexers
Comparators
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 8-7
Chapter 8: Combinational Logic Modules
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 8-8
Chapter 8: Combinational Logic Modules
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 8-9
Chapter 8: Combinational Logic Modules
un1_y28
2'b00 : y = 4'b1110;
2'b01 : y = 4'b1101; enable
1111
0
[3:0] [3:0]
y[3:0]
2'b10 : y = 4'b1011; [1]
[0]
1
y[3:0]
2'b11 : y = 4'b0111; y27 un1_y27
endcase [0]
[1]
y26 un1_y26
[0]
[1]
y25 un1_y25
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 8-10
Chapter 8: Combinational Logic Modules
2'b00 : y = 4'b0001;
enable
2'b01 : y = 4'b0010; 0000
0
[3:0] [3:0]
y[3:0]
2'b10 : y = 4'b0100; [1]
[0]
1
y[3:0]
2'b11 : y = 4'b1000; y27
endcase
[0]
[1]
y26
[0]
[1]
y25
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 8-11
Chapter 8: Combinational Logic Modules
Syllabus
Objectives
Fundamentals of combinational logic modules
Decoders
Encoders
Multiplexers
Demultiplexers
Comparators
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 8-12
Chapter 8: Combinational Logic Modules
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 8-13
Chapter 8: Combinational Logic Modules
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 8-14
Chapter 8: Combinational Logic Modules
end y[1:0]
[2]
[0]
[1]
[3]
y24
[3]
[0]
[1]
[2]
y25
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 8-15
Chapter 8: Combinational Logic Modules
always @(in)
[3:0] [3]
in[3:0]
y22
case (in)
4'b0001 : y = 0; [1] 00
e
d
4'b0010 : y = 1;
[0]
[2] e
01
[3] d [1:0] [1:0]
y[1:0]
4'b0100 : y = 2; y23 10
e
d
4'b1000 : y = 3;
e
11
d
y[1:0]
default : y = 2'bx; [2]
[0]
endcase [1]
[3]
y24
[3]
[0]
[1]
[2]
y25
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 8-16
Chapter 8: Combinational Logic Modules
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 8-17
Chapter 8: Combinational Logic Modules
valid_in
if (in[2]) y = 2; else [2]
[3]
if (in[0]) y = 0; else
[3]
e
1
d
e
y = 2'bx; [1]
0
1
d
e
end
d
y24 e
0
d
y_1[0]
[0]
[1]
[2]
[3:0] [3]
in[3:0]
un1_in_3 y25
un1_in_1
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 8-18
Chapter 8: Combinational Logic Modules
4'b01xx: y = 2; y23[0]
4'b001x: y = 1; [3]
11
e
4'b0001: y = 0; d
e
10
y[1:0]
[0]
[1]
[2]
[3]
y25
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 8-19
Chapter 8: Combinational Logic Modules
Syllabus
Objectives
Fundamentals of combinational logic modules
Decoders
Encoders
Multiplexers
Demultiplexers
Comparators
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 8-20
Chapter 8: Combinational Logic Modules
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 8-21
Chapter 8: Combinational Logic Modules
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 8-22
Chapter 8: Combinational Logic Modules
y[3:0]
[0]
[1]
un1_select_4
[0]
[1]
un1_select_5
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 8-23
Chapter 8: Combinational Logic Modules
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 8-24
Chapter 8: Combinational Logic Modules
2b11: y = in3 ;
e
[7:0]
[7:0] d
in1[7:0]
[7:0]
in2[7:0] e
2b10: y = in2 ; in0[7:0]
[7:0] [7:0]
d
y[7:0]
2b01: y = in1 ; [0]
[1]
endcase [0]
[1]
un1_select_5
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 8-25
Chapter 8: Combinational Logic Modules
Syllabus
Objectives
Fundamentals of combinational logic modules
Decoders
Encoders
Multiplexers
Demultiplexers
Comparators
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 8-26
Chapter 8: Combinational Logic Modules
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 8-27
Chapter 8: Combinational Logic Modules
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 8-28
Chapter 8: Combinational Logic Modules
y37
0000
0
[3:0] [3:0]
y3[3:0]
[1]
[0]
[3:0]
0
1
[3:0] [3:0]
y2[3:0]
end [0]
[1]
0000
0
y07 [3:0] [3:0]
y0[3:0]
[3:0]
1
y0[3:0]
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 8-29
Chapter 8: Combinational Logic Modules
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 8-30
Chapter 8: Combinational Logic Modules
Syllabus
Objectives
Fundamentals of combinational logic modules
Decoders
Encoders
Multiplexers
Demultiplexers
Comparators
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 8-31
Chapter 8: Combinational Logic Modules
Comparators
A 4-bit comparator
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 8-32
Chapter 8: Combinational Logic Modules
Types of Comparators
Comparator
Cascadable comparator
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 8-33
Chapter 8: Combinational Logic Modules
Comparators
An 8-bit comparator
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 8-34
Chapter 8: Combinational Logic Modules
cgt
[3:0]
[3:0]
< clt
clt
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 8-35
Chapter 8: Combinational Logic Modules
[3:0] [3:0]
a[3:0]
parameter N = 4; b[3:0]
[3:0] [3:0]
= Oagtb
un1_Oaeqb Oagtb
// I/O port declarations Iagtb
un2_Oagtb
[3:0]
< Oaltb