will be under system maintenance from Tuesday June 28, 6pm PT to Sunday July 3, 11pm PT. Login and registration will be disabled.
Home > Training > NA > NA Training Course Detail

NA Training Course Detail 

Back to course catalog

Delivery MethodVersionDatesLocationsLengthCost 
Online Subscription Available 24 hours, 7 days a week.Online2912.00Register »
Online25.0Available 24 hours, 7 days a week.Online  2184.00Register »
Instructor Led26.0Scheduled upon demand 32  Hrs2912.00Express Interest »

Course ID:  ES_82110_26.0

"Excellent course and instructor! I know this course will be of much help to me in the future."
Satisfied Cadence Customer

Course Description

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.

Learning Objectives

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

Software Release(s)

  • Incisive 15.1, Encounter RTL Compiler 14.25

Course Agenda

Note that this course can be tailored to better meet your needscontact 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.

Related Courses

Please see course learning maps at this link for a visual representation of courses and course relationships. Regional course catalogs may be viewed here.