Site affiché en Français Voir le site en English (USA) Voir le site en English (GB)
Vous êtes ici: ac6 > ac6-formation > FPGAs & ASICs > Xilinx - FPGA Programming in VHDL
Télécharger le catalogue
Télécharger le catalogue
Télécharger la page
Télécharger la page
Ecrivez nous
Ecrivez nous
Version imprimable
Version imprimable
 

VHX Xilinx - FPGA Programming in VHDL

This course explains how to design with VHDL on Xilinx FPGAs using ISE Design Suite


formateur
Objectifs
bullet_jaune_2 Comprehend the various possibilities offered by VHDL language
bullet_jaune_2 Implementing state machine
bullet_jaune_2 Reusing components
bullet_jaune_2 Understand the logical synthesis notions
bullet_jaune_2 Knowing the different writing style and their impact on the quality of synthesis results
bullet_jaune_2 Learning how to write test bench for simulation
bullet_jaune_2 Knowing the performance that can be expected from Xilinx FPGA
bullet_jaune_2 Identify critical paths and verify compliance with the timings
bullet_jaune_2 Learning how to configure compilation options and implementation constraints
bullet_jaune_2 Manipulating the debug tools and implementation reports
Prerequisites
bullet_jaune_3 Knowledge of digital technology
bullet_jaune_3 Concepts of Boolean algebra
bullet_jaune_3 Some programming concepts are desirable (whatever language)
bullet_jaune_3 This training is intended to electronic engineers who are willing to acquire a strong designing methodology, and to take the best of VHDL language and the associated synthesis and simulation tools for designing Xilinx FPGA
Course environment
bullet_jaune_3 One PC for two trainees
bullet_jaune_3 Xilinx ISE Design Suite 13.3 Logic Edition
Related courses
bullet_jaune_2 MicroBlaze implementation, reference N2
bullet_jaune_2 Spartan-6 / Virtex-6 Integrated PCI Express Blockn, reference N2
bullet_jaune_2 Designing with Ethernet MAC logicores, reference N2

Plan
Day 1
From the logic gate to the FPGA
bullet_jaune_2 Structure of an Integrated Circuit
bullet_jaune_3 SSI (small scale integration), TTL
bullet_jaune_3 MSI (medium scale integration), PALs, GALs, PLDs
bullet_jaune_3 LSI (large scale integration), CPLDs
bullet_jaune_3 VLSI (very large scale integration), ASICs, ASSPs, FPGAs
bullet_jaune_2 Development of logical architectures
bullet_jaune_2 Technology constraints
bullet_jaune_3 Interconnection methods (SRAM, Fuse, AntiFuse, Flash)
bullet_jaune_3 Clock distribution
bullet_jaune_3 Logic element types
bullet_jaune_2 Timing issues
Spartan6 and Virtex6 FPGA architecture
bullet_jaune_2 General structure
bullet_jaune_2 CLB and slices notion
bullet_jaune_3 Combinatory logic and registers
bullet_jaune_3 Arithmetical logic
bullet_jaune_3 Distributed memory
bullet_jaune_3 Shift register SRL
bullet_jaune_2 In/Out blocks
bullet_jaune_3 In/Out registers
bullet_jaune_3 DDR registers
bullet_jaune_3 Timing and electric settings and specificities
bullet_jaune_2 Dedicated RAM blocks and use modes
bullet_jaune_3 Customable FIFOs implementation
bullet_jaune_3 Other example of use
bullet_jaune_2 Clocks distribution, DCMs & PLLs
bullet_jaune_3 Global Buffer, local buffer
bullet_jaune_3 DCMs, PLLs and settings
bullet_jaune_2 Dedicated multipliers and DSP48 blocks
bullet_jaune_2 Configuration
bullet_jaune_3 Master, slave, SPI, BPI, JTAG
VHDL Contributions
bullet_jaune_2 Interest of VHDL programming
bullet_jaune_2 Different steps of the design
bullet_jaune_3 Programming
bullet_jaune_3 Simulation
bullet_jaune_3 Synthesis
bullet_jaune_3 Mapping
bullet_jaune_3 Place and Route
bullet_jaune_3 Timing Analysis
bullet_jaune_3 Bitstream generation
Day 2
Basic concepts of VHDL
bullet_jaune_2 Notion of entity / architecture
bullet_jaune_2 IEEE library use
bullet_jaune_2 Predefined types and objects
bullet_jaune_3 Ports, signals, variables
bullet_jaune_2 Different styles of architecture
bullet_jaune_2 Component instantiation
bullet_jaune_2 Practical lab
Combinational logic in VHDL
bullet_jaune_2 Tools for modeling components
bullet_jaune_2 Concurrent and sequential instructions
bullet_jaune_3 Allocation
bullet_jaune_3 Process(Ssensitivity list, Sequential instructions, Variables)
bullet_jaune_2 Predefined operators and of use extended by using standardized packages
bullet_jaune_2 Concurrent instructions : when, with select, for generate
bullet_jaune_2 Practical lab
Day 3
Sequential logic in VHDL
bullet_jaune_2 Flip-flop reminder
bullet_jaune_2 Reset management
bullet_jaune_2 Tri-state buffers
bullet_jaune_2 Synchronous process
bullet_jaune_2 Practical lab
Hardware designing methodology in logical synthesis
bullet_jaune_2 Asynchronous conception and classic tricks
bullet_jaune_3 Metastability and hazards of functioning
bullet_jaune_3 Limits of functional simulation and timing on asynchronous designs: how to get over them?
bullet_jaune_2 Asynchronous event management
bullet_jaune_3 Random
bullet_jaune_3 Data streams
bullet_jaune_2 Synchronous design –advantages-methodology-focusing
bullet_jaune_2 Static timing analysis: how to use it?
bullet_jaune_2 Optimization of performance irrespective of the target
bullet_jaune_2 Pipeline notion
bullet_jaune_2 Practical lab
Writing rules of VHDL code in logical synthesis
bullet_jaune_2 A few tricks to avoid
bullet_jaune_2 Potential interpretation incoherencies between the logical synthesis and the simulation : how to avoid it
Day 4
Hierarchy management for a better use
bullet_jaune_2 Organization of design by functional modules : what routing to choose
bullet_jaune_2 Inference and instancing notions
bullet_jaune_3 When is it important to instantiate primitives or macros ?
bullet_jaune_2 Precautions for an evolutionary and / or re-usable code
bullet_jaune_2 Importance of modules’ name selection and of the nets to facilitate the physical implementation, the simulation and the tuning
bullet_jaune_2 Does the hierarchy have to be preserved during the logical synthesis ?
bullet_jaune_2 Practical lab
Advanced VHDL language for optimization and code re-use in logical synthesis
bullet_jaune_2 Notion of variable and example of use
bullet_jaune_2 Genericity and automatic configuration of re-usable modules
bullet_jaune_2 Useful predefined attributes in logical synthesis
bullet_jaune_2 Functions and procedures
bullet_jaune_2 Definition of packages and libraries
bullet_jaune_2 Practical lab
Implementation and tuning tools
bullet_jaune_2 Implementation stream and bitstream generation
bullet_jaune_3 Translate
bullet_jaune_3 Map
bullet_jaune_3 Place and Route (PAR)
bullet_jaune_3 BitGen
bullet_jaune_2 Analysis of MRP and PAR reports
bullet_jaune_2 Main implementation options
bullet_jaune_3 MAP
bullet_jaune_3 PAR
bullet_jaune_3 BITGEN
bullet_jaune_2 Implementation results analysis tools - constraints
bullet_jaune_3 PlanAhead
bullet_jaune_3 FPGA EDITOR
bullet_jaune_3 TIMING ANALYZER
bullet_jaune_3 Introduction to CHIPSCOPE
bullet_jaune_3 Constraints file
Day 5
The state machines
bullet_jaune_2 Mealy and Moore machines
bullet_jaune_3 Graphic representations
bullet_jaune_3 Implementation
bullet_jaune_3 VHDL translation
bullet_jaune_2 Design principles of an FSM with two processes
bullet_jaune_2 Reset of a state machine
bullet_jaune_2 Simulation usage to verify the design
bullet_jaune_2 Resource use optimization
bullet_jaune_2 Practical lab
Test benches and simulation
bullet_jaune_2 A few basic rules for the writing of an efficient test bench
bullet_jaune_2 VHDL instructions specific to simulation
bullet_jaune_3 Wait and its various forms
bullet_jaune_3 « Loop »
bullet_jaune_3 Assertions
bullet_jaune_3 Data types
bullet_jaune_3 Timing verification
bullet_jaune_3 Others
bullet_jaune_2 Writing components models intended to make the simulation more realistic
bullet_jaune_2 Use of existing models and simulation packages
bullet_jaune_2 Practical lab
bullet_jaune_2 Integration of « pseudo logic » in order to facilitate the interpretation of the simulation results
bullet_jaune_2 Writing and reading of ASCII files
bullet_jaune_3 Allocation of a data flow from a file - Test vector generation
bullet_jaune_3 Storage of the simulation results in a file
bullet_jaune_2 Command interpreter
bullet_jaune_2 Generating information messages
bullet_jaune_2 Practical lab