Les commandes part et merge sont utilisées pour
partitionner et fusionner un circuit. L'idée est que, une fois le
circuit partitionné, chaque sous-circuit, stocké dans le
répertoire courant (répertoire d'exécution de PPart), sera
ensuite optimisé par un processus SIS distinct en parallèle. Les
commandes d'optimisation répartissent les tâches d'exécution en
fonction de la vitesse des machines en considérant que chaque
tâche a une complexité d'exécution équivalente, et en les
considérant d'après le nom de fichier d'entrée dans l'ordre des
noms, les données des fichiers d'entrées sont classées par
ordre de taille décroissante. Cela favorise l'affectation des
tâches de synthèse ayant les données d'entrées les plus
volumineuses aux processeurs les plus rapides.
Le nombre de parties est laissé à l'appréciation de l'utilisateur. C'est à lui de définir une taille de partition assez élevée pour générer des circuits de taille assez restreinte pour être synthétisés en des temps raisonnables. La notion de temps raisonnables dépend du concepteur et de la qualité d'optimisation qu'il attend. a priori plus le nombre de parties est élevé, plus la synthèse sera rapide en terme de temps CPU utilisé, mais plus la qualité du circuit final risque de se dégrader (par rapport au même type d'optimisation effectué sans partitionner le circuit). Par contre, si le nombre de processeurs disponibles est élevé, l'utilisation du potentiel de chacun d'eux nécessite un partitionnement en au moins un nombre égal au nombre de processeurs que de parties. Enfin, l'outil de partitionnement ne touchant pas à la description fonctionnelle du circuit, celle-ci doit être assez éclatée pour permettre un partitionnement efficace : par exemple, si un circuit est décrit en logique 2-niveaux (format PLA), le nombre d'équations logiques sera égal au nombre de sorties du circuit. Cela signifie que le partitionnement est alors limité par ce nombre de sorties du circuit. Il est dans ce cas possible de réaliser une transformation globale (i.e., sur un seul processeur) du circuit avant de réaliser son partitionnement. Cette transformation doit avoir pour but de décomposer les sommets (équations) complexes en sommets moins denses, ce qui augmente le nombre de sommets total décrivant le circuit et facilite son partitionnement.
Les options du partitionnement par défaut peuvent être changées
en utilisant la commande
partopt options
Les options correspondent à celles de la commande part incluse dans SIS et décrites ci-dessus : bmluh.