Expert VHDL
Advanced Level - 5 days
view dates and locations
Auf DeutschExpert VHDL is an intensive 5-day advanced application course. It teaches engineers how to increase productivity by enhancing their VHDL coding and application skills. Presented in two distinct course modules, Expert VHDL focuses on language and synthesis issues, design maintainability and re-use, test benches and the latest techniques for verification - including an introduction to OVL and modern assertion-based approaches to verification.
- Expert VHDL Design (2 days) is for design engineers wishing to deepen their knowledge of RTL synthesis using VHDL, and to improve their VHDL coding style with design maintainability and re-use in mind. Design for Verification is also covered with an introduction to modern assertion-based techniques.
- Expert VHDL Verification (3 days) is for design engineers and verification engineers involved in VHDL test bench development or behavioural modelling for the purpose of functional verification
The modules, which may be attended together or independently, follow on from the industry standard course, Comprehensive VHDL. Carefully designed workshops comprise approximately 50% of teaching time, and enable engineers to apply their new skills in the context of the latest VHDL design tools, practices and methodologies.
Who should attend?
- Design engineers wishing to improve the efficiency of their hardware designs and increase productivity
- Design and verification engineers who want to structure and write effective test environments to verify complex designs and systems
What will you learn?
- A set of VHDL language features that go beyond what is taught on a basic training class
- A deeper understanding of the VHDL language and how to apply it, enabling you to troubleshoot VHDL simulation and synthesis problems with ease
- The principles and details of how to approach the problem of design verification using VHDL
- How to structure and write large and complex VHDL test benches
- The principles and details of how to write behavioural models of hardware components in VHDL
- To produce smaller and faster hardware design using VHDL and RTL synthesis tools
- A solid introduction to the topic of behavioural synthesis from VHDL, enabling you to judge the applicability and effectiveness of behavioural synthesis in your design context
- The details of a VHDL coding style to facilitate code re-use and how to package IP for re-use
Pre-requisites
This is an advanced language and methodology training course. Prior attendance of the Doulos Comprehensive VHDL (or equivalent) is required, and at least 6 months of 'live' project experience using VHDL is strongly recommended. Delegates attending the Expert Design module must have knowledge and experience of register transfer level coding and synthesis using VHDLCourse materials
Doulos Course materials are renowned as the most comprehensive and user friendly available. Their style, content and coverage is unique in the HDL training world and has made them sought after resources in their own right. Course fees include:- Fully indexed course notes creating a complete reference manual
- Workbook full of practical examples to help you apply your knowledge
- Doulos Golden Reference Guide for language, syntax, semantics and tips
- Tour guides (to support the tools and technologies of your choice).
Structure and Content
Expert VHDL Design (Days 1-2)
RTL
Synthesising combinational and sequential logic • Using variables in clocked processes • Multiple drivers and tri-states • RTL functions and procedures • Kinds of decision-making logic • Using hierarchy to control synthesis • Timing constraints, area constraints, and optimisation options • Using generate and attributes for mapping onto FPGAs • Optimal one-hot decoding • Input hazards and metastability • Multiple clock edges • Synchronisation between clock domains • Synchronising reset signals • Synthesis methodology for large designsIP and Reuse with VHDL
Using standard packages • Language level re-use • Standard component re-use • General re-use • Economic payback from re-use • Packaging IP for re-use • Impact of IP on the development cycle Writing re-usable RTL VHDL • Readability and maintainability • Seeing generaliseable properties Array attributes, cloning ranges • Arrays of arrays, unconstrained arrays, others • Creating regular structures using loops and generate • Using generics to parameterise widths and structuresVHDL Coding Styles for IP Block Design
Records • Using records and aliases for abstraction • Matrices • Converting between matrices and arrays • Representing register banks • Implementing destructive reads • State machine coding styles Synthesis and hardware encoding of state machines • Recursive instantiation and recursive functionsDesign for Verification with Assertions
Reasons for designing with assertions • Properties and assertions • Examples in OVLExpert VHDL Verification (Days 3-5)
VHDL Language
Subprograms, parameters, assigning signals • User defined packages • User defined array types • Record types, selected names, aggregates, arrays of records • Types, subtypes and overloading, conversion functions • Qualified expressions • Generics, string generics, array generics • Configurations, binding and dependencies, generic and port mapsTest Benches
Structure of a simple test bench • Structure of a complex test bench • Procedural stimulus generation • Reactive test benches • File i/o; TEXTIO and ‘C’ • Measuring delays • Monitoring internal signals • Generating random numbers • Collecting diagnostic data • Storing inputs/outputs in a buffer • Tagging data • Control files • Adding a user interface to a test bench • Instantiating behavioural models • Generic and parameterised test benches • Project managementHow VHDL works
Signal assignments • Events and inertial delay • Deltas Drivers and resolution functions • Wait statements • NOW • Static elaboration, the network model • Dynamic elaboration, elaborating arrays and files in subprogramsComponent Modelling
How to structure a behavioural model • Structuring a process to respond to external events • Handling asynchronous or unpredictable inputs • Representing state • Representing fixed and floating point numbers, instruction words, bit-serial data, frames, analog signals • Giving visibility of internal state • Simulation speed • Modelling external timing relationships • Checking timing constraints using signal attributes • 1164 strength strippers • Handling ‘X’ on the inputs • Modelling memories • Modelling analog blocks • Modelling interfaces for inclusion in a test bench • Bus-functional models • Processor models • Foreign bodies for including C models for interfacing to emulators • Hardware/software co-simulation| Course Dates: | ||
|---|---|---|
| May 5th, 2008 | Munich, DE | Enquire |
| May 26th, 2008 | Grenoble, FR | Enquire |
| June 16th, 2008 | Cambridge, UK | Enquire |
| June 30th, 2008 | Eindhoven, NL | Enquire |
| August 4th, 2008 | Bournemouth, UK | Enquire |
Price on request
Back to top

