Processor Verification

You are here

Credits
6
Types
Specialization complementary (High Performance Computing)
Requirements
This subject has not requirements, but it has got previous capacities
Department
AC
Upon successful completion of this course, students will be able to understand the critical role of pre-silicon verification in modern microprocessor design. They will be able to identify and apply various verification methodologies and techniques as well as utilize simulation tools to debug and analyze design behavior. Throughout the course students will develop test plans and create effective testbenches using hardware description languages and
verification languages.

Teachers

Person in charge

  • Jesus Sanchez Navarro ( )

Weekly hours

Theory
2
Problems
0
Laboratory
2
Guided learning
0
Autonomous learning
7.11

Objectives

  1. To understand and implement a verification plan and a testbench, and execute it.
    Related competences: CG4, CEE4.1, CB7, CTR3,
  2. To be able to provide and defend the verification plan and its execution phases.
    Related competences: CB8, CTR3, CTR5,
  3. To use the EDA tools required to accomplish the project.
    Related competences: CB7, CTR5,

Contents

  1. Introduction to pre-silicon verification
    Why verification is critical in modern design. Overview of the verification flow. The role of
    verification in microprocessor design.
  2. Verification planning and testbenches
    Verification plan and coverage goals. Testbench architecture. Monitors, checkers, and scoreboards.
  3. SystemVerilog for verification (SVV)
    SystemVerilog basics for testbench design. Interfaces and clocking blocks. Randomization and constraints. Classes, inheritance, polymorphism. Transactions (TLM).
  4. Directed and randomized tests
    Directed test methodologies. Randomized test generation. Test coverage analysis. Debugging strategies. Stimulus variation. Predictability vs. randomness. Constraints in test generation.
  5. Assertions and functional coverage
    Immediate vs. concurrent assertions. SVA (SystemVerilog Assertions) syntax and
    examples. Functional coverage vs. code coverage. Coverage-driven verification.
  6. Introduction to UVM (Universal Verification Methodology)
    UVM goals and structure. UVM components. Factory, configuration, and objection mechanisms.
  7. UVM testbenches and sequencing
    UVM test phases and flow. Sequences and sequence items. Building reusable tests. Debugging and simulation output.
  8. Processor-specific verification challenges
    Verifying CPU pipelines and control logic. Instruction-level and architectural verification. Handling interrupts, exceptions, and hazards. ISA compliance testing.
  9. Formal verification techniques
    Model checking and theorem proving overview. Equivalence checking. Bounded model
    checking. Use cases and limitations in microprocessor design.
  10. Performance and power verification
    Power-aware simulation concepts. Functional vs. low-power states. Performance modeling.
  11. Debug strategies and coverage closure
    Interpreting functional/code coverage reports. Optimizing tests for coverage. Debugging techniques and waveform analysis.
  12. Trends and real-case studies
    Latest trends in verification (RISC-V, ML-driven verification, formal tools). Review of real CPU verification case studies.
  13. Introduction to post-silicon validation
    How errors are detected and fixed in real hardware. Tools and methodologies.

Activities

Activity Evaluation act


Introduction to pre-silicon verification


Objectives: 1
Contents:
Theory
3h
Problems
0h
Laboratory
3.4h
Guided learning
0h
Autonomous learning
4h

Theory
8h
Problems
0h
Laboratory
16.9h
Guided learning
0h
Autonomous learning
28h

Theory
6h
Problems
0h
Laboratory
3.4h
Guided learning
0h
Autonomous learning
24h

Theory
6h
Problems
0h
Laboratory
3.3h
Guided learning
0h
Autonomous learning
24h

Industry trends and post-silicon validation


Objectives: 1
Contents:
Theory
4h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
4h

Verification project


Objectives: 1 2 3
Week: 13 (Outside class hours)
Theory
0h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
12h

Teaching methodology

The main concepts of processor pre-silicon verification will be introduced in the lectures. The students will complete their learning experience with the lab sessions where they will put into practice the concepts learned in the lectures.

Evaluation methodology

The course has two marks:
1) The lab sessions (L)
2) Presentation of a verification project (P)

The final mark will be computed as: 0,4 x L + 0,6 x P

Bibliography

Basic:

Previous capacities

Concepts of digital circuit design.
Hardware description languages (HDL).
Programming and scripting.
Principles of computer architecture.