0% ont trouvé ce document utile (0 vote)
77 vues3 pages

Cours Programmation FPGA SoC

Le document présente un cours détaillé sur la programmation FPGA et SoC, incluant des définitions, des langages de description matérielle comme VHDL et Verilog, ainsi que des environnements de développement tels que Xilinx Vivado et Intel Quartus Prime. Il aborde également la programmation des SoC, en particulier le Zynq, et les étapes de création de projets, ainsi que des exemples d'applications. Enfin, il mentionne des ressources et projets recommandés pour approfondir les connaissances en FPGA et SoC.

Transféré par

Narcis Nems
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
77 vues3 pages

Cours Programmation FPGA SoC

Le document présente un cours détaillé sur la programmation FPGA et SoC, incluant des définitions, des langages de description matérielle comme VHDL et Verilog, ainsi que des environnements de développement tels que Xilinx Vivado et Intel Quartus Prime. Il aborde également la programmation des SoC, en particulier le Zynq, et les étapes de création de projets, ainsi que des exemples d'applications. Enfin, il mentionne des ressources et projets recommandés pour approfondir les connaissances en FPGA et SoC.

Transféré par

Narcis Nems
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Cours detaille : Programmation FPGA / SoC

1. Introduction aux FPGA et SoC


- FPGA (Field Programmable Gate Array) est un circuit logique programmable utilise pour des
traitements paralleles rapides.
- SoC (System on Chip) combine un processeur (ARM), des peripheriques et un FPGA sur un
meme circuit.
- Exemples de SoC : Xilinx Zynq-7000, Intel Cyclone V SoC.

2. Langages de Description Materielle (HDL)


- VHDL (VHSIC HDL) et Verilog sont les deux langages standards pour la description de circuits
logiques.
- VHDL est fortement type, proche du langage ADA, adapte a des designs structures.
- Verilog est plus simple syntaxiquement, inspire du C.

Exemple Verilog simple (clignotement LED):


module blink_led(input clk, output reg led);
reg [23:0] counter = 0;
always @(posedge clk) begin
counter <= counter + 1;
if(counter == 24'd10000000)
led <= ~led;
end
endmodule

3. Environnement de Developpement
- Xilinx Vivado (pour FPGA Zynq, Artix, etc.)
- Intel Quartus Prime (pour FPGA Cyclone, MAX10)
- ModelSim ou Vivado Simulator pour la simulation

Etapes :
1. Creation du projet
2. Ecriture du code HDL (VHDL/Verilog)
3. Synthese et implementation
4. P&R (Placement and Routing)
5. Bitstream generation
6. Telechargement sur FPGA via JTAG/USB

4. Programmation SoC (Zynq)


- Zynq contient un processeur ARM Cortex-A9 + FPGA.
- Les peripheriques peuvent etre connectes via bus AXI.

Design typique :
1. Creation dun bloc IP personnalise (en HDL)
2. Connexion via AXI-Lite a lARM
3. Generation de Device Tree, FSBL, etc.
4. Developpement logiciel (bare-metal ou Linux)

Logiciel de controle : Xilinx SDK / Vitis (C/C++)

Exemple : UART ou PWM controle depuis ARM, logique de traitement dans FPGA.

5. Traitement du Signal et Interfaces


- Implementation de filtres FIR/IIR, FFT sur FPGA
- Modulations QPSK, 8PSK, 16APSK pour DVB-S2
- Interfaces : SPI, UART, I2C, AXI4, GPIO
- Outils : Simulink HDL Coder, MATLAB, Vitis HLS (C-to-HDL)

Exemple : creation d'un filtre passe-bas en HDL + controle via ARM.

6. Ressources et Projets
- Cartes populaires : Digilent Zybo Z7, ZCU104, Terasic DE10-Nano
- Projets open source : LiteX, PYNQ, OpenCores
- Tutoriels recommandes :
* Xilinx "Zynq Book" ([Link]
* Digilent Projects ([Link]
* Awesome FPGA GitHub list
Recommandation : creer un projet LED + PWM + UART en integrant ARM + logique FPGA.

Vous aimerez peut-être aussi