le pb est du, je pense, a changement du comportement de autbasename()
de la librairie Aut,
car scapin a toujours fonctionne et dans le code que j'ai visualise
aujourd'hui scapin ne pouvait chercher le bon fichier .scapin !
sea/src/DEF_action.c,
sea/src/DEF_drive.c,
sea/src/DEF_grammar.h,
sea/src/MAC_drive.c,
sea/src/a2DEF.c,
sea/src/seplace.sh,
sea/src/seroute.sh :
- Modification generale de la facon dont sont traites les connecteurs.
Desormais s'ils doivent etre places, il le sont par "seplace" et
plus par seroute.
En consequence DEF2a (DEF_action.c) genere systematiquement un
connecteur quant il rencontre un objet PIN place. Il ne tient pas
compte du segment qui peut etre de longueur farfelue (a cause de
l'expension).
Les scripts de commandes pour sea changent eux aussi : plus de
IOPLACE dans le fichier de routage mais placement systematique
dans celui de routage.
Enfin le format du IOC a un peu change : pour avoir les bonnes
traduction des signaux vectorises ajouter en tete :
IOPLACEHEADER (
(VERSION 5.3 )
(DIVIDERCHAR "/" )
(BUSBITCHARS "[]" )
)
- Bug : si on change BUSBITCHARACTERS et DELIMITERS avant d'appeler
QPlace (dans seplace) on obtient une curieuse duplication des
connecteurs (PINS). L'un avec un ".", l'autre avec un "/".
Solution : on positionne ces variables juste avant de
sauvegarder le DEF.
- Ajout de :
SET VARIABLE OUTPUT.LEF.DEF.BUSBITCHARACTERS "()" ;
SET VARIABLE OUTPUT.LEF.DEF.DELIMITERS . ;
Sinon les DEF generes par Silicon Ensemble utilisent les valeurs
par defaut "[]" pour BUSBITCHARS et / pour DIVIDERCHAR ce qui
n'est pas coherent et empeche def2a de reconnaitre les bus.
- Utilisation de la version 5.3 de Silicon Ensemble (livree avec
la version IC 4.46 de Cadence). Changement de "OPUS_DIR" a
"/users/soft2/cds/DSMSE-5.3".
sea/src/LEF_drive_sxlib.h,
sea/src/LEF_drive_sxlib.c,
sea/src/a2lef.sh :
- Nouvelle option : il devient possible de ne pas decomposer les
segments connecteurs en rectangles poses sur la grille de
routage, les segments ne sont pas gardes tel quels. Ils sont
mis a la largeur minimale et leurs extremites ramenees a la
largeur minimale.
ATTENTION : il n'y pas de verification que des segments se
chevauchent. Dans ce cas il y generation de segments superposes.
Option de a2lef : "-T".
Option de sxlib2lef : "-t".
sea/src/LEF_drive.c,
sea/etc/cmos.lef :
- Correction de quelques erreurs de mises en majuscules. Politique
officielle : tous les mot cles du langage LEF/DEF sont mis en
majuscules et tout les identificateurs (nom de modeles, d'instances
ou de signaux) issus de MBK sont en minuscules.
- Dans DEF_drive.c/LEF_drive.c on met USE <kw> en majuscules.
- Dans cmos.lef on met CLASS <class> en majuscules.
- Ajout de VERSION, BUSBITCHARS & DIVIDERCHAR pour etre compatible avec
la derniere version des parseurs LEF OpenEDA.
* sea/src/a2lef.sh :
- Idem cmos.lef en tete de chaque librairie.