next up previous
Next: Outil de partitionnement Up: PPart : Manuel d'utilisation Previous: PPart : Manuel d'utilisation

Introduction

Ce manuel d'utilisation fournit les informations nécessaires pour la synthèse en parallèle de circuits FPGA à l'aide du logiciel PPart. La version 1.1 de PPart est disponible en
http://ubolib.univ-brest.fr/~lemarch/PPart.

Les circuits, combinatoires et séquentiels sont optimisés en utilisant SIS [], développé à UCB. La parallélisation s'appuie sur un partitionnement des données (les équations logiques du circuit) à l'aide de HMetis [].

PPart est plus particulièrement dédié à la synthèse logique de circuits pour les FPGA Xilinx des séries xc4000 et xc6200. PPart comporte plusieurs composantes distinctes :

La synthèse de circuits de grande taille nécessite d'importantes ressources CPU et requiert beaucoup de mémoire. La solution proposée dans PPart pour raccourcir les temps de synthèse consiste à décomposer le réseau booléen représentant le circuit à optimiser en sous-réseaux. Chaque sous-réseau contient une partie des équations logiques décrivant le circuit. Les sous-réseaux sont optimisés de façon indépendante à l'aide du logiciel de synthèse logique SIS, suivant les critères d'optimisation choisis par l'utilisateur, puis réassemblés en un circuit final optimisé. Toute latitude est laissée au concepteur pour définir les caractéristiques du partitionnement en fonction de la composition initiale du circuit (nombre d'équations, complexité des équations, nombre d'E/S ...). Le concepteur définit également les scripts SIS à utiliser suivant l'architecture visée (des scripts sont proposés par défaut pour l'optimisation de la surface et la vitesse du circuit). Il peut également réaliser une pré et une post-optimisation globale du circuit afin d'améliorer la qualité du partitionnement et de la solution finale.

La seconde manière de réaliser la synthèse en parallèle d'un circuit consiste à synthétiser, si le circuit est défini hiérarchiquement, les différents blocs le composant de manière indépendante. La synthèse est réalisée en respectant les dépendances fonctionnelles entre blocs, un bloc étant optimisé avant ceux l'utilisant. De la même manière que pour la synthèse par partitionnement, le concepteur choisit les critères d'optimisation et la technologie cible.

Du point de vue pratique, la synthèse est réalisée sur un réseau de stations possèdant un système de partage de fichiers et connectés via un protocole IP. Les données à synthétiser doivent être visibles de toutes les stations utilisées lors de la synthèse. L'utilisateur définit les machines, et le répertoire de travail utilisés, et fournit le nom du fichier descriptif de son circuit. Il définit ensuite la manière de partitionner son circuit (nombre de sous-circuits souhaité) et les scripts d'optimisation SIS à utiliser pour la synthèse des sous-réseaux. Toutes ces informations de synthèse sont regroupées dans un pscript. Un exemple simple :

# ceci est un commentaire
# fichier pscript
# commande 'pvm'
#  liste des machines a utiliser, avec 
#  leur vitesse relative (defaut: 100)
pvm mach1 mach2 120 mach3 mach4 130 mach5 110

# commande 'part'
#  partitionnement en 8 du circuit toto au format BLIF
#  le resultat est dans titi
part 8 toto titi 

# commande 'source'
# optimisation en parallele de titi a l'aide du script SIS vite
# le resultat est dans tutu (les fichiers contiennent des descriptions 
# au format BLIF)
8 source vite titi tutu 

# commande 'merge'
# reassemblage dans final
merge 8 tutu final

Ce fichier pscript sera exploité, en lançant dans le répertoire contenant le fichier toto la commande ppart -f pscript, qui réalisera la synthèse parallèle de toto sur les machines mach1, mach2, mach3, mach4 et mach5. Le résultat de la synthèse sera contenu dans le fichier final, au format BLIF.


next up previous
Next: Outil de partitionnement Up: PPart : Manuel d'utilisation Previous: PPart : Manuel d'utilisation

Laurent Lemarchand
Mon Jan 25 14:57:16 MET 1999