18EC56 Verilog HDL Module 1 2020
18EC56 Verilog HDL Module 1 2020
Module 1
Overview of Digital Design
with Verilog HDL
Dinesh M.A.
[email protected]
•
/dinesh.ajay
/prof.dineshma
VISION OF THE DEPARTMENT
Behavioral
Description Floor Planning Automatic
Place & Route
RTL Description
(HDL)
Physical Layout
Functional Verification
and Testing
Layout Verification
Logic Synthesis
Implementation
Gate-level Netlist
Verilog HDL 06-10-2020 13
Overview of Digital Design with Verilog HDL
• When a module is invoked, Verilog creates a unique object from the template.
• Each object has its own name, variables, parameters, and I/O interface.
• The process of creating objects from a module template is called instantiation, and the objects
are called instances.
• In Example 2-1, the top-level block creates four instances from the T-flipflop (T_FF) template.
Each T_FF instantiates a D_FF and an inverter gate. Each instance must be given a unique
name.
• In the first style, the stimulus block instantiates the design block and
directly drives the signals in the design block.
• The stimulus block becomes the top-level block. It manipulates
signals clk and reset, and it checks and displays output signal q.
endmodule
• All modules have been defined down to the lowest-level leaf cells in the
design methodology. The design block is now complete.
Verilog HDL 06-10-2020 47
• Stimulus Block
• We must now write the stimulus block to check if the ripple carry counter design is
functioning correctly.
• In this case, we must control the signals clk and reset so that the regular function of
the ripple carry counter and the asynchronous reset mechanism are both tested.
• We use the waveforms shown below to test the design. Waveforms for clk, reset,
and 4-bit output q are shown.
• The cycle time for clk is 10 units; the reset signal stays up from time 0 to 15
and then goes up again from time 195 to 205. Output q counts from 0 to 15.
• This chapter is intended to give an understanding of the design process and how
Verilog fits into the design process. The details of Verilog syntax are not important at
this stage and will be dealt with in later chapters.