>> Technologie Électronique >  >> Optique >> Longues-vues

Qu'est-ce que NGC en FPGA ? Générateur de circuit natif expliqué

Qu'est-ce que NGC en FPGA ? Générateur de circuit natif expliqué

En développement FPGA (Field-Programmable Gate Array), NGC signifie Native Circuit Generator. C'est une chaîne d'outils propriétaire — notamment associée à Intel (ex-Altera) — qui traduit le code HDL (Verilog, VHDL) lisible par l'humain en une configuration hautement optimisée pour un FPGA cible.

Le flux NGC : du HDL au bitstream

  1. Synthèse HDL : Le code source est analysé et synthétisé en netlist — représentation logique des portes et bascules du design.
  2. Placement et routage : Le netlist est mappé sur les ressources physiques du FPGA (éléments logiques, blocs DSP, mémoire, interconnect). L'outil optimise pour timing, performance, utilisation ressources.
  3. Analyse timing : Analyse statique du timing vérifie que tous les chemins respectent les exigences de fréquence d'horloge. Violations déclenchent ré-optimisation.
  4. Génération fichier configuration : Un bitstream spécifique au device (ex: .sof, .pof, .rbf) est produit, contenant chaque bit de configuration du FPGA.
  5. Programmation FPGA : Le bitstream est chargé sur la puce via JTAG, Active Serial, ou autres modes de configuration, rendant le design fonctionnel en hardware.

Pourquoi utiliser le NGC propriétaire ?

  • Optimisation architecture : Exploite la connaissance propriétaire du tissu FPGA, routage, blocs IP durs.
  • Meilleure performance : Atteint souvent fréquences d'horloge plus hautes et latence plus basse que flux génériques.
  • Efficacité ressources : Empaquetage plus intelligent réduit usage logique et consommation.
  • Compilation plus rapide : Algorithmes optimisés et parallélisation raccourcissent temps de build.
  • Flux rationalisé : GUI/CLI intégrés simplifient le pipeline design-vers-hardware.

Bien que des flux open-source comme Yosys+nextpnr existent, les outils NGC vendeurs restent la référence pour designs de production sur appareils Intel/Altera, Xilinx (Vivado), Lattice (Diamond/Radiant).

Longues-vues