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
To understand and implement a verification plan and a testbench, and execute it.
Related competences:
CG4,
CEE4.1,
CB7,
CTR3,
To be able to provide and defend the verification plan and its execution phases.
Related competences:
CB8,
CTR3,
CTR5,
To use the EDA tools required to accomplish the project.
Related competences:
CB7,
CTR5,
Contents
Introduction to pre-silicon verification
Why verification is critical in modern design. Overview of the verification flow. The role of
verification in microprocessor design.
Verification planning and testbenches
Verification plan and coverage goals. Testbench architecture. Monitors, checkers, and scoreboards.
SystemVerilog for verification (SVV)
SystemVerilog basics for testbench design. Interfaces and clocking blocks. Randomization and constraints. Classes, inheritance, polymorphism. Transactions (TLM).
Directed and randomized tests
Directed test methodologies. Randomized test generation. Test coverage analysis. Debugging strategies. Stimulus variation. Predictability vs. randomness. Constraints in test generation.
Assertions and functional coverage
Immediate vs. concurrent assertions. SVA (SystemVerilog Assertions) syntax and
examples. Functional coverage vs. code coverage. Coverage-driven verification.
Introduction to UVM (Universal Verification Methodology)
UVM goals and structure. UVM components. Factory, configuration, and objection mechanisms.
UVM testbenches and sequencing
UVM test phases and flow. Sequences and sequence items. Building reusable tests. Debugging and simulation output.
Processor-specific verification challenges
Verifying CPU pipelines and control logic. Instruction-level and architectural verification. Handling interrupts, exceptions, and hazards. ISA compliance testing.
Formal verification techniques
Model checking and theorem proving overview. Equivalence checking. Bounded model
checking. Use cases and limitations in microprocessor design.
Performance and power verification
Power-aware simulation concepts. Functional vs. low-power states. Performance modeling.
Debug strategies and coverage closure
Interpreting functional/code coverage reports. Optimizing tests for coverage. Debugging techniques and waveform analysis.
Trends and real-case studies
Latest trends in verification (RISC-V, ML-driven verification, formal tools). Review of real CPU verification case studies.
Introduction to post-silicon validation
How errors are detected and fixed in real hardware. Tools and methodologies.
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