Functional Verification of Digital Systems

Language of Instruction:Czech
Completion:examination (written&verbal)
Type of
Hour/semLecturesSem. ExercisesLab. exercisesComp. exercisesOther
Guarantor:Kotásek Zdeněk, doc. Ing., CSc., DCSY
Lecturer:Zachariášová Marcela, Ing., Ph.D., DCSY
Instructor:Zachariášová Marcela, Ing., Ph.D., DCSY
Faculty:Faculty of Information Technology BUT
Department:Department of Computer Systems FIT BUT
Tuelecture - posunuta prednaska z FVS2018-02-27A11312:0013:50
Wedexam - 2. oprava2018-06-06G20215:0016:501MIT
Wedexam - 2. oprava2018-06-06G20215:0016:502MIT
Thuexam - 1. oprava2018-05-24A11209:0010:501MIT
Thuexam - 1. oprava2018-05-24A11209:0010:502MIT
Friexam - řádná2018-05-11A11314:0015:501MIT
Friexam - řádná2018-05-11A11314:0015:502MIT
Learning objectives:
  Overview about functional verification of digital systems. The attention is paid to creating testbenches and functional verification environments according to widely used verification methodologies (OVM, UVM) and to emulation. The aim is to understand how to detect and localize errors in digital systems and how to handle them properly.
  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.
Knowledge and skills required for the course:
  Digital system design, basic programming skills.
Learning outcomes and competences:
  A student will understand the main techniques of functional verification of digital systems: simulation, functional verification and its methods, emulation and prototyping. He/she will be able to analyze source codes and outputs of verification tools, to localize errors and to handle their correction. He/she will master creating basic verification environments in SystemVerilog language according to OVM/UVM verification methodology.
Syllabus of lectures:
  1. History of functional verification, HDL and HVL languages. Requirements specification and the verification plan.
  2. Testing digital systems using simulation. VHDL language. Creating testbenches. HDL simulators.
  3. Introduction to functional verification. Functional verification techniques.
  4. Verification methodologies. HVL languages.
  5. Pseudo-random stimuli generation, direct tests, constraints.
  6. Coverage-driven verification. Coverage metrics. Coverage measurement and analysis.
  7. Self-checking mechanisms.
  8. Assertions. Assertion languages. Errors reporting.
  9. Assertion-based verification.
  10. Emulation and prototyping.
  11. Hardware debugging.
  12. Industry lecture.
  13. Special cases in verification of digital systems. Other verification approaches. Challenges and open problems in verification.
Syllabus of laboratory exercises:
  1. Creating testbench for arithmetic-logic unit (ALU).
  2. Creating verification environment for ALU.
  3. Coverage-driven verification of ALU.
  4. Assertion-based verification of ALU.
Syllabus - others, projects and individual work of students:
 Design and implementation of verification environment for a selected digital systém.
Fundamental literature:
  • Myer, A.: Principles of Functional Verification, Newnes, USA, 2003. ISBN: 0750676175.
  • Bergeron, J.: Writing Testbenches using SystemVerilog, Springer, USA, 2006. ISBN: 0387292217
  • Spear, Ch., Tumbush, G., SystemVerilog for Verification: A Guide to Learning the Testbench Language Features, Springer, USA, 2012. ISBN: 1461407141.
  • Haque, F., Michelson, J., Khan, K.: The Art of Verification with SystemVerilog Assertions, Verification Central, USA, 2006. ISBN: 0971199418.
  • Amos, D., Lesea, A., Richter, R.: FPGA-Based Prototyping Methodology Manual: Best Practices in Design-For-Prototyping, Synopsys Press, USA,2011. ISBN: 1617300047.
Study literature:
 Lecture notes in e-format.
Controlled instruction:
  • Participation in computer labs is not checked but active participation and presentation of results to the tutor is evaluated by 5 pts.
  • If students cannot attend a lab, it is possible to create a review from a selected verification paper (possible just during active labs weeks). 
Progress assessment:
  Labs and project in due dates.
Exam prerequisites:
  Requirements for class accreditation are not defined.

Your IPv4 address:
Switch to IPv6 connection

DNSSEC [dnssec]