top of page

System Verilog

As we know, 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]. [Click here for Verilog]

​

System Verilog is of both types HARDWARE DESCRIPTION LANGUAGE (HDL) and HARDWARE VERIFICATION LANGUAGE (HVL). It is also called as enhancement of Verilog HDL. The source code is written in a text file with the extension [*. sv].

 

Any System Verilog source code is created with the combination of IDENTIFIERS and KEYWORDS which are also called as SYNTAX/SEMANTICS. All the lexical conventions of Verilog HDL are supported in System Verilog.

​

We can say that (Verilog + OOPs = System Verilog). But, its not the complete difference among both the languages. ​

image.png

All the concepts in Verilog are enhanced in System Verilog, we have explained each and every concepts of System Verilog in relation with Verilog so that readers can easily imagine the connection between Verilog and System Verilog.

​

Below points describes the few more differences between Verilog and SV:

Verification Enhancements
image.png
  1. Objected Oriented Programming (OOPs): concepts are newly added in System Verilog for creating highly scalable and reusable testbench to verify high performance designs.

  2. Interface: is newly added for resolving connection related issues between complex designs and testbench.

  3. Randomization: is the key concept for generating random inputs. Constraints are also added for limitation of range in which generated input value lies.

  4. Coverage: is introduced for capturing the information of the design and testbench while running the simulations.

  5. Assertions: are added for verification of particular part of design directly without running simulations.

  6. Packages, Program Block, Inter Process Communication (IPC)- Mailbox and Semaphore: are newly added for making smooth verification process.

Designing Enhancements
image.png
  1. Port Mapping Rules: are added for better connections between design hierarchy.

  2. Behavioural Blocks: Three procedural blocks are newly added for resolving ambiguity errors as well as design blockage/deadlock issue.

    1. always_comb: models combinational circuits.​

    2. always_latch: models latch circuits.

    3. always_ff: models flip flop circuits.

  3. Task & Function: are enhanced for introducing better reusability and splitting the larger code into smaller parts.​

  4. Operator and Loop: are enhanced for reducing the complexity of boolean expression.

  5. Lexical Conventions: are enhanced for better control over the language.

system-verilog-logo.png
  1. Introduction to System Verilog

  2. ​Literal Values

  3. Data Types

  4. Arrays

  5. Operators and Expressions

  6. Loops and Multi-way Branching Statements

  7. Procedural Blocks and Processes

  8. Task and Function

  9. Interface, Virtual Interface, and Modport

  10. Clocking Blocks

  11. Program Block, Packages and Final Block

  12. Casting and Events

  13. Semaphore and Mailbox

  14. Object Oriented Programming (OOPs)

  15. Randomization and Constraints

  16. Coverage

  17. Assertions

  18. Testbench Environment Creation

  19. Direct Programming Interface (DPI)

  20. UVM Pre-requisite

© Copyright 2025 VLSI Mentor. All Rights Reserved.©

Connect with us

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