Skip to content

Functional verification of a 4-bit DUT using SystemVerilog and ModelSim, featuring randomized stimulus, self-checking testbench, and coverage analysis.

License

Notifications You must be signed in to change notification settings

Marisa-Mathew/DUT-Verification-and-Testing-Using-System-Verilog

Repository files navigation

DUT-Verification-and-Testing-Using-System-Verilog


Verification Methodology

The testbench follows a layered verification approach inspired by UVM concepts:

  1. Transaction generation → 2. Driver stimulation → 3. Monitoring & Coverage collection → 4. Scoreboarding for validation.

All tests are self-checking, ensuring automated result validation without manual intervention.


File Structure

   
├── demux_logic.sv
├── testbench_1.sv
├── interface.sv
├── packet.sv
├── covergroup.sv
├── monitor.sv
├── driver.sv
├── queue.sv
├── scoreboard.sv
├── testbench_2.sv
└── README.md   

Implementation Steps

  1. Designed 1-bit slice and 4-bit DUT modules.
  2. Created simple testbench for functional validation.
  3. Implemented SystemVerilog interface for DUT connectivity.
  4. Developed randomized packet generation (50 transactions).
  5. Implemented self-checking testbench with driver, monitor, and scoreboard.
  6. Collected coverage metrics to ensure verification completeness.

Testbench Architecture

The verification environment includes:

  • Interface: Defines input and output connections between DUT and Testbench.
  • Driver: Sends randomized stimulus to DUT.
  • Monitor: Captures DUT outputs for analysis.
  • Packet Class: Generates random transactions (a, b, c, d, sel).
  • Scoreboard: Compares DUT output with expected results.
  • Coverage Group: Tracks functional coverage for all input combinations and cross coverage (sel x a, sel x b, sel x c).

Simulation & Tools

  • Language: SystemVerilog (IEEE 1800-2017)
  • Simulator: ModelSim
  • Target Design: 4-bit logic (e.g., demultiplexer)
  • Verification Method: Coverage-driven, randomized testing

Results

  • Achieved complete functional coverage.
  • Successfully verified DUT functionality across all 4-bit combinations.
  • Demonstrated efficient, modular, and reusable verification environment.

Author

Marisa Mathew MTech in (VLSI & Embedded Systems)
Developed as part of a SystemVerilog verification project using interface-based and coverage-driven techniques.


License

This repository is protected under All Rights Reserved © 2025 Marisa Mathew

About

Functional verification of a 4-bit DUT using SystemVerilog and ModelSim, featuring randomized stimulus, self-checking testbench, and coverage analysis.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published