top of page

Verilog HDL

HDLs provide ways to represent the digital circuits in the textual form. Verilog HDL is a HARDWARE DESCRIPTION LANGUAGE to model the digital circuits, the source code is written in a text file with the extension [*. v].

Any Verilog HDL source code is created with the combination of IDENTIFIERS and KEYWORDS which are also called as SYNTAX/SEMANTICS. These are globally called lexical tokens. Combination of more than one lexical token originate LEXICAL CONVENTIONS.

1. Introduction & Overview of Verilog HDL

2. Typical VLSI Design Flow

3. RTL Designing

4. Lexical Conventions

    4.1. White space requirements

    4.2. comment implementation

    4.3. operator usage

    4.4. number representation

    4.5. string handling

    4.6. identifier declaration

    4.7. keyword usage

5. Variables & Data Types and Vector Arrays

    5.1 Physical Data Types

        5.1.1. wire and tri nets

        5.1.2. Signal Strengths

        5.1.3. wired nets

        5.1.4. trireg nets

        5.1.5. tri0 and tri1 nets

        5.1.6. supply0 and supply1

    5.2. Register Data Types

        5.2.1. reg

        5.2.2. integer

        5.2.3. real

        5.2.4. scalar vs vector vs arrays

6. Constant Variables

    6.1. parameter

    6.2. localparam

7. Compiler Directives

    7.1. include

    7.2. define

    7.3. timescale

    7.4. Conditional Compilation

8. System Task & Functions

    8.1. $display vs $monitor vs $strobe vs $write

    8.2. $random : Random Number Generation

    8.3. Time Functions

    8.4. Conditional Simulation

    8.5. Simulation Control

9. Design and Testbench Creation

    9.1. Module Structure & Elements

    9.2. Module Instantiation

    9.3. Module Port Mapping

    9.4. Design Module Fundamentals

    9.5. Testbench Creation Techniques

    9.6. Practical Examples

10. Verilog Operators and Operands

    10.1. Operators Precedence

    10.2. Arithmetic Operator

    10.3. Logical Operator

    10.4. Bitwise Operator

    10.5. Reduction Operator

    10.6. Relational Operator

    10.7. Shift Operator

    10.8. Equality Operator

    10.9. Replication Operator

    10.10. Concatenation Operator

    10.11. Conditional Operator

11. Gate-Level Modeling/Designing of Digital Circuits

    11.1. Pre-defined Gate Primitives

    11.2. Gate Delays

12. Switch-Level Modeling/Designing

    12.1. Understanding MOS Behaviour

    12.2. Switch Level Primitives

        12.2.1. PMOS & NMOS Behavior

        12.2.2. CMOS Logic Gates

        12.2.3. Transmission Gates

        12.2.4. Resistive MOS Switches

    12.3. Drive Strength and Resolution

    12.4. Practical CMOS Circuits

    12.5. Advanced Examples

13. Data-Flow Modeling/Designing

    13.1. Continuous Assignments

    13.2. Practical Examples

    13.3. Advanced Techniques

14. Behavioural Modeling/Designing

    14.1. Behavioural Blocks (initial & always)

    14.2. Sequential and Parallel Blocks

    14.3. Blocking and Non-Blocking Assignments

    14.4. Timing Controls

        14.4.1. Delay Based Timing Controls

        14.4.2. Event Based Timing Controls

        14.4.3. Level Sensitive Timing Controls 

        14.4.4. Advanced Timing Techniques

    14.5. Multiway Branching

        14.5.1. If/Else Statements

        14.5.2. Case Statements

        14.5.3. Advanced Techniques

    14.6. Loops

        14.6.1. For Loop

        14.6.2. While Loop

        14.6.3. Repeat Loop

        14.6.4. Forever Loop

        14.6.5. Advanced Techniques

    14.7. Generate Block

        14.7.1. Generate for

        14.7.2. Generate if

        14.7.3. Generate case

        14.7.4. Advanced Generate Techniques

15. Tasks & Functions

    15.1. Function

    15.2. Task

    15.3. Static and Automatic Behaviour

    15.4. Re-entrant task and functions

    15.5. Advanced Techniques

16. User Defined Primitives (UDPs)

    16.1. Combinational UDPs

    16.2. Sequential UDPs

    16.3. Advanced Techniques

17. Delay Modeling
    17.1. Distributed Delay

    17.2. Lumped Delay

    17.3. Pin-to-Pin Delay

    17.4. Specify Block

18. Timing Checks

19. Timing Regions

VERILOG LABS

  1. Designing of Logic Gates

  2. Designing of Combinational Circuits

  3. Designing of Different Types of Latches

  4. Designing of All Flip-Flops

  5. Designing of Different Types of Counters

  6. Designing of Multiple Shift Registers

  7. Designing of Pattern Detector FSM

Introduction & Overview of Verilog HDL

© Copyright 2025 VLSI Mentor. All Rights Reserved.©

Connect with us

  • Instagram
  • Facebook
  • Twitter
  • LinkedIn
  • YouTube
bottom of page