Changes between Version 50 and Version 51 of ToolsCourseTp7


Ignore:
Timestamp:
Oct 7, 2007, 9:49:20 PM (17 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ToolsCourseTp7

    v50 v51  
    55}}}
    66[[PageOutline]]
     7
     8= 1 Objectif =
    79 
    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.
     10Nous avons vu dans le TP6 comment dessiner une cellule précaractérisée.
     11Le but de ce TP7 est de réaliser le dessin des masques d'un bloc combinatoire
     12résultant de l'intreconnexion d'une quinzaine de cellules de la biblioyhèque '''SXLIB'''.
     13
     14On va donc effectuer ''à la main'' (c'est à dire en utilisant l'éditeur interactif '''graal'''),
     15le placement et le routage de cet opérateur, pour mieux comprendre les problèmes
     16que doivent résoudre les outils de placement/routage automatiques.
     17
     18= 2 Spécification fonctionnelle =
     19 
     20On souhaite réaliser le décodeur 3 vers 4 tel que décrit ci-dessous.
     21
    1222[[Image(compteur.jpg,nolink)]]
    1323
    1424La sortie Zi prend la valeur 1 quand le nombre de bits d'entrée ayant la valeur 1 est
    1525égal à i. Les 3 autres sorties prennent la valeur 0.
     26
    1627Les équations sont les suivantes:
    1728    * Z0=/A./B/./C
     
    2637[[Image(schema.jpg,nolink)]]
    2738
    28 Nous avons vu comment dessiner entièrement une cellule puis comment réaliser
    29 une cellule simple instanciant d'autres cellules. Nous allons maintenant réaliser une
    30 cellule plus avancée nécessitant un routage manuel "overcell".
    31 
    32 
    33 
    34 
    35 Notre cellule finale contiendra donc 10 portes NAND3 et 5 inverseurs. Regardons
     39Le bloc à raliser contient donc 10 portes NAND3 et 5 inverseurs. Regardons
    3640plus précisément les caractéristiques de chaque cellule :
    3741
     
    4953[[Image(tp3.jpg,nolink)]]
    5054
    51 Ces cellules précaractérisées sont conçues pour être aboutables dans les deux directions
    52 X et Y. On souhaite avoir le placement suivant de notre cellule :
     55On propose le placement ci-dessous pour cet opérateur, mais vous pouvez
     56choisir un autre placement si vous le souhaitez :
    5357
    5458[[Image(place.jpg,nolink)]]
    5559
    56 
    57 Ci-dessous un exemple de routage "overcell" pour la génération du signal de sortie
     60Le dessin ci-dessous illustre un exemple de routage "overcell" pour la génération d'un signal de sortie
    5861[[Image(routage.jpg,nolink)]]
    5962
    6063
    61 == 2 Travail à effectuer ==
    62   * Décrire le comportement de la cellule compteur de bits dans un fichier .vbe
    63   * Saisir sous '''GRAAL''' le dessin de la cellule en instanciant des portes inv_x1 et
    64     na3_x1 de la sxlib
    65   * Dessiner sous '''GRAAL''' le routage "overcell"
    66   * Valider les règles de dessin symbolique en lançant DRUC sous '''GRAAL'''
     64= 3 Saisie du schéma =
    6765
    68   * Extraire la netlist de l'inverseur au format .al avec '''COUGAR'''
     66Utiliser 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.
     68Valider 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'''.
     77Pour que cette vérification soit significative, il faut préalablement "mettre à plat"
     78le bloc ''decoder'', en utilisant la commande ''real flat''.
     79
     80= 5 Validation du routage =
     81
     82Extraire la netlist du bloc ''decoder'' au format .al avec l'outil '''COUGAR''',
     83mais sans descendre au niveau des transistors : On veut obtenir une ''net-list'' de cellules,
     84et non une ''net-list'' de transistors.
     85
     86Vérifier que les deux net-lists définies par les fichiers decoder.vst et ''decoder.al'' sont isomorphes
     87en utilisant l'outil '''lvx'''.
    6988
    7089