0% found this document useful (0 votes)
7 views

Advanced_VLSI_Randomization_Functional_Coverage

Uploaded by

snehachic48
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

Advanced_VLSI_Randomization_Functional_Coverage

Uploaded by

snehachic48
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 15

RAJARAJESWARI COLLEGE OF ENGINEERING

Department Name: Electronics and Communication Engineering


Subject: Advanced VLSI
Subject Code: 21EC71

Seminar Topic: Randomization and Functional Coverage

Submitted By: Rajesh R D


USN: 1RR21EC064
Subject Coordinator: Dr S M Vijaya
Introduction: What to Randomize?
• - Definition: Randomization involves
generating data and scenarios for testing.
• - Importance: Helps uncover edge cases in
VLSI testing.
• - Examples:
• • Randomizing test data (e.g., addresses,
data values).
• • Randomizing sequence of operations.
Advantages of Randomization
• - Increases flexibility in test generation.
• - Enhances coverage of edge cases.
• - Reduces manual effort in writing test cases.
Randomization in System Verilog
• - System Verilog supports randomization for
test automation.
• - Key Features:
• • rand and randc properties.
• • Constraints for valid scenarios.
• - Example: Class-based randomization.
Randomization Syntax Example
• class RandomExample;
• rand int addr;
• constraint valid_addr { addr > 0 && addr <
256; }
• endclass

• RandomExample obj = new();


• obj.randomize();
Constraint Examples
• - Soft Constraint: Allows flexibility in
randomization.
• - Hard Constraint: Enforces strict rules.

• Example:
• constraint soft_example { addr % 4 == 0; }
Random Number Functions
• - Built-in functions for generating random
numbers:
• • $urandom: Uniform distribution.
• • $urandom_range(min, max): Generate
within a range.
• - Example:
• int random_val = $urandom_range(0, 255);
Applications of Random Functions
• - Generating test cases for edge conditions.
• - Simulating diverse hardware scenarios.
• - Stress-testing designs under random
conditions.
Functional Coverage
• - Definition: Measures how much functionality
is tested.
• - Types:
• • Code Coverage.
• • Functional Coverage.
• • Toggle Coverage.
Coverage Groups in System Verilog
• Example:
• covergroup cg;
• coverpoint addr;
• bins addr_bins[] = {[0:255]};
• endgroup

• cg cg_inst = new();
• cg_inst.sample();
Coverage Strategies
• - Cross-coverage: Combine two or more
coverpoints.
• - Data Sampling: Analyze specific conditions or
events.
Analyzing Coverage Data
• - Tools: Coverage analyzers and simulators.
• - Goals:
• • Identify untested scenarios.
• • Improve overall test effectiveness.
Challenges in Randomization and
Coverage
• - Debugging constraint violations.
• - Balancing flexibility with validity.
• - Achieving 100% coverage.
Real-World Applications
• - Used in VLSI verification for ASIC and FPGA
designs.
• - Improves reliability of complex systems.
Conclusion
• - Randomization and Functional Coverage are
vital for robust VLSI verification.
• - They enhance testing efficiency and ensure
design reliability.

You might also like