Étape 13 : Pinout.json
Le répertoire $CONNECTALDIR/boardinfo contient un fichier json pour chaque plate-forme prise en charge qui décrit les broches physiques de l’appareil FPGA. Ces broches sont divisés en groupes, qui correspondent en gros aux connecteurs physiques sur la carte. zedboard.JSON, par exemple, contient un groupe de « fmc1 », qui décrit les broches du connecteur de la FMC. Il contient « pmoda », « pmodb », « pmodc », « pmodd » et « value » qui précisent les broches pour chacun des 5 connecteurs pmod. Enfin, il y a un groupe nommé « pins », qui contient une sélection arbitraire des périphériques, que nous avons utilisé dans nos exemples, tels que les témoins lumineux et boutons.
hbridge_simple exporte une interface broches supplémentaires. Nous devons spécifier comment connecter ces signaux aux broches physiques. Omission de bien spécifier ce brochage se traduira par un échec de la build (Vivado émet un avertissement au cours de la phase de liaison et échoue dans la phase finale de bitgen). Nous avons spécifié le mappage dans pinout.jason, qui associe un nom dans le Verilog généré sur une broche dans le fichier boardinfo. Parce que beaucoup des connecteurs sont quelque peu modulaires, nous avons trouvé utile d’ajouter un niveau d’indirection entre les noms de groupe utilisés dans les noms de fichier et groupe de brochage définis sur le fichier boardinfo. Dans pinout.json, vous pouvez voir que nous utilisons les broches J1, J2, J5 et J6 en groupe « pmod ». Parce que le groupe « pmod » n’existe pas dans le fichier d’informations de Conseil, nous spécifions PIN_BINDING dans le Makefile pour indiquer le connecteur PMOD réels que nous sommes branchés. Nous pourrions tout aussi bien avoir spécifié « pmodc » directement dans pinout.json, mais en utilisant cette cartographie nous nous donner une plus grande souplesse si nous voulons toujours connecter le hbridges à un connecteur différent pmod.
Enfin, nous ajoutons une dépendance à la cible du makefile dans le Makefile pour générer le fichier réel consraints gentarget. Le fichier .xdc généré doit être ajouté comme une contrainte de build à l’aide de CONNECTALFLAGS.