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 03/06/2023 13
Overview of Digital Design with Verilog HDL
• A general-purpose HDL
• Easy to learn and use
• Syntax is similar to C (VHDL is similar to PASCAL)
• Allows different levels of abstraction to be mixed in the same model
• In terms of switches, gates, RTL, or behavioral code
• Need to learn only for stimulus and hierarchical design
• Most popular logic synthesis tools support Verilog
• Rich of Verilog HDL libraries
• Provided by fabrication vendors for postlogic synthesis simulation
• Allows the widest choice of vendors while designing a chip
• With powerful PLI (Programming Language Interface)
• Write custom C code to interact with internal data structure
• A module provides a template from which you can create actual objects.
• 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.
• All modules have been defined down to the lowest-level leaf cells in
the design methodology. The design block is now complete.
Verilog HDL 03/06/2023 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.