wiki:ToolsCourseproblémes

Version 11 (modified by anne, 17 years ago) (diff)

--

Problèmes rencontrés :

Hierarchie

Vous devez respecter la hiérarchie présentée en cours , c'est à dire le coeur est composé de 5 blocs:

muxe

muxs

alu

accu

ram

chacun de ces blocs est directement décrit en cellules de SXLIB

pour utiliser les outils de placement il est indispensable qu'il n'existe pas de niveau intermédiaire

alimentations VDDI et VSSI

Dans l'interface du chip les alimentations doivent être vddi, vssi, vdde, vsse

Pour router corectement les Alim du coeur :

dans le fichier générant le coeur ajouter une cellule de bourage tie_x :

  • dans la netlist (méthode Netlist) :
       def Netlist ( self ) :
    
    
       self.tie = Inst ("tie_x0",
                        "tie",
                        map = {'vdd'    : self.vdd,
                               'vss'    : self.vss
                              }
                       )
    
  • dans la méthode Layout :
    
       def Layout ( self ):
           DefAb(XY(0,0),XY(1500,1500))
           Place(self.tie, NOSYM, XY(0,0))
           AlimConnectors()
    

modification des connecteurs des plots

Afin d'être conforme aux modèles des plots de pxlib il faut modifier certains out en inout dans le fichier généré par Python:

q0 doit être inout mux_bit bus , de même q3,r0,r3

pour la définition de component piot_x il faut pad : inout mux_bit bus

et cko: out wor_bit bus

Vérification des deux netlists par LVX

Avant de lancer lvx il faut indiquer que cougar utilise '_' comme séparateur dans la création du cheminom, alors que les netlists de départ ont le '.' comme séparateur

export MBK_SEPAR='_'
lvx vst vst amd_route amd_net -f