Changes between Version 6 and Version 7 of ToolsTp3-2010


Ignore:
Timestamp:
Jan 10, 2011, 1:26:20 AM (14 years ago)
Author:
jpc
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ToolsTp3-2010

    v6 v7  
    3131bibliothèque de cellules pré-caractérisées SXLIB.
    3232
    33 Le  bloc '''add''',  également décrit  dans le  langage '''Stratus''',  instancie  un bloc
    34 '''full_adder''',  lui même  étant  une  interconnexion de  porte  '''sxlib''', décrit  en
    35 '''Stratus'''.
    36 
    37 Le circuit '''addaccu''' a donc trois niveaux de hiérarchie.
     33Le circuit '''addaccu''' a deux niveaux de hiérarchie.
    3834
    3935
     
    166162    * soit en exécutant la commande suivante :
    167163{{{
    168 > python gen_mux.py -n 2
     164> python generate_mux.py -n 2
    169165}}}
    170166    * soit en modifiant les droits du fichier :
    171167{{{
    172 > chmod u+x gen_mux.py
    173 > ./gen_mux.py -n 2
     168> chmod u+x generate_mux.py
     169> ./generate_mux.py -n 2
    174170}}}
    175171
     
    190186== 2.4 Bloc additionneur ==
    191187
    192   * Ecrire  le  bloc  '''full_adder'''  en  utilisant exclusivement  les  cellules  de  la
     188  * Le bloc additionneur de {{{N}}} bits est composé de {{{N}}} '''full adder'''.
     189    Pour éviter une recopie fastidieuse de code, nous allons écrire, dans la description
     190    du modèle '''adder'' une fonction dédiée chargée d'instancier les cellules composant
     191    un '''full adder'''.
     192{{{
     193#!python
     194class adder ( Model ) :
     195
     196  def fulladder ( self, bit, sig_a, sig_b, sig_cin, sig_s, sig_cout, sig_vdd, sig_vss ):
     197     # Ici on instancie les cellules du full adder.
     198      return
     199
     200  def Interface ( self ):
     201     # [...]
     202      return
     203
     204  def Netlist ( self ):
     205     # Ici on utilise notre fonction fulladder.
     206      return
     207}}}
     208    Attention, la '''fonction''' ''fulladder()'' ne crée pas de niveau de hierarchie
     209    supplémentaire. C'est simplement une fonction utilitaire permettant de factoriser
     210    la création d'un bit de l'additionneur.
     211
     212  * Ecrire  la fonction  '''fulladder'''  en  utilisant exclusivement  les  cellules  de  la
    193213    bibliothèque '''sxlib'''.
    194   * Ecrire le script python permettant de créer l'instance du '''full_adder'''.
    195   * Ecrire le  bloc '''adder'''  instanciant le '''full_adder'''  créé. Ce bloc  prend lui
     214  * Ecrire le  bloc '''adder''' appelant la fonction '''fulladder'''. Ce bloc  prend lui
    196215    aussi comme paramètre le nombre de bits  et vérifie que son paramètre est compris entre
    197216    2 et 64 (ce n’est pas fait dans mux).