The Verilog Language and Application course offers a comprehensive exploration of the Verilog HDL and its application to ASIC and programmable logic design. The course provides a solid background in the use and application of the Verilog HDL to digital hardware design. This training course covers all aspects of the language, from basic concepts and syntax through synthesis coding styles and guidelines to advanced language constructs and design verification. It also touches upon ASIC library design concepts.
After completing this course, you will be able to:
- Use fundamental Verilog constructs to create simple designs.
- Ensure that Verilog designs meet the requirements for synthesis.
- Develop Verilog test environments of significant capability and complexity.
Software Used in This Course
- Any Verilog simulator compliant with IEEE Std. 1364-2001
- Incisive 15.1, Encounter RTL Compiler 14.25
Note that this course can be tailored to better meet your needs – contact the Cadence training staff for specifics.
Days 1 and 2: Verilog Language Basics
- The first two days of the course cover the fundamental principles of the language and the constructs most commonly used in synthesizable Register Transfer Level (RTL) design.
- Problematic concepts such as blocking and nonblocking assignments are discussed in depth, and industry best-practice guidelines are presented.
- About the Course
- Describing Verilog Applications
- Language introduction
- Choosing Between Verilog Data types
- Using Verilog Operators
- Making Procedural Statements
- Making Blocking and Non-Blocking Assignments
- Using Continuous and Procedural Statements
- Understanding the Simulation Cycle
- Using Functions and Tasks
- Directing the Compiler
Day 3: Design and Synthesis Coding Styles
- The third day examines synthesis coding styles and guidelines in depth, including an explanation of the rules for writing high-quality, reusable, and synthesizable code.
- Introducing the process of synthesis
- Coding the RTL for Synthesis
- Designing Finite State Machines
- Avoiding Simulation Mismatches
- Managing the RTL Coding Process
- Managing the Logic Synthesis Process
- Coding and Synthesizing an Example Verilog Design
Day 4: Advanced Constructs and Verification Issues
- Day four introduces additional language constructs and considers techniques and strategies for the functional verification of large-scale designs.
- Using Verification Constructs
- Coding Design Behavior Algorithmically
- Using System Tasks and System Functions
- Generating a Test Stimulus
- Developing a Testbench
- Example Verilog Testbench
- Conclusions and Next Steps
- Design Engineers
- Verification Engineers
You must have:
- The ability to navigate a file system and use a text editor
- A basic understanding of digital hardware design and verification
Prior experience with a procedural programming language is useful.
Please see course learning maps at this link for a visual representation of courses and course relationships. Regional course catalogs may be viewed here.