MADMACS : un outil de placement et routage pour le dessin de masques de réseaux réguliers
Abstract
Ce papier présente un outil automatique pour le dessin de masques de réseaux de processeurs. La topologie générale de ces structures consiste en un ensemble de processeurs interconnectés localement. Une automatisation du dessin des masques nécessite deux étapes : un assemblage d'opérateurs de base interconnectés pour générer un processeur, puis un pavage et routage de ces processeurs pour construire le reseau. Le système de conception Madmacs se propose de générer automatiquement de telles structures. Dans un premier temps, un outil de placement (MadPlace) produit une fonction LISP d'assemblage et d'interconnexions des opérateurs de base d'un processeur à partir d'une description de niveau portes logiques. Dans un second temps, le système Madmacs permet de développer des générateurs pour assembler et router les processeurs en réseau. Madmacs est un éditeur complet de dessins de masques qui permet des déplacements logiques indépendants des coordonnées géometriques. De plus, il offre un mécanisme interactif de macro commandes, particulièrement efficace pour les taches répétitives comme le pavage ou le routage réguliers. Enfin, Madmacs est couplé à un interpreteur LISP. Chaque commande de Madmacs a une forme fonctionnelle dans ce langage. Lorsque l'interpréteur évalue une fonction de l'éditeur, il appelle Madmacs qui exécute la commande associée. Le langage LISP est utilisé pour développer le squelette des générateurs. Grâce aux déplacements logiques du curseur, le concepteur ne se préoccupe pas des tailles exactes des objets manipulés et développe ainsi un code réutilisable. Enfin, une macro commande peut être sauvegardée comme une nouvelle fonction LISP et incorporée dans un générateur. Cette approche combinée, langage et éditeur graphique permet le développement rapide de générateurs. Le langage LISP permet également de développer le squelette des générateurs. Avec les déplacements contextuels du curseur, le concepteur n'est plus concerné par la taille exacte des objets manipulés et peut ainsi produire du code réutilisable. Finalement, une macro commande peut être sauvegardée sous la forme d'une fonction LISP et incorporée dans un générateur. L'approche combinée langage et éditeur graphique permet une définition rapide de générateurs.