| 8 |   | Nous avons vu comment dessiner entièrement une cellule. Nous allons maintenant réaliser une | 
                      
                        | 9 |   | cellule plus avancée nécessitant un routage manuel "overcell". | 
                      
                        | 10 |   | == 1 Explications == | 
                      
                        | 11 |   | Le but est de créer un compteur de bits tel que décrit ci-dessous. | 
                      
                      
                        |   | 10 | Nous avons vu dans le TP6 comment dessiner une cellule précaractérisée.  | 
                      
                        |   | 11 | Le but de ce TP7 est de réaliser le dessin des masques d'un bloc combinatoire | 
                      
                        |   | 12 | résultant de l'intreconnexion d'une quinzaine de cellules de la biblioyhèque '''SXLIB'''. | 
                      
                        |   | 13 |  | 
                      
                        |   | 14 | On va donc effectuer ''à la main'' (c'est à dire en utilisant l'éditeur interactif '''graal'''), | 
                      
                        |   | 15 | le placement et le routage de cet opérateur, pour mieux comprendre les problèmes | 
                      
                        |   | 16 | que doivent résoudre les outils de placement/routage automatiques. | 
                      
                        |   | 17 |  | 
                      
                        |   | 18 | = 2 Spécification fonctionnelle = | 
                      
                        |   | 19 |   | 
                      
                        |   | 20 | On souhaite réaliser le décodeur 3 vers 4 tel que décrit ci-dessous. | 
                      
                        |   | 21 |  | 
                      
            
                      
                        | 68 |   |   * Extraire la netlist de l'inverseur au format .al avec '''COUGAR''' | 
                      
                      
                        |   | 66 | Utiliser le langage '''STRATUS''' pour décrire le schéma proposé ci dessus, et générer le fichier  | 
                      
                        |   | 67 | 'decodeur'.vst'' correspondant à la description structurelle VHDL de cet opérateur. | 
                      
                        |   | 68 | Valider ce schéma en écrivant quelques stimuli, et en simulant sous '''asimut'''. | 
                      
                        |   | 69 |  | 
                      
                        |   | 70 |  | 
                      
                        |   | 71 | = 4 Placement / Routage = | 
                      
                        |   | 72 |  | 
                      
                        |   | 73 |  Saisir sous '''graal''' le dessin du bloc ''decoder'' en instanciant les 5 portes inv_x1 et | 
                      
                        |   | 74 |  les 10 portes na3_x1. | 
                      
                        |   | 75 |  Dessiner les fils de routage sous '''graal''', puis vérifier l'absence de violation des règles de dessin. le routage "overcell"  | 
                      
                        |   | 76 |  en lançant le vérificateur de règles de dessin '''druc''' sous '''graal'''. | 
                      
                        |   | 77 | Pour que cette vérification soit significative, il faut préalablement "mettre à plat" | 
                      
                        |   | 78 | le bloc ''decoder'', en utilisant la commande ''real flat''. | 
                      
                        |   | 79 |  | 
                      
                        |   | 80 | = 5 Validation du routage = | 
                      
                        |   | 81 |  | 
                      
                        |   | 82 | Extraire la netlist du bloc ''decoder'' au format .al avec l'outil '''COUGAR''', | 
                      
                        |   | 83 | mais sans descendre au niveau des transistors : On veut obtenir une ''net-list'' de cellules, | 
                      
                        |   | 84 | et non une ''net-list'' de transistors. | 
                      
                        |   | 85 |  | 
                      
                        |   | 86 | Vérifier que les deux net-lists définies par les fichiers decoder.vst et ''decoder.al'' sont isomorphes | 
                      
                        |   | 87 | en utilisant l'outil '''lvx'''.  |