This course is aimed at all those who work in the field of electronics (Hardware, Firmware, and Software MiddleWare designers) who want to master the versatility and potential of FPGA programmable devices. The course consists of two days entirely dedicated to the introduction to the VHDL language.
To participate in the course, knowledge of the fundamental principles of programming using high-level languages is required.
Course program
Day 1:
- Introduction
- Introduction to FPGAs
- Different types of FPGAs
- Architecture
- Usage
- Modeling Hardware
- Introduction to Tools
- Simulator (Modelsim)
- Environment of prog. (Xilinx ISE)
- VHDL
- Main characteristics
- Entities and architectures
- Typing
- Signals
- Variables
- Std_logic library
- Processes
- Types of programming:
- Dataflow
- Structural
- Behavioral
- Mixed
- Examples
- Synthesizable VHDL
- Simulation Vs Synthesis
- Examples of synthesis
- Finite State Machines (FSM)
- Programming at the RTL level
immagine Vitis
Day 2:
- VHDL
- Libraries
- Package
- Xilinx ISE
- Usage
- IP library
- Details on BlockRAM and FIFO
- Testbench
- Validation of the project
- Using the Logic Analyzer
- Integrated Logic Analyzer
- Virtual IO
- Examples
- Clock domains
- Comm. Between diff. clock domains
- Metastability
- Digital Clock Manager
- PLL
- HardIP of FPGAs
- Multipliers
- DSP block
- Others
- Examples
- FIR pipelined filter
- Sequential FIR filter
- RocketIO and synchronous serial
- Usage
- Aurora
- Channel bonding
- Interfacing external peripherals
- ADC / DAC