Course detail
Functional Verification of Digital Systems
FIT-FVSAcad. year: 2020/2021
Importance of functional verification. Requirements specification and verification plan. Simulation and creating testbenches. Functional verification and its methods (pseudo-random stimuli generation, coverage-driven verification, asserion-based verification, self-checking mechanisms). Verification methodologies and SystemVerilog language. Reporting and correction of errors. Emulation and FPGA prototyping.
Language of instruction
Number of ECTS credits
Mode of study
Guarantor
Department
Learning outcomes of the course unit
Prerequisites
Co-requisites
Planned learning activities and teaching methods
Assesment methods and criteria linked to learning outcomes
Exam prerequisites:
Requirements for class accreditation are not defined.
Course curriculum
Work placements
Aims
Specification of controlled education, way of implementation and compensation for absences
Recommended optional programme components
Prerequisites and corequisites
Basic literature
Recommended reading
Bergeron, J.: Writing Testbenches using SystemVerilog, Springer, USA, 2006. ISBN: 0387292217
Haque, F., Michelson, J., Khan, K.: The Art of Verification with SystemVerilog Assertions, Verification Central, USA, 2006. ISBN: 0971199418.
Lecture notes in e-format.
Myer, A.: Principles of Functional Verification, Newnes, USA, 2003. ISBN: 0750676175.
Přednáškové materiály v elektronické formě.
Spear, Ch., Tumbush, G., SystemVerilog for Verification: A Guide to Learning the Testbench Language Features, Springer, USA, 2012. ISBN: 1461407141.
Classification of course in study plans
- Programme IT-MSC-2 Master's
branch MGM , 0 year of study, summer semester, elective
branch MBI , 0 year of study, summer semester, elective
branch MBS , 0 year of study, summer semester, elective
branch MIN , 0 year of study, summer semester, elective
branch MIS , 0 year of study, summer semester, elective
branch MMI , 0 year of study, summer semester, elective
branch MMM , 0 year of study, summer semester, elective
branch MPV , 0 year of study, summer semester, elective
branch MSK , 0 year of study, summer semester, elective - Programme MITAI Master's
specialization NISY , 0 year of study, summer semester, elective
specialization NADE , 0 year of study, summer semester, elective
specialization NBIO , 0 year of study, summer semester, elective
specialization NCPS , 0 year of study, summer semester, elective
specialization NEMB , 0 year of study, summer semester, compulsory
specialization NHPC , 0 year of study, summer semester, elective
specialization NGRI , 0 year of study, summer semester, elective
specialization NIDE , 0 year of study, summer semester, elective
specialization NISD , 0 year of study, summer semester, elective
specialization NMAL , 0 year of study, summer semester, elective
specialization NMAT , 0 year of study, summer semester, elective
specialization NNET , 0 year of study, summer semester, elective
specialization NSEC , 0 year of study, summer semester, elective
specialization NSEN , 0 year of study, summer semester, elective
specialization NSPE , 0 year of study, summer semester, elective
specialization NVER , 0 year of study, summer semester, elective
specialization NVIZ , 0 year of study, summer semester, elective
Type of course unit
Lecture
Teacher / Lecturer
Syllabus
- History of functional verification, HDL and HVL languages. Requirements specification and the verification plan.
- Testing digital systems using simulation. VHDL language. Creating testbenches. HDL simulators.
- Introduction to functional verification. Functional verification techniques.
- Verification methodologies. HVL languages.
- Pseudo-random stimuli generation, direct tests, constraints.
- Coverage-driven verification. Coverage metrics. Coverage measurement and analysis.
- Self-checking mechanisms.
- Assertions. Assertion languages. Errors reporting.
- Assertion-based verification.
- Emulation and prototyping.
- Hardware debugging.
- Industry lecture.
- Special cases in verification of digital systems. Other verification approaches. Challenges and open problems in verification.
Laboratory exercise
Teacher / Lecturer
Syllabus
- Creating testbench for arithmetic-logic unit (ALU).
- Creating verification environment for ALU.
- Coverage-driven verification of ALU.
- Assertion-based verification of ALU.
Project
Teacher / Lecturer
Syllabus