Title: Introduction to Verilog HDL.
1Introduction to Verilog HDL
2Contents
- VLSI Design Flow.
- Design Methodologies.
- Examples.
- Module.
- Levels of Abstraction.
- Instantiation.
- Value Set, Nets, Registers and Vectors.
3VLSI Design Flow
- Steps for designing and constructing an
Integrated Circuit Chip (IC).
4VLSI Design Flow
HDL
CAD Tools
5VLSI Design Flow
- Specifications describe the functionality,
interface and overall architecture of the
circuit. - Behavioural description analyzes the design in
terms of its functionality, performance and
compliance to the standards and other high level
issues, written with HDLs.
6VLSI Design Flow
- Behavioural description converted to Register
Transfer Level (RTL) description. - Designer to describe data flow for the circuit.
- Further design process using CAD/EDA tools after
RTL is frozen. - CAD Tools susceptible to Garbage In Garbage Out
(GIGO).
7VLSI Design Flow
- Logic synthesis tools to convert RTL description
to a gate-level netlist. - Gate-level netlist describes the circuit in terms
of gates and connections. - Gate-level netlist as an input to Automatic Place
and Route Tool (APR). - APR creates the layout.
- Layout verified and fabricated on a chip.
8Garbage In Garbage Out
- CAD/EDA Tools to cut design cycle times.
- CAD/EDA Tools for optimizing the design.
- Designer controls tool performance.
9Design Methodologies
- Top-Down Design.
- Bottom-Up Design.
- Combination of both used.
- Design architects define specifications.
- Logic designers decide the structure.
- Circuit designers optimize circuits for leaf
level cells, build higher level cells.
10Top-Down Design
11Bottom-Up Design
12Design Illustration Top Level Block
Circuit of a Ripple
Carry Counter
13Illustration Sub Block/ Leaf Cell
NOT Gate
14Design Hierarchy
15Counter Design Hierarchy
- Top Down Design Methodology
- - Break bigger blocks till we cannot break.
- - Specify the functionality of ripple carry
- counter top level block.
- - Implement counter with T- flipflops.
- - Build T- flipflops from D- flip flop and an
- inverter.
16Counter Design Hierarchy
- Bottom Up Design Methodology
- - Combine smaller building blocks to
- bigger blocks.
- - Start with D flipflop, build T flipflop,
build - counter using T-flipflops.
17Building blocks inVerilog
- Module
- Basic building block in Verilog.
- Module can be an element or a
- collection of lower level building
- blocks.
- Elements grouped into modules to
- provide common functionality.
18Module
- Provides necessary functionality to the higher
level block through port interface (inputs and
outputs). - Allows designer to modify module internals
without affecting rest of the design. - Declared by the key word module and endmodule
for the end of module -
19Module
- Module name as identifier.
- Module terminal list describes I/O terminals of
the module followed by internals and endmodule.
20T- flipflop defined as module
21Levels of Abstraction
- Behavioural or algorithmic level
- - Highest level of abstraction.
- - No concern for hardware details.
- - Similar to C programming.
- Data flow level
- - Module designed by specifying data flow.
- - How data flows and is processed.
22Levels of Abstraction
- Gate level
- - Module implemented in terms of logic
- gates and interconnections.
- Switch Level
- - Lowest level of abstraction.
- - Implemented in terms of switches,
- storage nodes and interconnections.
- Mix and match four levels of abstraction.
23Instantiation
- Objects called instances.
- Process of creating objects from a module
template. - Each instance given a unique name.
- Eg Each T- flipflop instantiates a D- flipflop
and an inverter.
24(No Transcript)
25(No Transcript)
26Modules cannot be nested.
27Stimulus Block
- Also called test bench.
- Functionality of Design Block to be tested by
applying stimulus. - Stimulus block written in Verilog.
- Separate stimulus and design blocks.
- Interacts with design block through interface.
28Top Level Dummy Module
Instantiate Both
29(No Transcript)
30(No Transcript)
31(No Transcript)
32Output
33Waveforms
34Comments
- Enhances readability, understandability and
documentation. - Single line comments start with //
- Multiple comments start with / and end with /.
35Value Sets
36Nets
- Connection between hardware elements.
- Declared using key word wire.
37Registers
- Storage element.
- A variable that can hold a value.
- Stores until rewritten.
38Vectors
- nets or reg datatypes can be declared as vectors.
- Default 1 bit.
- Can be declared as high low or low
high
39Vectors
40Value Change Dump File
Simulation time, scope, signal definitions and
signal value changes
41An Online Verilog Simulator
Code Your Stimulus Block here
Code your Design Block here
42An Online Verilog Compiler
43Some Online Verilog Simulator Links
- http//www.techep.csi.cuny.edu/zhangs/v.html
- https//www.jdoodle.com/execute-verilog-online/
44Reference Book
- Samir Palnitkar, Verilog HDL, A Guide to Digital
Design and Synthesis, SunSoft Press, 1996.
45Thank You