SlideShare a Scribd company logo
1|Page

NOTES: Verilog Part 1
1 CHAPTER 1:
 HDL converts Behavioural Description to RTL Description.
 Data Flow is decided by the designer.
 Logic Synthesis tool convert RTL description to Gate Level Netlist. (Gate level netlist is a
description of the circuit in terms of gate and connections between them. It ensures that the
circuit meets timing, area and power specifications)
 The layout is verified and then fabricated.

2 CHAPTER 2:
2.1 TWO DESIGN METHODOLOGIES



Top Down: The main module is divided into sub modules which are further
divided into leaf cells.
Bottom Up: Collect all the leaf cells available with us and form the higher
level modules, and reach the main module.
(WHAT IF THE BASIC MODULE IS NOT AVAILABLE WITH US?)

2.2 FOUR LEVELS OF ABSTRACTIONS






Behavioural/Algorithmic level: Highest level of abstraction. Module can be
designed on desired algorithm without concerning about hardware
implementation.
Dataflow Level: Module is designed by specifying the data flow.
Gate Level: Module is implemented in terms of logic gates and
interconnections. Similar to gate logic diagram.
Switch Level: Module can be implemented using switches, storage nodes
and interconnections between them. Lowest Level of Abstraction.

2.3 MODULES IN VERILOG ARE SIMILAR TO THE CLASSES IN C++
2.4 INSTANCE IN VERILOG ARE SIMILAR TO THE OBJECTS IN C++
2.5 STIMULUS AND DESIGN BLOCK.



Notes: Verilog Part-1

In the first style the stimulus block instantiates the design block and directly
drives the signals in the design block.
The second style instantiates both stimulus and design blocks in top level
dummy module. The stimulus block interacts with the design block only at
through the interface.

Prepared By: Jay Baxi
2|Page

2.6 STIMULUS BLOCK IS ALSO CALLED THE TEST BENCH.

3 CHAPTER 3:
3.1 VERBAL CONVENTIONS













Whitespaces: b, t, n are used for blank spaces, tabs and newlines.
(WHAT IS THE NEED FOR b, IF AN ORDINARY SPACE “ “ IS USED?)
Comments: //Single Line Comment
/* Multi Line
Comment */
Operators:
j= ~b;
//Unary Operator
j= b && c;
//Binary Operator
j= b? c : d
//Ternary Operator
Number Specification:
Sized
Unknown Impedance (x)
Un-sized
High Impedance(z)
Negative
Underscore and Question Mark
Strings: “a / b is a string”
There are 123 keywords
There are 22 system tasks and functions
There are 27 compiler directives
Escaped Identifiers: They begin with a backslash () and end with a white
space or a new line. All the characters between a backslash and a
whitespace are processed literally.

3.2 DATA TYPES:








Notes: Verilog Part-1

Value Set:
Value Level
Condition
0
Logic Zero, False Condition
1
Logic One, True Condition
X
Unknown Logic Value
Z
High Impedance, Floating State
If two signals of strong1 and weak0 contend, the result is resolved as
strong1.
If two signals of equal strengths contend, the result is X (unknown)
Nets: They represent the connection between the hardware. In the HDL, we
they are represented as wire.
They are one bit values by default, unless explicitly mentioned as vectors.
net is not a keyword. It is a class of data types such as wire, wand, wor, tri,
triand, trior, trireg.
Registers: They represent data storage elements. They retain values until
other value is retained on them.

Prepared By: Jay Baxi
3|Page














Unlike a net, a register does not need a driver.
These registers do not need a clock unlike the hardware registers.
They are used with keyword reg. And its default value is x.
Vectors: wire or reg can be declared as vectors, if bit width is not specified.
Operations can be performed on selected parts of the vectors.
Integers: it is a register data type, reg can be used as a general purpose
register but in processes like counting it is more convenient to declare them
as integer.
Real: real numbers are also a register data type and is declared using the
keyword real.
Time: Verilog simulation is done w.r.t. simulation time. A special time
register is used to save the simulation time.
The width of the time register data type is implementation-specific but is at
least 64 bits.
The system function $time is invoked to get the current simulation time.
Arrays: Arrays are data types to increase the size of register data type and
can be used to create multidimensional matrices.
Memories: In most cases when RAMs and ROMs are designed by digital
designers. For Verilog, memories are modelled as one dimensional array of
registers.
Each element of the array is known as the element or the word, which is of
more than one bits. And is addressed by a single array index.
A particular word in the memory is obtained by using the address as a
memory in the subscript.
Parameters: parameter allows constants to be defined in Verilog. They
cannot be used as variables.
Parameter values for each module instance can be overridden individually at
compile time.
Parameter size and type can also be defined.
Strings: Strings can be stored in the reg data type. The width must be large
enough to hold the string.
If the width is larger than the size of the string, it fills bits to the left of the
string with ZEROS.
If the width is smaller than the string, it truncates leftmost bits of the string.

3.3 SYSTEM TASKS






Notes: Verilog Part-1

$display: This is the main system task for displaying values of variables or
strings or expressions.
$monitor: This is used to monitor a signal when its value changes.
$monitoron enables monitoring whereas $monitoroff disables it.
$stop: The $stop task puts the simulation in an interactive mode. This is
mainly used for debugging. The designer can suspend the simulation and
examine the value of the signals.
$finish: This terminates the simulation.

Prepared By: Jay Baxi
4|Page

3.4 COMPILER DIRECTIVES




Notes: Verilog Part-1

`define: This is similar to #define construct in C. It defines text macros in
Verilog. The compiler substitutes the text of the macro whenever it
encounters <macro_name>
‘include: This is used to include header files or other Verilog source files
which contain global or commonly used definitions.

Prepared By: Jay Baxi

More Related Content

PPT
Interfacing LCD with 8051 Microcontroller
PDF
VLSI Fresher Resume
PPTX
Vlsi design flow
PDF
Vlsi lab viva question with answers
PPT
PDF
Vlsi design
PPTX
Microcontroller 8051 and its interfacing
PPTX
Properties of dft
Interfacing LCD with 8051 Microcontroller
VLSI Fresher Resume
Vlsi design flow
Vlsi lab viva question with answers
Vlsi design
Microcontroller 8051 and its interfacing
Properties of dft

What's hot (20)

PPTX
Rc delay modelling in vlsi
PPTX
Fpga architectures and applications
PPTX
All About VLSI In PPT
PDF
Overview of digital design with Verilog HDL
PDF
Line coding
PPTX
Delta modulation
PPTX
Pass Transistor Logic
PPTX
Verilog presentation final
PPT
VLSI routing
PPTX
DIFFERENTIAL AMPLIFIER using MOSFET
PDF
CMOS Analog Multiplier in Deep Sub-Micron Technology
PPTX
Introduction to Embedded System I: Chapter 2 (5th portion)
PPTX
Dynamic logic circuits
PDF
Verilog tutorial
PDF
Logic Synthesis
PPTX
Quadrature phase shift keying
PPT
VHDL-PRESENTATION.ppt
PPT
Simulating communication systems with MATLAB: An introduction
PPT
Signal classification of signal
PPTX
Code Conversion in 8085 Microprocessor
Rc delay modelling in vlsi
Fpga architectures and applications
All About VLSI In PPT
Overview of digital design with Verilog HDL
Line coding
Delta modulation
Pass Transistor Logic
Verilog presentation final
VLSI routing
DIFFERENTIAL AMPLIFIER using MOSFET
CMOS Analog Multiplier in Deep Sub-Micron Technology
Introduction to Embedded System I: Chapter 2 (5th portion)
Dynamic logic circuits
Verilog tutorial
Logic Synthesis
Quadrature phase shift keying
VHDL-PRESENTATION.ppt
Simulating communication systems with MATLAB: An introduction
Signal classification of signal
Code Conversion in 8085 Microprocessor
Ad

Viewers also liked (16)

PPTX
Radiation Hardening by Design
PDF
Notes: Verilog Part 2 - Modules and Ports - Structural Modeling (Gate-Level M...
PDF
Notes: Verilog Part 4- Behavioural Modelling
PDF
Notes: Verilog Part 5 - Tasks and Functions
PPTX
Seminar: Fabrication and Characteristics of CMOS
PPTX
Designing of fifo and serial peripheral interface protocol using Verilog HDL
PDF
First Year Basic Electronics Notes VTU Syllabus 2014 Scheme
PDF
Web design and development cs506 handouts
PDF
4Sem VTU-HDL Programming Notes-Unit1-Introduction
PDF
Fundamentals of HDL (first 4 chapters only) - Godse
PDF
MOSFETs (10EC63) Notes for Electronics & Communication Engineering Students o...
PDF
Microelectronic Circuits Notes (10EC63) by Dr. M. C. Hanumantharaju of BMS In...
PDF
Microelectronic Circuits (10EC63) Notes for Visvesvaraya Technological Univer...
PDF
Embedded System Design Notes written by Arun Kumar G, Associate Professor, De...
PDF
Operating system concepts (notes)
DOCX
Embedded systems class notes
Radiation Hardening by Design
Notes: Verilog Part 2 - Modules and Ports - Structural Modeling (Gate-Level M...
Notes: Verilog Part 4- Behavioural Modelling
Notes: Verilog Part 5 - Tasks and Functions
Seminar: Fabrication and Characteristics of CMOS
Designing of fifo and serial peripheral interface protocol using Verilog HDL
First Year Basic Electronics Notes VTU Syllabus 2014 Scheme
Web design and development cs506 handouts
4Sem VTU-HDL Programming Notes-Unit1-Introduction
Fundamentals of HDL (first 4 chapters only) - Godse
MOSFETs (10EC63) Notes for Electronics & Communication Engineering Students o...
Microelectronic Circuits Notes (10EC63) by Dr. M. C. Hanumantharaju of BMS In...
Microelectronic Circuits (10EC63) Notes for Visvesvaraya Technological Univer...
Embedded System Design Notes written by Arun Kumar G, Associate Professor, De...
Operating system concepts (notes)
Embedded systems class notes
Ad

Similar to Notes: Verilog Part 1 - Overview - Hierarchical Modeling Concepts - Basics (20)

PPTX
Verilog
PDF
Verilog
PPTX
Java platform
PPTX
Experiment 1- UCS 704_ESD engineering money waste
PDF
DDUV.pdf
PDF
VHDL- data types
PPTX
ral_ral_presentation Ral introduction and detailed information
PPTX
06 chapter03 04_control_logix_tags_memory_structure_fa16
PPTX
very large scale integration ppt vlsi.pptx
PDF
Lecture03-Modelling-Structuresqweqweqwe.pdf
PDF
Lecture03(DHDN)-Modelling-Structures.pdf
PPTX
INTERN VLSI 1.pptx INTERN VLSI 1.pptx ppt
PPTX
Verilog Final Probe'22.pptx
PPTX
a verilog presentation for deep concept understa
PDF
24-02-18 Rejender pratap.pdf
PDF
DOUBLE PRECISION FLOATING POINT CORE IN VERILOG
PDF
Chapter 01
PDF
Verilog HDL coding in VLSi Design circuits.pdf
PPTX
systemverilog and veriog presentation
PPT
Symbol Table, Error Handler & Code Generation
Verilog
Verilog
Java platform
Experiment 1- UCS 704_ESD engineering money waste
DDUV.pdf
VHDL- data types
ral_ral_presentation Ral introduction and detailed information
06 chapter03 04_control_logix_tags_memory_structure_fa16
very large scale integration ppt vlsi.pptx
Lecture03-Modelling-Structuresqweqweqwe.pdf
Lecture03(DHDN)-Modelling-Structures.pdf
INTERN VLSI 1.pptx INTERN VLSI 1.pptx ppt
Verilog Final Probe'22.pptx
a verilog presentation for deep concept understa
24-02-18 Rejender pratap.pdf
DOUBLE PRECISION FLOATING POINT CORE IN VERILOG
Chapter 01
Verilog HDL coding in VLSi Design circuits.pdf
systemverilog and veriog presentation
Symbol Table, Error Handler & Code Generation

Recently uploaded (20)

PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PPTX
human mycosis Human fungal infections are called human mycosis..pptx
PPTX
Renaissance Architecture: A Journey from Faith to Humanism
PDF
Insiders guide to clinical Medicine.pdf
PPTX
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PPTX
PPH.pptx obstetrics and gynecology in nursing
PDF
Anesthesia in Laparoscopic Surgery in India
PPTX
Lesson notes of climatology university.
PPTX
Microbial diseases, their pathogenesis and prophylaxis
PDF
Microbial disease of the cardiovascular and lymphatic systems
PDF
Sports Quiz easy sports quiz sports quiz
PDF
RMMM.pdf make it easy to upload and study
PPTX
GDM (1) (1).pptx small presentation for students
PPTX
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
PDF
01-Introduction-to-Information-Management.pdf
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PPTX
Pharmacology of Heart Failure /Pharmacotherapy of CHF
PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
human mycosis Human fungal infections are called human mycosis..pptx
Renaissance Architecture: A Journey from Faith to Humanism
Insiders guide to clinical Medicine.pdf
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PPH.pptx obstetrics and gynecology in nursing
Anesthesia in Laparoscopic Surgery in India
Lesson notes of climatology university.
Microbial diseases, their pathogenesis and prophylaxis
Microbial disease of the cardiovascular and lymphatic systems
Sports Quiz easy sports quiz sports quiz
RMMM.pdf make it easy to upload and study
GDM (1) (1).pptx small presentation for students
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
01-Introduction-to-Information-Management.pdf
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
Pharmacology of Heart Failure /Pharmacotherapy of CHF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
O5-L3 Freight Transport Ops (International) V1.pdf

Notes: Verilog Part 1 - Overview - Hierarchical Modeling Concepts - Basics

  • 1. 1|Page NOTES: Verilog Part 1 1 CHAPTER 1:  HDL converts Behavioural Description to RTL Description.  Data Flow is decided by the designer.  Logic Synthesis tool convert RTL description to Gate Level Netlist. (Gate level netlist is a description of the circuit in terms of gate and connections between them. It ensures that the circuit meets timing, area and power specifications)  The layout is verified and then fabricated. 2 CHAPTER 2: 2.1 TWO DESIGN METHODOLOGIES   Top Down: The main module is divided into sub modules which are further divided into leaf cells. Bottom Up: Collect all the leaf cells available with us and form the higher level modules, and reach the main module. (WHAT IF THE BASIC MODULE IS NOT AVAILABLE WITH US?) 2.2 FOUR LEVELS OF ABSTRACTIONS     Behavioural/Algorithmic level: Highest level of abstraction. Module can be designed on desired algorithm without concerning about hardware implementation. Dataflow Level: Module is designed by specifying the data flow. Gate Level: Module is implemented in terms of logic gates and interconnections. Similar to gate logic diagram. Switch Level: Module can be implemented using switches, storage nodes and interconnections between them. Lowest Level of Abstraction. 2.3 MODULES IN VERILOG ARE SIMILAR TO THE CLASSES IN C++ 2.4 INSTANCE IN VERILOG ARE SIMILAR TO THE OBJECTS IN C++ 2.5 STIMULUS AND DESIGN BLOCK.   Notes: Verilog Part-1 In the first style the stimulus block instantiates the design block and directly drives the signals in the design block. The second style instantiates both stimulus and design blocks in top level dummy module. The stimulus block interacts with the design block only at through the interface. Prepared By: Jay Baxi
  • 2. 2|Page 2.6 STIMULUS BLOCK IS ALSO CALLED THE TEST BENCH. 3 CHAPTER 3: 3.1 VERBAL CONVENTIONS          Whitespaces: b, t, n are used for blank spaces, tabs and newlines. (WHAT IS THE NEED FOR b, IF AN ORDINARY SPACE “ “ IS USED?) Comments: //Single Line Comment /* Multi Line Comment */ Operators: j= ~b; //Unary Operator j= b && c; //Binary Operator j= b? c : d //Ternary Operator Number Specification: Sized Unknown Impedance (x) Un-sized High Impedance(z) Negative Underscore and Question Mark Strings: “a / b is a string” There are 123 keywords There are 22 system tasks and functions There are 27 compiler directives Escaped Identifiers: They begin with a backslash () and end with a white space or a new line. All the characters between a backslash and a whitespace are processed literally. 3.2 DATA TYPES:      Notes: Verilog Part-1 Value Set: Value Level Condition 0 Logic Zero, False Condition 1 Logic One, True Condition X Unknown Logic Value Z High Impedance, Floating State If two signals of strong1 and weak0 contend, the result is resolved as strong1. If two signals of equal strengths contend, the result is X (unknown) Nets: They represent the connection between the hardware. In the HDL, we they are represented as wire. They are one bit values by default, unless explicitly mentioned as vectors. net is not a keyword. It is a class of data types such as wire, wand, wor, tri, triand, trior, trireg. Registers: They represent data storage elements. They retain values until other value is retained on them. Prepared By: Jay Baxi
  • 3. 3|Page         Unlike a net, a register does not need a driver. These registers do not need a clock unlike the hardware registers. They are used with keyword reg. And its default value is x. Vectors: wire or reg can be declared as vectors, if bit width is not specified. Operations can be performed on selected parts of the vectors. Integers: it is a register data type, reg can be used as a general purpose register but in processes like counting it is more convenient to declare them as integer. Real: real numbers are also a register data type and is declared using the keyword real. Time: Verilog simulation is done w.r.t. simulation time. A special time register is used to save the simulation time. The width of the time register data type is implementation-specific but is at least 64 bits. The system function $time is invoked to get the current simulation time. Arrays: Arrays are data types to increase the size of register data type and can be used to create multidimensional matrices. Memories: In most cases when RAMs and ROMs are designed by digital designers. For Verilog, memories are modelled as one dimensional array of registers. Each element of the array is known as the element or the word, which is of more than one bits. And is addressed by a single array index. A particular word in the memory is obtained by using the address as a memory in the subscript. Parameters: parameter allows constants to be defined in Verilog. They cannot be used as variables. Parameter values for each module instance can be overridden individually at compile time. Parameter size and type can also be defined. Strings: Strings can be stored in the reg data type. The width must be large enough to hold the string. If the width is larger than the size of the string, it fills bits to the left of the string with ZEROS. If the width is smaller than the string, it truncates leftmost bits of the string. 3.3 SYSTEM TASKS     Notes: Verilog Part-1 $display: This is the main system task for displaying values of variables or strings or expressions. $monitor: This is used to monitor a signal when its value changes. $monitoron enables monitoring whereas $monitoroff disables it. $stop: The $stop task puts the simulation in an interactive mode. This is mainly used for debugging. The designer can suspend the simulation and examine the value of the signals. $finish: This terminates the simulation. Prepared By: Jay Baxi
  • 4. 4|Page 3.4 COMPILER DIRECTIVES   Notes: Verilog Part-1 `define: This is similar to #define construct in C. It defines text macros in Verilog. The compiler substitutes the text of the macro whenever it encounters <macro_name> ‘include: This is used to include header files or other Verilog source files which contain global or commonly used definitions. Prepared By: Jay Baxi