 |
La
méthodologie:
Le but de ce projet était l’obtention des masques représentant l’amd2901,
susceptibles d’être envoyés à un fondeur. Parti de la documentation
commerciale du circuit (data-sheet), la réalisation de l’Amd2901 suit
plusieurs étapes :
Description comportementale:
Dans un premier temps, on a décrit le comportement de l’amd à l’aide du
langage VHDL (cf annexe 1 : fichier amdtp.vbe), puis à l’aide de fichiers de
test (cf annexe 1 : fichier amdtp.pat) et du logiciel ASIMUT, on simule son
comportement.
Une fois cette phase validée, on passe à la description structurelle.
Description structurelle:
a) l’analyse descendante:
La description structurelle passe par une phase d’analyse descendante qui a
pour but de découper le circuit en unité plus petite et plus facilement
réalisable.
De cette analyse, cinq unités se sont dégagées :
· L’alu ,
· Le multiplexeur d’entrée ,
· L’accu ,
· La ram ,
· Le multiplexeur de sortie .
b) Les unités:
A chaque unité correspond un fichier C qui décrit la structure de l’unité
concernée en s‘appuyant sur des cellules standards de la bibliothèque SCLIB.
Ce fichier est compilé avec GENLIB. Puis on teste le bon fonctionnement de
l’unité à l’aide d’un fichier de test et du logiciel ASIMUT.
c) Le cœur de l’Amd2901:
De la même façon que l’on utilisait les cellules standards pour décrire chaque
unité, on utilise les unités précédemment obtenues pour décrire le cœur de
l’Amd2901. Pour cela on décrit dans un fichier C les connections entre les
différentes unités.
Ce fichier est également compilé avec GENLIB et testé avec ASIMUT, afin de
vérifier le bon comportement du coeur.
L’obtention des masques du cœur, se fait après placement et routage des
cellules standards utilisées pour le décrit. Ces opérations sont réalisées
avec le logiciel SRC.
d) Ajout des plots:
Il faut alors ajouter les plots, qui permettent à l’Amd de communiquer avec
l’extérieur.
Le logiciel RING permet de placer et router les plots. Un fichier de placement
des plots est fourni en entrée, indiquant l’endroit où l’on désire placer
chaque plots.
On vérifie alors qu’il n’y a pas d’erreur de dessin dans les masques avec le
logiciel DRUC :
e) Vérification:
On extrait la netlist obtenue après le routage à l’aide de LYNX
Puis on compare avec LVX cette netlist avec la netlist que nous avions décrite
lors du placement des plots.
La validation de toutes ces étapes nous assure du bon fonctionnement du
circuit, ainsi que de la validité des masques obtenus.
f) Vue sous forme de masque:
Au final on obtient donc les masques nécessaires à la réalisation physique du
circuit. Ils peuvent ainsi être envoyés à un fondeur. |