Changes between Version 15 and Version 16 of ToolsCourseTp2


Ignore:
Timestamp:
Sep 25, 2008, 7:04:12 PM (16 years ago)
Author:
cobell
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ToolsCourseTp2

    v15 v16  
    1111[[Image(addaccu.jpg, nolink)]]
    1212
    13 Le circuit addaccu a deux niveaux de hiérarchie : dans '''addaccu''' sont instanciés trois blocs '''mux''', '''add''' et '''reg'''.
    14 Les blocs '''mux''', '''add''' et '''reg''' doivent être décrits par une netlist paramétrable de cellules '''sxlib''', dans le langage '''Stratus'''.
    15 En effet, '''Stratus''' permet de décrire des netlists paramétrables.
     13Le circuit addaccu a trois niveaux de hiérarchie : dans '''addaccu''' sont instanciés trois blocs '''mux''', '''reg''' et '''add'''.
     14Les blocs '''mux''' et '''reg''' doivent être décrits par une netlist paramétrable de cellules '''sxlib''', dans le langage '''Stratus'''.
     15Le bloc '''add''' est lui aussi décrit par une netlist paramétrable en '''Stratus''' et instancie le bloc ''full_adder.vst'' créé dans les TP précédents.
     16
     17Nous verrons dans ce TP que '''Stratus''' permet de décrire des netlists paramétrables.
    1618
    1719Fichiers fournis :
     
    5557    Ces deux blocs prennent comme paramètre le nombre de bits.
    5658    En outre, ils vérifient que leur paramètre est compris entre 2 et 64 (ce n’est pas fait dans mux).
    57     Reprendre les descriptions structurelles décrites la semaine précédente.
     59    S'inspirer des descriptions structurelles décrites la semaine précédente.
    5860  * Ecrire les deux scripts python permettant de créer les instances de l'additionneur et du registre.
    5961 
     
    6163    Ce circuit instancie les trois blocs précédents ('''mux''', '''add''' et '''reg''').
    6264    Le circuit '''addaccu''' prend également comme paramètre le nombre de bits.
    63   * Ecrire le scrip python permettant de créer des instances de l'addaccu.
     65  * Ecrire le script python permettant de créer des instances de l'addaccu.
    6466
    65   * Ecrire un fichier '''Makefile paramétrable''' permettant de produire chaque composant et le circuit addaccu.
     67  * Ecrire un fichier '''Makefile paramétrable''' permettant de produire chaque composant et le circuit addaccu en choisissant le nombre de bits.
    6668
    6769  * Générer le circuit sur 4 bits et le tester avec '''asimut''' (utiliser le fichier .pat généré avec '''genpat''' lors de la semaine précédente).
     
    6971  == 1.3 Circuit addsubaccu ==
    7072
    71   * Maintenant, nous souhaitons que l’addaccu puisse effectuer soit des additions, soit des soustractions.
    72     Un nouveau paramètre sera donc à apporter pour choisir la fonction à effectuer (Vous avez le choix pour le nom et les valeurs possibles de ce paramètre).
    73     Ce nouveau composant sera sur le même schéma que le précédent, avec des modifications à apporter au circuit et/ou les composants.
    74     Créer un nouveau composant, appelé '''addsubaccu''' qui prend en compte cette nouvelle contrainte.
    75   * Ecrire le scrip python permettant de créer des instances de l'addsubaccu.
     73Maintenant, nous souhaitons que l’addaccu puisse effectuer soit des additions, soit des soustractions.
     74Un nouveau paramètre sera donc à apporter pour choisir la fonction à effectuer (Vous avez le choix pour le nom et les valeurs possibles de ce paramètre).
     75Ce nouveau composant sera sur le même schéma que le précédent, avec des modifications à apporter au circuit et/ou ses composants.
     76  * Créer un nouveau composant, appelé '''addsubaccu''' qui prend en compte cette nouvelle contrainte.
     77  * Ecrire le script python permettant de créer des instances de l'addsubaccu.
    7678
    7779  * Ecrire un fichier '''Makefile''' paramétrable permettant de produire chaque composant et le circuit addsubaccu.
     
    8789}}}
    8890
    89 Dans cette fonction, le premier argument représente la classe '''Stratus''' créée (format : ''fichier.nom_de_classe''), le deuxième argument est le nom de l'instance générée, le dernier argument est un dictionnaire initialisant les différents paramètres de cette classe.
     91Dans cette fonction, le premier argument représente la classe '''Stratus''' créée (format : ''nom_de_fichier.nom_de_classe''), le deuxième argument est le nom de l'instance générée, le dernier argument est un dictionnaire initialisant les différents paramètres de cette classe.
    9092
    9193  * Modifier les fichiers addaccu et addsubaccu de façon à pouvoir créer des instances de ces circuits en n'ayant besoin que d'un script.