Comparer Vivado, Quartus Prime, Libero SoC et les outils FPGA open-source pour choisir un flux VHDL de synthèse et d'implémentation.
Le choix du composant détermine d'abord celui de l'outil. La chaîne doit accepter le RTL, réaliser le placement et le routage, puis produire une configuration compatible avec le FPGA.
Outil
Éditeur
Famille de FPGA
Vivado
AMD (ex-Xilinx)
7-Series, UltraScale, UltraScale+, Zynq, Versal
ISE
AMD (ex-Xilinx)
Spartan-3/6, Virtex-4/5/6 (fin de vie)
Quartus Prime
Intel (ex-Altera)
Cyclone, Arria, Stratix, Agilex
Libero SoC
Microchip (ex-Microsemi)
PolarFire, IGLOO2, SmartFusion2
iCEcube2 / Diamond
Lattice
iCE40, ECP5, MachXO
Radiant
Lattice
Certus, CrossLink-NX
Utiliser les chaînes des fabricants
Vivado
Les exemples AMD/Xilinx du cours utilisent Vivado. Son Block Design relie les IP, la STA analyse les marges et XSIM simule le design. L'ILA permet d'observer des signaux internes sur la carte. Tcl sert à reproduire les opérations et automatiser le flot.
Les fonctionnalités et composants accessibles dépendent de l'édition et de la version :
Version et édition → vérifier le composant cible, les IP et les fonctions autorisées.Licences → consulter les offres AMD pour la version installée.
Vérifie le support du composant de ta Nexys A7, Basys 3 ou PYNQ-Z2, ainsi que les IP nécessaires. Les offres de licence évoluent ; consulte la page de licences AMD avant l'installation.
Quartus cible les FPGA Altera. Platform Designer relie les IP, souvent par Avalon ; TimeQuest réalise la STA et Signal Tap le debug interne. Le flot est également scriptable en Tcl.
Quartus Prime Lite / Standard / ProChoisir l’édition selon la famille, la référence et la version prises en charge.
Vérifie l'édition requise pour le composant et la version du simulateur disponible avec ton installation.
Libero cible les FPGA Microchip. SmartDesign organise les blocs et les interfaces ; les outils prennent en charge notamment les familles à configuration non volatile. Le démarrage et les propriétés de fiabilité dépendent du composant choisi.
La licence Silver couvre certains composants, tandis que d'autres demandent une offre payante : consulte la matrice Microchip. Une utilisation aéronautique demande un processus de qualification adapté ; un outil de STA n'est pas à lui seul une certification DO-254 du design.
Utiliser une chaîne libre
Pour les cibles prises en charge, notamment iCE40 et ECP5, un flot peut combiner GHDL, Yosys et nextpnr :
Ce flot se prête aux scripts et à la CI. Vérifie cependant le support du composant, du backend de synthèse et des constructions VHDL utilisées. Les bibliothèques d'IP et les outils graphiques disponibles diffèrent des suites des fabricants.
Identifier les dépendances au constructeur
Vivado utilise XDC ; Quartus et Libero acceptent des contraintes fondées sur SDC. Les commandes disponibles ne sont pas toutes interchangeables :
Certains attributs concernent uniquement le synthétiseur cible et ne modifient pas le comportement de simulation :
-- Xilinx/Vivado uniquementattribute ASYNC_REG : string;attribute ASYNC_REG of r_sync1 : signal is "TRUE";attribute KEEP : string;attribute KEEP of r_sig : signal is "TRUE"; -- empêche l'optimisation-- Intel/Quartus uniquementattribute preserve : boolean;attribute preserve of r_sig : signal is true;
Les primitives demandent aussi les bibliothèques et modèles du fabricant :
-- Xilinx : BUFG, IBUF, OBUF, RAMB36E2, DSP48E2...BUFG_inst : BUFG port map (O => clk_buf, I => clk_in);-- Intel : ALTPLL, altera_std_synchronizer, ALTDPRAM...-- Microchip : GL (global buffer), MSS (hard ARM core)...
Pour changer de famille, remplace ou encapsule ces dépendances, puis vérifie la compatibilité du RTL et le résultat synthétisé.
FPGA Xilinx/AMD → Vivado (ce cours)FPGA Intel/Altera → Quartus PrimeFPGA Microchip/Microsemi → Libero SoCFPGA iCE40 ou ECP5 → nextpnr + Yosys ; iCEcube2 pour iCE40, Diamond pour ECP5Simulation VHDL seule → GHDL + GTKWave (selon le support du langage)