Esperan Logo
Esperan is internationally recognised as a high quality provider of training in VHDL, SystemVerilog, SystemC, PSL, SVA, OVM, TLM and for courses covering design, verification, and PCB methodologies.
Esperan Schedule Menu
Esperan Course Menu
Esperan Contact Menus
Esperan UK contact information Phone +44 1344 865436
Fax +44 1344 865347
Email:
info@esperan.com

Contacts for other regions
VHDL for Verilog Engineers

Duration | Requirements | Agenda

Scheduled Classes...

Contact Esperan for more information or to request an on-site class.


Testimonials

"Your trainer did a fantastic job with a tough group."


Introduction

There is increasing pressure on Hardware Designers to become bi-lingual. Design reuse, commercial Intellectual Property and distributed design teams are creating language neutral design methodologies, where an engineer may use VHDL for writing testbenches; Verilog and VHDL for RTL design and Verilog for gate level simulation.


Overview

VHDL for Verilog is an intensive course in VHDL for engineers who already have experience of Verilog. Based on Esperan's high-quality VHDL language and application training and delivered by trainers especially chosen for their in-depth knowledge of both languages, this course is the fastest and most effective method for Verilog engineers to understand the intricacies of VHDL and become proficient in the language.

Verilog and VHDL are close enough to be familiar, but can be frustratingly different in the detail. This course will explain the key language differences. For example, in VHDL:

  • Both concurrent and procedural assignments can be made to the same object.
  • Different objects are needed for the targets of blocking and non-blocking assignments.
  • Case statements must be full and parallel by design.
  • There are 9 logic values, but they are not part of the main VHDL standard! Neither are arithmetic operators for vectors!

Objectives

  • To provide a complete understanding of the essential concepts of VHDL and how these differ from Verilog.
  • To give you practical experience of writing VHDL for synthesis and verification.
  • To give you the knowledge to approach your VHDL or dual language design project with confidence.

 


Duration

The course is based around a 3-day agenda, covering language basics; synthesis coding styles and testbench creation. We can also offer standard or customized versions of this course onsite or at the location of your choice.


Requirements

This course assumes prior knowledge of Verilog, for example from attendence at Esperan's Master Verilog Effectively training.


Description

This course covers:-

 

Language Basics

Language concepts and constructs, including use of high level data-types; issues with arithmetic operators and use of signals versus variables.

Synthesis Coding Styles

VHDL templates for inferring combinational and registered logic, and a thorough explanation of the rules for writing high quality, reusable RTL.

Advanced Constructs and Verification Issues

Use of subprograms and advanced constructs such as generics and generates. Language techniques for testbench design are also covered, including File IO.


Agenda


  • VHDL language introduction
    • Entity; architecture; hierarchy; configurations; processes; types; packages; libraries; comments; compilation order; language rules.
  • Signals and Data-types
    • Types; signal assignments; arrays; records; logic value sets.
  • VHDL Operators
    • Logical and relational operators; concatenation; array slices.
  • Sequential Statements
    • Process; if and case syntax; for loops; Multiple concurrent & sequential assignment statements; conditional and selected signal assignment.
  • Sequential Statements and the Simulation Cycle
    • Simulation cycle; wait statement; variables; loops
  • Arithmetic Operators
    • Operators; vendor arithmetic packages
  • Definition of RTL Code
    • Rules for describing combinational and registered logic in VHDL
  • Synthesis Coding Styles
    • State machine descriptions; if and case synthesis; initialization
  • Advanced Synthesis Coding Styles
    • Synthesis of variables; state vector encoding; synthesis directives; tri-states
  • Functions & Procedures
    • Function declaration and call; procedure declaration and call; parameter classes and modes; type qualification; resolution functions
  • Advanced Concurrent VHDL
    • Generics; generates
  • Advanced Data Types
    • Multi-dimensional arrays; type conversion and closely related types; subtypes; aliases
  • Testbench Coding Styles
    • Simple stimulus; assertions; clocks and resets; textio; pseudo-code based example

 

Course Labs

The labs have been designed to follow on from each other over the course of the training, building on code developed in each lab to create an overall design project.

 

The lab sessions include

  • Familiarization with simulation and synthesis tools
  • Describing and verifying combinatorial logic
  • Creating registered logic
  • Using vector arithmetic packages
  • Structural design and hierarchy
  • Verification using visualization of results
  • State machine design
  • Verification using script driven, self-checking testbenches
  • Integration and verification of a third-party IP model