Aller au contenu

Compilation, rapports et programmation

Simulation comportementale

Avant la synthèse :

  • analyser toutes les sources ;
  • élaborer le bon sommet de banc de test ;
  • exécuter jusqu'à finish ou jusqu'au gardien temporel ;
  • exiger la réussite de toutes les assertions.

Les chronogrammes servent au diagnostic, pas au verdict principal.

RTL élaboré

Dans RTL Analysis → Open Elaborated Design, examinez :

  • la hiérarchie ;
  • les directions et largeurs ;
  • les latches ou boucles combinatoires inattendus ;
  • les signaux constants ou non reliés ;
  • les valeurs des paramètres.

Synthèse

La synthèse traduit le RTL en primitives du composant.

Contrôlez :

  • messages et avertissements ;
  • latches ;
  • RAM, DSP et registres à décalage inférés ;
  • logique supprimée ou constante ;
  • signaux à grand fanout ;
  • utilisation des ressources.

Un calcul sans effet observable peut être entièrement supprimé, même si son code paraît correct.

Implémentation

Elle comprend principalement :

  1. Optimisation.
  2. Placement.
  3. Routage.
  4. Optimisation physique éventuelle.
  5. Analyses DRC et temporelles.

Le délai de routage domine souvent le délai des portes. Un petit chemin logique peut échouer à cause du placement ou du fanout.

Validation temporelle

Dans le résumé après implémentation :

  • toutes les horloges ont la bonne période ;
  • le WNS setup est positif ou nul ;
  • le slack hold est positif ou nul ;
  • les largeurs d'impulsion sont valides ;
  • aucun point pertinent n'est non contraint ;
  • les chemins inter-domaines correspondent à l'architecture CDC.

Ne vous fiez pas uniquement à la coche verte de l'implémentation.

Générer et programmer

Les DRC peuvent bloquer le bitstream : broches manquantes, standards I/O absents, pilotes multiples, horloges non contraintes ou routage d'horloge dangereux.

Pour JTAG :

  1. Ouvrir Hardware Manager.
  2. Open Target → Auto Connect.
  3. Sélectionner le FPGA.
  4. Program Device.
  5. Choisir le bitstream actuel.

Si la carte n'apparaît pas, vérifier alimentation, câble USB de données, pilotes Windows et absence d'un autre programme utilisant JTAG.

Flux Tcl reproductible

read_vhdl -vhdl2008 ../src/top.vhd
read_xdc ../constraints/basys3.xdc
synth_design -top top -part xc7a35tcpg236-1
opt_design
place_design
route_design
report_timing_summary -file timing_summary.rpt
report_utilization -file utilization.rpt
write_bitstream -force top.bit

Un vrai script doit s'arrêter sur erreur et vérifier explicitement les exigences de timing et de DRC.

vivado.bat -mode batch -source build.tcl

Preuves à conserver

  • Sources ou commit exact.
  • Composant et version Vivado.
  • XDC.
  • Journaux de tests et graines aléatoires.
  • Résumé temporel.
  • Rapport d'utilisation.
  • Rapport DRC.
  • Bitstream si nécessaire.

Les caches de projet sont moins utiles que les sources et scripts capables de les recréer.

Définition de « terminé »

  • Simulations automatisées réussies.
  • Aucun avertissement inexpliqué.
  • Ressources inférées comme prévu.
  • Aucun latch ou pilote multiple involontaire.
  • DRC réussi.
  • Contraintes temporelles complètes.
  • Timing d'implémentation respecté.
  • Test matériel de cohérence réussi.