- Bug fix: Segmentation fault when the input netlist has unconnected signals
Those unused nets are now removed from the input lofig after the flatten.
This commit is contained in:
parent
478d1db69e
commit
fad67c54e0
|
@ -1,8 +1,12 @@
|
|||
/*
|
||||
### -------------------------------------------------- ###
|
||||
$Author: hcl $
|
||||
$Date: 2002/06/27 09:09:01 $
|
||||
$Author: ludo $
|
||||
$Date: 2004/05/23 09:50:42 $
|
||||
$Log: ocrRouter.c,v $
|
||||
Revision 1.8 2004/05/23 09:50:42 ludo
|
||||
- Bug fix: Segmentation fault when the input netlist has unconnected signals
|
||||
Those unused nets are now removed from the input lofig after the flatten.
|
||||
|
||||
Revision 1.7 2002/06/27 09:09:01 hcl
|
||||
Code d'erreur si tous les signaux ne sont pas routés.
|
||||
|
||||
|
@ -179,6 +183,43 @@ phfig_list *readPhFig(char *i_sPhFigName)
|
|||
return l_pPhFig;
|
||||
}
|
||||
|
||||
lofig_list *readLoFig(char *i_sLoFigName)
|
||||
{
|
||||
lofig_list *ScanLoFig;
|
||||
losig_list *ScanLoSig;
|
||||
losig_list *DelLoSig;
|
||||
ptype_list *ScanPType;
|
||||
chain_list *ScanChain;
|
||||
|
||||
ScanLoFig = getlofig(i_sLoFigName, 'A');
|
||||
rflattenlofig( ScanLoFig, YES, YES);
|
||||
|
||||
display(LEVEL, DEBUG, "%s\n", "o Dual connectique ...");
|
||||
// Création d'une vue duale de la connectique
|
||||
lofigchain( ScanLoFig );
|
||||
|
||||
ScanLoSig = ScanLoFig->LOSIG;
|
||||
|
||||
while ( ScanLoSig != (losig_list *)0 )
|
||||
{
|
||||
ScanPType = getptype( ScanLoSig->USER, (long)LOFIGCHAIN);
|
||||
DelLoSig = ScanLoSig;
|
||||
ScanLoSig = ScanLoSig->NEXT;
|
||||
|
||||
if ( ScanPType != (ptype_list *)0 )
|
||||
{
|
||||
ScanChain = (chain_list *)ScanPType->DATA;
|
||||
|
||||
if ( ScanChain == (chain_list *)0 )
|
||||
{
|
||||
dellosig( ScanLoFig, DelLoSig->INDEX );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return( ScanLoFig );
|
||||
}
|
||||
|
||||
ocrSignal *findSignal(ocrRoutingDataBase * i_pDataBase,
|
||||
ocrNaturalInt i_uIndex)
|
||||
{
|
||||
|
@ -1259,14 +1300,11 @@ int main(int argc, char **argv)
|
|||
// Lecture de la vue physique
|
||||
l_pPhFig = readPhFig(l_sPhFigName);
|
||||
|
||||
// Lecture de la vue logique
|
||||
l_pLoFig = getlofig(l_sLoFigName, 'A');
|
||||
|
||||
//FIXME::pas de reentrance
|
||||
rflattenlofig(l_pLoFig, YES, YES);
|
||||
|
||||
display(LEVEL, VERBOSE, "%s\n", "o Read .vst ...");
|
||||
|
||||
// Lecture de la vue logique
|
||||
l_pLoFig = readLoFig(l_sLoFigName );
|
||||
//
|
||||
l_pDataBase = initDataBase(l_pPhFig, l_pLoFig);
|
||||
|
||||
// un peu de ménage.
|
||||
|
|
|
@ -1,8 +1,12 @@
|
|||
/*
|
||||
### -------------------------------------------------- ###
|
||||
$Author: hcl $
|
||||
$Date: 2002/03/15 14:37:27 $
|
||||
$Author: ludo $
|
||||
$Date: 2004/05/23 09:50:43 $
|
||||
$Log: ocrInitDataBase.c,v $
|
||||
Revision 1.2 2004/05/23 09:50:43 ludo
|
||||
- Bug fix: Segmentation fault when the input netlist has unconnected signals
|
||||
Those unused nets are now removed from the input lofig after the flatten.
|
||||
|
||||
Revision 1.1 2002/03/15 14:37:27 hcl
|
||||
Ca roule.
|
||||
|
||||
|
@ -43,7 +47,7 @@
|
|||
#include "ocrInitDataBase.h"
|
||||
|
||||
static char *res_id =
|
||||
"$Id: ocrInitDataBase.c,v 1.1 2002/03/15 14:37:27 hcl Exp $";
|
||||
"$Id: ocrInitDataBase.c,v 1.2 2004/05/23 09:50:43 ludo Exp $";
|
||||
|
||||
extern ocrOption *g_pOption;
|
||||
#define LEVEL (g_pOption->LEVEL)
|
||||
|
@ -59,10 +63,6 @@ ocrRoutingDataBase *initDataBase(phfig_list * i_pPhFig,
|
|||
// Création de la base de donnée
|
||||
l_pDataBase = createDataBase(i_pPhFig);
|
||||
|
||||
// Création d'une vue duale de la connectique
|
||||
lofigchain(i_pLoFig);
|
||||
display(LEVEL, DEBUG, "%s\n", "o Dual connectique ...");
|
||||
|
||||
// paramtères physiques de la grille 5*5 viacost=2 Layer paires = HORZ
|
||||
l_pDataBase->PARAM = setParameters(5, 5, 2, ocrHorizontal);
|
||||
|
||||
|
|
Loading…
Reference in New Issue