wiki:ToolsCourseTp6

Version 4 (modified by anne, 17 years ago) (diff)

--

TP6 : 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".

1 Explications

Le but est de créer un compteur de bits tel que décrit ci-dessous.

La sortie Zi prend la valeur 1 quand le nombre de bits d'entrée ayant la valeur 1 est égal à i. Les 3 autres sorties prennent la valeur 0.

Les équations sont les suivantes:

Z0=/A./B/./C

Z1=(A./B./C)+(/A.B./C)+(/A./B/.C)

Z2= (A.B./C) +(A./B.C)+ 5/A.B.C)

Z3=A.B.C

De ces équations , on déduit le schéma en portes logiques inverseuses

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".

Notre cellule finale contiendra donc 10 portes NAND3 et 5 inverseurs. Regardons plus précisément les caractéristiques de chaque 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" 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.

Attachments (6)

Download all attachments as: .zip