Changes between Version 13 and Version 14 of ToolsCourseTp2


Ignore:
Timestamp:
Sep 22, 2008, 1:40:48 PM (16 years ago)
Author:
cobell
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ToolsCourseTp2

    v13 v14  
    1 
    21{{{
    32#!html
     
    4948    Ces deux blocs prennent comme paramètre le nombre de bits.
    5049    En outre, ils vérifient que leur paramètre est compris entre 2 et 64 (ce n’est pas fait dans mux).
     50    Reprendre les descriptions structurelles décrites la semaine précédente.
     51  * Ecrire les deux scripts python permettant de créer les instances de l'additionneur et du registre.
    5152 
    52   * Ecrire le circuit '''addaccu''' en '''Stratus'''
     53  * Ecrire le circuit '''addaccu''' avec '''Stratus'''.
    5354    Ce circuit instancie les trois blocs précédents ('''mux''', '''add''' et '''reg''').
    5455    Le circuit '''addaccu''' prend également comme paramètre le nombre de bits.
     56  * Ecrire le scrip python permettant de créer des instances de l'addaccu.
    5557
    56   * Ecrire un fichier '''Makefile''' paramétrable permettant de produire chaque composant et le circuit addaccu.
     58  * Ecrire un fichier '''Makefile paramétrable''' permettant de produire chaque composant et le circuit addaccu.
     59
     60  * 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).
    5761
    5862  == 1.3 Circuit addsubaccu ==
     
    6165    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).
    6266    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.
    63    Créer un nouveau composant, appelé '''addsubaccu''' qui prend en compte cette nouvelle contrainte.
     67    Créer un nouveau composant, appelé '''addsubaccu''' qui prend en compte cette nouvelle contrainte.
     68  * Ecrire le scrip python permettant de créer des instances de l'addsubaccu.
    6469
    6570  * Ecrire un fichier '''Makefile''' paramétrable permettant de produire chaque composant et le circuit addsubaccu.
     71
     72  == 1.4 Fonction Generate ==
     73
     74Il n'est pas toujours très pratique d'avoir à générer avec plusieurs scripts les différents blocs d'un circuit.
     75Le langage '''Stratus''' fournit donc une alternative : la fonction '''Generate'''.
     76
     77Par exemple, pour générer une instance du multiplexeur fourni, il suffit d'ajouter la ligne suivante dans le fichier '''Stratus''' décrivant le circuit instanciant le multiplexeur :
     78{{{
     79Generate ( "mux.mux", "mux_%d" % self.n, param = { 'nbit' : self.n } )
     80}}}
     81
     82Dans 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.
     83
     84  * 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.
    6685
    6786= 2 Compte rendu =