| 1 | |
| 2 | {{{ |
| 3 | #!html |
| 4 | <h1> TP6 : Routage manuel "overcell"</h1> |
| 5 | }}} |
| 6 | [[PageOutline]] |
| 7 | |
| 8 | Nous avons vu comment dessiner entièrement une cellule puis comment réaliser |
| 9 | une cellule simple instanciant d'autres cellules. Nous allons maintenant réaliser un |
| 10 | cellule plus avancée nécessitant un routage manuel "overcell". |
| 11 | = 1 Explications = |
| 12 | Le but est de créer un compteur de bits tel que décrit ci-dessous. |
| 13 | FIG. 7 Compteur de bits |
| 14 | La sortie Zi prend la valeur 1 quand le nombre de bits d'entrée ayant la valeur 1 est |
| 15 | Séance 2 : Routage manuel "overcell" |
| 16 | Nous avons vu comment dessiner entièrement une cellule puis comment réaliser |
| 17 | une cellule simple instanciant d'autres cellules. Nous allons maintenant réaliser un |
| 18 | cellule plus avancée nécessitant un routage manuel "overcell". |
| 19 | 3.1 Explications |
| 20 | Le but est de créer un compteur de bits tel que décrit ci-dessous. |
| 21 | FIG. 7 Compteur de bits |
| 22 | La sortie Zi prend la valeur 1 quand le nombre de bits d'entrée ayant la valeur 1 est |
| 23 | Notre cellule nale contiendra donc 10 portes NAND3 et 5 inverseurs. Regardons |
| 24 | plus précisément les caractéristiques de chaque cellule : |
| 25 | FIG. 9 Dessin de la cellule |
| 26 | La cellule NAND3 a une largeur de 5 pitchs. |
| 27 | Les 3 signaux d'entrée E1, E2 et E3 sont accessibles |
| 28 | sur 6 pistes de routage. |
| 29 | Le signal de sortie S est accessible sur 7 pistes de |
| 30 | routage. |
| 31 | |
| 32 | La cellule INVERSEUR a une largeur de 3 pitchs. |
| 33 | Le signal d'entrée E est accessible sur 6 pistes de |
| 34 | routage. |
| 35 | Le signal de sortie S est accessible sur 7 pistes de |
| 36 | routage. |
| 37 | |
| 38 | |
| 39 | Ces cellules précaractérisées sont conçues pour être aboutables dans les deux directions |
| 40 | X et Y. On souhaite avoir le placement suivant de notre cellule : |
| 41 | |
| 42 | |
| 43 | Ci-dessous un exemple de routage "overcell" pour la génération du signal de sortie |
| 44 | Z0 : |
| 45 | |
| 46 | |
| 47 | 3.2 Travail à effectuer |
| 48 | Décrire le comportement de la cellule compteur de bits dans un fichier .vbe |
| 49 | Saisir sous GRAAL le dessin de la cellule en instanciant des portes inv_x1 et |
| 50 | na3_x1 de la sxlib |
| 51 | Dessiner sous GRAAL le routage "overcell" en vous insprirant de la gure 12 |
| 52 | Valider les règles de dessin symbolique en lançant DRUC sous GRAAL |
| 53 | Extraire la netlist de l'inverseur au format .al avec COUGAR |
| 54 | Extraire le VHDL comportemental avec YAGLE |
| 55 | Effectuer la preuve formelle entre le fichier .vbe extrait par YAGLE et le fichier |
| 56 | .vbe de la spécification initiale |
| 57 | Automatisez la vérification en écrivant un Makefile. |