Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley
2-1
Syllabus
Objectives
Structure modeling
Gate modeling
Gate delays
Hazards
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley
2-2
Objectives
After completing this chapter, you will be able to:
Describe what is the structural modeling
Describe how to instantiate gate primitives
Describe how to model a design in gate primitives
Describe inertial and transport delays
Describe how to specify delays in gates
Describe hazards and their effects in gate networks
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley
2-3
Syllabus
Objectives
Structure modeling
Structural styles
Gate primitives
Switch primitives
Gate modeling
Gate delays
Hazards
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley
2-4
Structural Styles
A set of interconnected components
Modules/UDPs
Gate primitives
Switch primitives
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley
2-5
Syllabus
Objectives
Structure modeling
Structural styles
Gate primitives
Switch primitives
Gate modeling
Gate delays
Hazards
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley
2-6
Gate Primitives
12 gate primitives
Synthesizable
and/or gates
One scalar output
Multiple scalar inputs
Include
and
or
xor
nand
nor
xnor
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley
2-7
Gate Primitives
buf/not Gates
One scalar input
One or multiple scalar outputs
Include
buf not bufif0 notif0 bufif1 notif1
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley
2-8
Syllabus
Objectives
Structure modeling
Structural styles
Gate primitives
Switch primitives
Gate modeling
Gate delays
Hazards
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley
2-9
Switch Primitives
16 switch primitives
To model a new logic gate circuit at switch
level
Not synthesizable, in general
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley
2-10
Syllabus
Objectives
Structure modeling
Gate modeling
Gate delays
Hazards
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley
2-11
and/nand Gates
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley
2-12
or/nor Gates
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley
2-13
xor/xnor Gates
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley
2-14
Syllabus
Objectives
Structure modeling
Gate modeling
Gate delays
Hazards
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley
2-15
buf/not Gates
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley
2-16
bufif0/notif0 Gates
2-17
bufif1/notif1 Gates
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley
2-18
Syllabus
Objectives
Structure modeling
Gate modeling
Gate delays
Hazards
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley
2-19
2-20
Array of Instances
Array instantiations may be a synthesizer
dependent!
Suggestion: check this feature before using the
synthesizer
wire [3:0] out, in1, in2;
// basic array instantiations of nand gate.
nand n_gate[3:0] (out, in1, in2);
// this is equivalent to the following:
nand n_gate0 (out[0], in1[0], in2[0]);
nand n_gate1 (out[1], in1[1], in2[1]);
nand n_gate2 (out[2], in1[2], in2[2]);
nand n_gate3 (out[3], in1[3], in2[3]);
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley
2-21
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley
2-22
2-23
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley
2-24
2-25
Syllabus
Objectives
Structure modeling
Gate modeling
Gate delays
Hazards
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley
2-26
2-27
Syllabus
Objectives
Structure modeling
Gate modeling
Gate delays
Hazards
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley
2-28
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley
2-29
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley
2-30
Syllabus
Objectives
Structure modeling
Gate modeling
Gate delays
Delay models
Gate delay specifications
Hazards
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley
2-31
Delay Models
Inertial delay model
Transport delay model
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley
2-32
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley
2-33
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley
2-34
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley
2-35
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley
2-36
Syllabus
Objectives
Structure modeling
Gate modeling
Gate delays
Delay models
Gate delay specifications
Hazards
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley
2-37
2-38
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley
2-39
Syllabus
Objectives
Structure modeling
Gate modeling
Gate delays
Hazards
Static hazards
Dynamic hazards
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley
2-40
Types
Static hazards
Dynamic hazards
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley
2-41
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley
2-42
Syllabus
Objectives
Structure modeling
Gate modeling
Gate delays
Hazards
Static hazards
Dynamic hazards
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley
2-43
Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley
2-44
2-45
2-46