}}}
[[PageOutline]]
Nous avons vu comment dessiner entièrement une cellule puis comment réaliser
une cellule simple instanciant d'autres cellules. Nous allons maintenant réaliser un
cellule plus avancée nécessitant un routage manuel "overcell".
= 1 Explications =
Le but est de créer un compteur de bits tel que décrit ci-dessous.
FIG. 7 Compteur de bits
La sortie Zi prend la valeur 1 quand le nombre de bits d'entrée ayant la valeur 1 est
Séance 2 : Routage manuel "overcell"
Nous avons vu comment dessiner entièrement une cellule puis comment réaliser
une cellule simple instanciant d'autres cellules. Nous allons maintenant réaliser un
cellule plus avancée nécessitant un routage manuel "overcell".
3.1 Explications
Le but est de créer un compteur de bits tel que décrit ci-dessous.
FIG. 7 Compteur de bits
La sortie Zi prend la valeur 1 quand le nombre de bits d'entrée ayant la valeur 1 est
Notre cellule nale contiendra donc 10 portes NAND3 et 5 inverseurs. Regardons
plus précisément les caractéristiques de chaque cellule :
FIG. 9 Dessin de la cellule
La cellule NAND3 a une largeur de 5 pitchs.
Les 3 signaux d'entrée E1, E2 et E3 sont accessibles
sur 6 pistes de routage.
Le signal de sortie S est accessible sur 7 pistes de
routage.
La cellule INVERSEUR a une largeur de 3 pitchs.
Le signal d'entrée E est accessible sur 6 pistes de
routage.
Le signal de sortie S est accessible sur 7 pistes de
routage.
Ces cellules précaractérisées sont conçues pour être aboutables dans les deux directions
X et Y. On souhaite avoir le placement suivant de notre cellule :
Ci-dessous un exemple de routage "overcell" pour la génération du signal de sortie
Z0 :
3.2 Travail à effectuer
Décrire le comportement de la cellule compteur de bits dans un fichier .vbe
Saisir sous GRAAL le dessin de la cellule en instanciant des portes inv_x1 et
na3_x1 de la sxlib
Dessiner sous GRAAL le routage "overcell" en vous insprirant de la gure 12
Valider les règles de dessin symbolique en lançant DRUC sous GRAAL
Extraire la netlist de l'inverseur au format .al avec COUGAR
Extraire le VHDL comportemental avec YAGLE
Effectuer la preuve formelle entre le fichier .vbe extrait par YAGLE et le fichier
.vbe de la spécification initiale
Automatisez la vérification en écrivant un Makefile.