25% off Summer Courses through Aug. 31 and 10% off Fall Courses when you enroll by Aug. 15. Discount is not applicable toward our partner programs: Legal Studies, Paralegal Studies, Digital Marketing Science, and Sales Operations.
Coronavirus (COVID-19) Update
All summer & fall classes are offered remotely—either live-online with an instructor, entirely self-paced, or in a blended online format. Please check our coronavirus update page for our latest announcements.
SystemVerilog Essentials: Functional Verification and Simulation
SystemVerilog enhances Verilog in a number of important areas and is becoming increasingly popular in the field of SoC design and verification. It is the new IEEE standard of 1800. This course covers the essential aspects of SystemVerilog, focusing on functional verification and logic simulation.
This course starts with a brief review of IEEE-1364 Verilog language. Students learn the digital simulation process, including compilation, elaboration/linking, and running simulation. VCS is the main simulator used in the course. However, implementation of NC-Verilog and ModelSim will also be covered. Simulation techniques such as coding style, event ordering, delta cycle debugging, zero width glitch, race conditions, time slices and conditional compilation will be discussed. The course also addresses simulation performance and code coverage.
SystemVerilog essentials include new data types, interfaces, classes, randomization, and overview of assertions. Examples are given to show how these tools help designers with code compaction and system verifications.
This is a lab-based course with hands-on exercises using the simulation tool and process. It provides an opportunity for designers and verification engineers to acquire essential knowledge and experience before progressing to more advanced courses.
- Review of IEEE-1364 Verilog
- Simulation techniques and practices
- Delta Cycles and event ordering
- Simulation performance
- SystemVerilog: history and evolution
- SystemVerilog: new data types
- Classes and randomization
- Assertions Overview
Skills Needed: Knowledge of basic logic design and familiarity with a high-level programming language (e.g., Perl or C) and experience using Linux environment.
Course Availability Notification
Please use this form to be notified when this course is open for enrollment.
Ask us any questions you may have about this course.