Advanced VHDL

Increase your VHDL proficiency by learning advanced techniques that will help you write more robust and reusable code. This comprehensive course is targeted toward designers who already have some experience with VHDL.

The course highlights modeling, testbenches, RTL/synthesizable design, and techniques aimed at creating parameterizable and reusable designs. The majority of class time is spent in challenging hands-on labs as compared to lecture modules.

Level

FPGA 4 

Training Duration

2 days

Who Should Attend?

VHDL users with intermediate knowledge of VHDL

Prerequisites

  • Designing with VHDL course or equivalent knowledge of modeling, simulation, and RTL coding
  • At least 6 months of coding experience beyond an introductory course

Software Tools

  • Vivado® Design or System Edition 2016.1

Hardware

  • Architecture: N/A*
  • Demo board: None*

Skills Gained

After completing this training, you will know how to:

  • Write efficient and reusable RTL, testbenches, and packages
  • Create self-testing testbenches
  • Create realistic models
  • Use the text IO capabilities of the VHDL language
  • Store simulation data dynamically
  • Create parameterized designs
  • Create parameterized code for design reuse

Course Outline

 

Day 1

1.1 Review of Current Knowledge

 

1.2 Simulation Concepts

 

1.3 Advanced Data Types

 

1.4 Subprograms and Design Attributes

 

1.5 Lab 1: Flexible Functions

Construct and use predefined attributes to build functions and procedures that automatically adjust to the size of the passed arguments as well as creating a reusable module with unconstrained ports.

 

1.6 Access Type Techniques and Blocks

 

1.7 Lab 2: Linked Lists with Access Types

Create linked lists to capture arbitrarily large data sets. Also included in this lab is a reusable helper package for managing singly linked lists.

 

1.8 Utilizing File IO

 

1.9 Lab 3: TextIO Techniques

Load memory for synthesis via a text file using the TextIO extensions for std_logic and std_logic_vector as provided by the std_logic_TextIO package.

 

Day 2

2.1 Cool Stuff with VHDL

 

2.2 Lab 4: Creating Real-World Simulations

Create spread-spectrum clocks with jitter and other real-world factors. Model board and behavioral component delay.

 

2.3 Supporting Multiple Platforms

 

2.4 Lab 5: Supporting Multiple Platforms

Effectively use configuration statements, conditional generates, and scripts to build variations on VHDL themes.

2.5 Non-Integer Numbers

2.6 Lab 6: Implementing Fixed and Floating Point Numbers

Construct a simple fixed point math example and compare to the IEEE_PROPOSED fixed and floating point models.

2.7 Course Summary

 

 

 DOWNLOAD REGISTRATION FORM

       ONLINE REGISTRATION

 

 

 

Course Registration Form


Course Title
Invalid Input

or Key in Your Own Title
Invalid Input

Course Start Date

Invalid Input

Sponsorship (*)
Invalid Input


Contact Person


Salutation(*)
Invalid Input

Name(*)
Invalid Input

Designation/ Department/ Division(*)
Invalid Input

Company(*)
Invalid Input

Billing Address (*)
Invalid Input

Street Address

(*)
Invalid Input

Street Address Line 2

City(*)
Invalid Input

State / Province(*)
Invalid Input

Postal / Zip Code(*)
Invalid Input

Telephone(*)
Invalid Input

Fax
Invalid Input

Email Address (*)
Invalid Input


Participant Details


Participant Salution 1
Invalid Input

Participant Name1
Invalid Input

Designation/ Department/ Division
Invalid Input

Telephone
Invalid Input

Fax
Invalid Input

Email Address
Invalid Input

Dietary Requirement
Invalid Input


Participant Salution 2
Invalid Input

Participant Name2
Invalid Input

Designation/ Department/ Division
Invalid Input

Telephone
Invalid Input

Fax
Invalid Input

Email Address
Invalid Input

Dietary Requirement
Invalid Input


Participant Salution 3
Invalid Input

Participant Name 3
Invalid Input

Designation/ Department/ Division
Invalid Input

Telephone
Invalid Input

Fax
Invalid Input

Email Address
Invalid Input

Dietary Requirement
Invalid Input


Payment Method(*)
Invalid Input

Cheque number
Invalid Input

PO Number
Invalid Input

How did you get to know about this programme?(*)
Invalid Input

Terms and Conditions
Invalid Input

Invalid Input