This commit is contained in:
Ludovic Jacomme 2002-03-21 12:36:14 +00:00
parent a2acfa029f
commit f5ebb46645
40 changed files with 6739 additions and 0 deletions

View File

@ -0,0 +1 @@
SUBDIRS = src

View File

@ -0,0 +1,45 @@
dnl
/*
dnl This file is part of the Alliance CAD System
dnl Copyright (C) Laboratoire LIP6 - Département ASIM
dnl Universite Pierre et Marie Curie
dnl
dnl Home page : http://www-asim.lip6.fr/alliance/
dnl E-mail support : mailto:alliance-support@asim.lip6.fr
dnl
dnl This library is free software; you can redistribute it and/or modify it
dnl under the terms of the GNU Library General Public License as published
dnl by the Free Software Foundation; either version 2 of the License, or (at
dnl your option) any later version.
dnl
dnl Alliance VLSI CAD System is distributed in the hope that it will be
dnl useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
dnl Public License for more details.
dnl
dnl You should have received a copy of the GNU General Public License along
dnl with the GNU C Library; see the file COPYING. If not, write to the Free
dnl Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
dnl
dnl Purpose : Auto stuffing Alliance
dnl Almost ten years since I wrote this stuff, I just can't
dnl believe it
dnl Date : 01/02/2002
dnl Author : Frederic Petrot <Frederic.Petrot@lip6.fr>
dnl $Id: configure.in,v 1.1 2002/03/21 12:36:13 ludo Exp $
dnl
dnl
AC_INIT(src/scl.h)
AM_INIT_AUTOMAKE(scl, 1.5)
AC_PROG_INSTALL
AC_PROG_CC
AC_HEADER_STDC
AC_C_CONST
AC_PROG_RANLIB
AM_ALLIANCE
AC_OUTPUT([
Makefile
src/Makefile
])

View File

@ -0,0 +1,12 @@
CFLAGS = @CFLAGS@ \
-DALLIANCE_TOP=\"${ALLIANCE_TOP}\"
lib_LIBRARIES = libscl.a
include_HEADERS = scl.h
libScl_a_SOURCES = \
scgmain.h schenv.c schget.h scpadd.h scpfree.c \
scg.h schadd.c schenv.h schview.c scpalloc.c scpfree.h \
scgbefig.c schadd.h scherror.c schview.h scpalloc.h scpswap.h \
scgbefig.h schalloc.c scherror.h scpbuild.c \
scglofig.c schalloc.h schfree.c scl.h scpbuild.h \
scglofig.h schdel.c schfree.h scp.h scpdel.c \
scgmain.c schdel.h schget.c scpadd.c scpdel.h

178
alliance/src/scl/src/main.c Normal file
View File

@ -0,0 +1,178 @@
/*------------------------------------------------------------\
| |
| This file is part of the Alliance CAD System Copyright |
| (C) Laboratoire LIP6 - Département ASIM Universite P&M Curie|
| |
| Home page : http://www-asim.lip6.fr/alliance/ |
| E-mail support : mailto:alliance-support@asim.lip6.fr |
| |
| This progam is free software; you can redistribute it |
| and/or modify it under the terms of the GNU Library General|
| Public License as published by the Free Software Foundation |
| either version 2 of the License, or (at your option) any |
| later version. |
| |
| Alliance VLSI CAD System is distributed in the hope that |
| it will be useful, but WITHOUT ANY WARRANTY; |
| without even the implied warranty of MERCHANTABILITY or |
| FITNESS FOR A PARTICULAR PURPOSE. See the GNU General |
| Public License for more details. |
| |
| You should have received a copy of the GNU General Public |
| License along with the GNU C Library; see the file COPYING. |
| If not, write to the Free Software Foundation, Inc., |
| 675 Mass Ave, Cambridge, MA 02139, USA. |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Tool : Sch |
| |
| File : main.c |
| |
| Date : 08.02.95 |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Include Files |
| |
\------------------------------------------------------------*/
# include <stdio.h>
# include <string.h>
# include "mut.h"
# include "aut.h"
# include "abl.h"
# include "bdd.h"
# include "abe.h"
# include "abv.h"
# include "mlo.h"
# include "scl.h"
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Usage |
| |
\------------------------------------------------------------*/
void SchUsage()
{
fprintf( stderr, "\t\tschtest [Options] Input_name [Output_name]\n\n" );
fprintf( stdout, "\t\tOptions : -V Sets Verbose mode on\n" );
fprintf( stdout, "\t\t -B Behavioral mode on\n" );
fprintf( stdout, "\t\t -v Vectorized mode on\n" );
fprintf( stdout, "\t\t -P to place and route\n" );
fprintf( stdout, "\n" );
exit( 1 );
}
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
int main( argc, argv )
int argc;
char *argv[];
{
schfig_list *SchFigure;
befig_list *BeFigure;
lofig_list *LoFigure;
char *InputFileName;
int Number;
int Index;
char Option;
int FlagVerbose = 0;
int FlagVector = 0;
int FlagBeh = 0;
int FlagPlace = 0;
mbkenv();
autenv();
schenv();
InputFileName = (char *)0;
if ( argc < 2 ) SchUsage();
InputFileName = (char *)0;
for ( Number = 1; Number < argc; Number++ )
{
if ( argv[ Number ][ 0 ] == '-' )
{
for ( Index = 1; argv[ Number ][ Index ] != '\0'; Index++ )
{
Option = argv[ Number ][ Index ];
switch ( Option )
{
case 'V' : FlagVerbose = 1;
break;
case 'v' : FlagVector = 1;
break;
case 'P' : FlagPlace = 1;
break;
case 'B' : FlagBeh = 1;
break;
default : SchUsage();
}
}
}
else
if ( InputFileName == (char *)0 ) InputFileName = argv[ Number ];
else
SchUsage();
}
if ( InputFileName == (char *)0 ) SchUsage();
if ( FlagBeh )
{
BeFigure = vhdlloadbefig( (befig_list *)0, InputFileName, 3 );
SchFigure = befig2schfig( BeFigure );
}
else
{
LoFigure = getlofig( InputFileName, 'A' );
SchFigure = lofig2schfig( LoFigure, FlagVector );
}
if ( FlagPlace )
{
placerouteschfig( SchFigure );
}
if ( FlagVerbose )
{
viewschfig( SchFigure );
}
delschfig( SchFigure->NAME );
return( 0 );
}

View File

@ -0,0 +1,72 @@
/*------------------------------------------------------------\
| |
| This file is part of the Alliance CAD System Copyright |
| (C) Laboratoire LIP6 - Département ASIM Universite P&M Curie|
| |
| Home page : http://www-asim.lip6.fr/alliance/ |
| E-mail support : mailto:alliance-support@asim.lip6.fr |
| |
| This progam is free software; you can redistribute it |
| and/or modify it under the terms of the GNU Library General|
| Public License as published by the Free Software Foundation |
| either version 2 of the License, or (at your option) any |
| later version. |
| |
| Alliance VLSI CAD System is distributed in the hope that |
| it will be useful, but WITHOUT ANY WARRANTY; |
| without even the implied warranty of MERCHANTABILITY or |
| FITNESS FOR A PARTICULAR PURPOSE. See the GNU General |
| Public License for more details. |
| |
| You should have received a copy of the GNU General Public |
| License along with the GNU C Library; see the file COPYING. |
| If not, write to the Free Software Foundation, Inc., |
| 675 Mass Ave, Cambridge, MA 02139, USA. |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Tool : Scg |
| |
| File : scg.h |
| |
| Date : 28.04.98 |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
# ifndef SCG_H
# define SCG_H
/*------------------------------------------------------------\
| |
| Macro |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
extern schfig_list *getschfig_from_cnsfig();
extern schfig_list *getschfig_from_lofig();
# endif

View File

@ -0,0 +1,417 @@
/*------------------------------------------------------------\
| |
| This file is part of the Alliance CAD System Copyright |
| (C) Laboratoire LIP6 - Département ASIM Universite P&M Curie|
| |
| Home page : http://www-asim.lip6.fr/alliance/ |
| E-mail support : mailto:alliance-support@asim.lip6.fr |
| |
| This progam is free software; you can redistribute it |
| and/or modify it under the terms of the GNU Library General|
| Public License as published by the Free Software Foundation |
| either version 2 of the License, or (at your option) any |
| later version. |
| |
| Alliance VLSI CAD System is distributed in the hope that |
| it will be useful, but WITHOUT ANY WARRANTY; |
| without even the implied warranty of MERCHANTABILITY or |
| FITNESS FOR A PARTICULAR PURPOSE. See the GNU General |
| Public License for more details. |
| |
| You should have received a copy of the GNU General Public |
| License along with the GNU C Library; see the file COPYING. |
| If not, write to the Free Software Foundation, Inc., |
| 675 Mass Ave, Cambridge, MA 02139, USA. |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Tool : Scg |
| |
| File : scgbefig.c |
| |
| Date : 28.04.98 |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Include Files |
| |
\------------------------------------------------------------*/
# include "mut.h"
# include "aut.h"
# include "abl.h"
# include "bdd.h"
# include "mlo.h"
# include "abe.h"
# include "scl.h"
# include <stdio.h>
# include "scgbefig.h"
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
static authtable *ScgHashNameNet = (authtable *)0;
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
static void scg_connect_schcon( SchCon, NetName )
schcon_list *SchCon;
char *NetName;
{
schnet_list *SchNet;
authelem *Element;
Element = searchauthelem( ScgHashNameNet, NetName );
if ( Element != (authelem *)0 )
{
SchNet = (schnet_list *)Element->VALUE;
addschnetcon( SchNet, SchCon );
}
}
/*------------------------------------------------------------\
| |
| Get Sch Figure From Befig |
| |
\------------------------------------------------------------*/
schfig_list *befig2schfig( BeFigure )
befig_list *BeFigure;
{
schfig_list *SchFigure;
schcon_list *SchCon;
schbox_list *SchBox;
schnet_list *SchNet;
chain_list *ScanChain;
chain_list *Support;
biabl_list *ScanBiAbl;
bepor_list *ScanPort;
beaux_list *ScanAux;
bebus_list *ScanBus;
bebux_list *ScanBux;
bereg_list *ScanReg;
beout_list *ScanOut;
char *Value;
unsigned char SchDir;
char Buffer[ 512 ];
ScgHashNameNet = createauthtable( 100 );
SchFigure = addschfig( BeFigure->NAME );
SchFigure->SOURCE = (void *)BeFigure;
SchFigure->SOURCE_TYPE = SCH_SOURCE_BEFIG;
/*
** First create all figure connectors and nets
*/
for ( ScanPort = BeFigure->BEPOR;
ScanPort != (bepor_list *)0;
ScanPort = ScanPort->NEXT )
{
if ( ScanPort->DIRECTION == IN ) SchDir = SCH_CON_IN;
else SchDir = SCH_CON_OUT;
SchCon = addschfigcon( SchFigure, ScanPort->NAME, SchDir );
SchCon->SOURCE = (void *)ScanPort;
SchCon->SOURCE_TYPE = SCH_SOURCE_BEPOR;
SchNet = addschnet( SchFigure );
SchNet->SOURCE = (void *)ScanPort;
SchNet->SOURCE_TYPE = SCH_SOURCE_BEPOR;
SchCon->NET = SchNet;
addschnetcon( SchNet, SchCon );
addauthelem( ScgHashNameNet, ScanPort->NAME, (long)SchNet );
}
for ( ScanAux = BeFigure->BEAUX;
ScanAux != (beaux_list *)0;
ScanAux = ScanAux->NEXT )
{
if ( ! searchauthelem( ScgHashNameNet, ScanAux->NAME ) )
{
SchNet = addschnet( SchFigure );
SchNet->SOURCE = (void *)ScanAux;
SchNet->SOURCE_TYPE = SCH_SOURCE_BEAUX;
addauthelem( ScgHashNameNet, ScanAux->NAME, (long)SchNet );
}
}
for ( ScanReg = BeFigure->BEREG;
ScanReg != (bereg_list *)0;
ScanReg = ScanReg->NEXT )
{
if ( ! searchauthelem( ScgHashNameNet, ScanReg->NAME ) )
{
SchNet = addschnet( SchFigure );
SchNet->SOURCE = (void *)ScanReg;
SchNet->SOURCE_TYPE = SCH_SOURCE_BEREG;
addauthelem( ScgHashNameNet, ScanReg->NAME, (long)SchNet );
}
}
for ( ScanBux = BeFigure->BEBUX;
ScanBux != (bebux_list *)0;
ScanBux = ScanBux->NEXT )
{
if ( ! searchauthelem( ScgHashNameNet, ScanBux->NAME ) )
{
SchNet = addschnet( SchFigure );
SchNet->SOURCE = (void *)ScanBux;
SchNet->SOURCE_TYPE = SCH_SOURCE_BEBUX;
addauthelem( ScgHashNameNet, ScanBux->NAME, (long)SchNet );
}
}
for ( ScanBus = BeFigure->BEBUS;
ScanBus != (bebus_list *)0;
ScanBus = ScanBus->NEXT )
{
if ( ! searchauthelem( ScgHashNameNet, ScanBus->NAME ) )
{
SchNet = addschnet( SchFigure );
SchNet->SOURCE = (void *)ScanBus;
SchNet->SOURCE_TYPE = SCH_SOURCE_BEBUS;
addauthelem( ScgHashNameNet, ScanBus->NAME, (long)SchNet );
}
}
for ( ScanOut = BeFigure->BEOUT;
ScanOut != (beout_list *)0;
ScanOut = ScanOut->NEXT )
{
if ( ! searchauthelem( ScgHashNameNet, ScanOut->NAME ) )
{
SchNet = addschnet( SchFigure );
SchNet->SOURCE = (void *)ScanOut;
SchNet->SOURCE_TYPE = SCH_SOURCE_BEOUT;
addauthelem( ScgHashNameNet, ScanOut->NAME, (long)SchNet );
}
}
/*
** Now create all boxes for aux, bux, reg etc ..
*/
for ( ScanAux = BeFigure->BEAUX;
ScanAux != (beaux_list *)0;
ScanAux = ScanAux->NEXT )
{
sprintf( Buffer, "beaux_%s", ScanAux->NAME );
SchBox = addschbox( SchFigure, Buffer );
SchBox->SOURCE = (void *)ScanAux;
SchBox->SOURCE_TYPE = SCH_SOURCE_BEAUX;
Support = getablexprsupport( ScanAux->ABL, ABL_SUPPORT_CHAIN );
for ( ScanChain = Support;
ScanChain != (chain_list *)0;
ScanChain = ScanChain->NEXT )
{
Value = (char *)ScanChain->DATA;
if ( ( Value[ 0 ] == '\'' ) ||
( Value[ 0 ] == '"' ) ) continue;
SchCon = addschboxcon( SchFigure, SchBox, Value, SCH_CON_IN );
SchCon->SOURCE = (void *)ScanAux;
SchCon->SOURCE_TYPE = SCH_SOURCE_BEAUX;
scg_connect_schcon( SchCon, SchCon->NAME );
}
freechain( Support );
SchCon = addschboxcon( SchFigure, SchBox, ScanAux->NAME, SCH_CON_OUT );
scg_connect_schcon( SchCon, SchCon->NAME );
}
for ( ScanBus = BeFigure->BEBUS;
ScanBus != (bebus_list *)0;
ScanBus = ScanBus->NEXT )
{
sprintf( Buffer, "bebus_%s", ScanBus->NAME );
SchBox = addschbox( SchFigure, Buffer );
SchBox->SOURCE = (void *)ScanBus;
SchBox->SOURCE_TYPE = SCH_SOURCE_BEBUS;
Support = (chain_list *)0;
for ( ScanBiAbl = ScanBus->BIABL;
ScanBiAbl != (biabl_list *)0;
ScanBiAbl = ScanBiAbl->NEXT )
{
Support = unionablexprsupport( Support, ScanBiAbl->CNDABL, ABL_SUPPORT_CHAIN );
Support = unionablexprsupport( Support, ScanBiAbl->VALABL, ABL_SUPPORT_CHAIN );
}
for ( ScanChain = Support;
ScanChain != (chain_list *)0;
ScanChain = ScanChain->NEXT )
{
Value = (char *)ScanChain->DATA;
if ( ( Value[ 0 ] == '\'' ) ||
( Value[ 0 ] == '"' ) ) continue;
SchCon = addschboxcon( SchFigure, SchBox, Value, SCH_CON_IN );
SchCon->SOURCE = (void *)ScanBus;
SchCon->SOURCE_TYPE = SCH_SOURCE_BEBUS;
scg_connect_schcon( SchCon, SchCon->NAME );
}
freechain( Support );
SchCon = addschboxcon( SchFigure, SchBox, ScanBus->NAME, SCH_CON_OUT );
scg_connect_schcon( SchCon, SchCon->NAME );
}
for ( ScanBux = BeFigure->BEBUX;
ScanBux != (bebux_list *)0;
ScanBux = ScanBux->NEXT )
{
sprintf( Buffer, "bebux_%s", ScanBux->NAME );
SchBox = addschbox( SchFigure, Buffer );
SchBox->SOURCE = (void *)ScanBux;
SchBox->SOURCE_TYPE = SCH_SOURCE_BEBUX;
Support = (chain_list *)0;
for ( ScanBiAbl = ScanBux->BIABL;
ScanBiAbl != (biabl_list *)0;
ScanBiAbl = ScanBiAbl->NEXT )
{
Support = unionablexprsupport( Support, ScanBiAbl->CNDABL, ABL_SUPPORT_CHAIN );
Support = unionablexprsupport( Support, ScanBiAbl->VALABL, ABL_SUPPORT_CHAIN );
}
for ( ScanChain = Support;
ScanChain != (chain_list *)0;
ScanChain = ScanChain->NEXT )
{
Value = (char *)ScanChain->DATA;
if ( ( Value[ 0 ] == '\'' ) ||
( Value[ 0 ] == '"' ) ) continue;
SchCon = addschboxcon( SchFigure, SchBox, Value, SCH_CON_IN );
SchCon->SOURCE = (void *)ScanBux;
SchCon->SOURCE_TYPE = SCH_SOURCE_BEBUX;
scg_connect_schcon( SchCon, SchCon->NAME );
}
freechain( Support );
SchCon = addschboxcon( SchFigure, SchBox, ScanBux->NAME, SCH_CON_OUT );
scg_connect_schcon( SchCon, SchCon->NAME );
}
for ( ScanReg = BeFigure->BEREG;
ScanReg != (bereg_list *)0;
ScanReg = ScanReg->NEXT )
{
sprintf( Buffer, "bereg_%s", ScanReg->NAME );
SchBox = addschbox( SchFigure, Buffer );
SchBox->SOURCE = (void *)ScanReg;
SchBox->SOURCE_TYPE = SCH_SOURCE_BEREG;
Support = (chain_list *)0;
for ( ScanBiAbl = ScanReg->BIABL;
ScanBiAbl != (biabl_list *)0;
ScanBiAbl = ScanBiAbl->NEXT )
{
Support = unionablexprsupport( Support, ScanBiAbl->CNDABL, ABL_SUPPORT_CHAIN );
Support = unionablexprsupport( Support, ScanBiAbl->VALABL, ABL_SUPPORT_CHAIN );
}
for ( ScanChain = Support;
ScanChain != (chain_list *)0;
ScanChain = ScanChain->NEXT )
{
Value = (char *)ScanChain->DATA;
if ( ( Value[ 0 ] == '\'' ) ||
( Value[ 0 ] == '"' ) ) continue;
SchCon = addschboxcon( SchFigure, SchBox, Value, SCH_CON_IN );
SchCon->SOURCE = (void *)ScanReg;
SchCon->SOURCE_TYPE = SCH_SOURCE_BEREG;
scg_connect_schcon( SchCon, SchCon->NAME );
}
freechain( Support );
SchCon = addschboxcon( SchFigure, SchBox, ScanReg->NAME, SCH_CON_OUT );
scg_connect_schcon( SchCon, SchCon->NAME );
}
for ( ScanOut = BeFigure->BEOUT;
ScanOut != (beout_list *)0;
ScanOut = ScanOut->NEXT )
{
sprintf( Buffer, "beout_%s", ScanOut->NAME );
SchBox = addschbox( SchFigure, Buffer );
SchBox->SOURCE = (void *)ScanOut;
SchBox->SOURCE_TYPE = SCH_SOURCE_BEOUT;
Support = getablexprsupport( ScanOut->ABL, ABL_SUPPORT_CHAIN );
for ( ScanChain = Support;
ScanChain != (chain_list *)0;
ScanChain = ScanChain->NEXT )
{
Value = (char *)ScanChain->DATA;
if ( ( Value[ 0 ] == '\'' ) ||
( Value[ 0 ] == '"' ) ) continue;
SchCon = addschboxcon( SchFigure, SchBox, Value, SCH_CON_IN );
SchCon->SOURCE = (void *)ScanOut;
SchCon->SOURCE_TYPE = SCH_SOURCE_BEOUT;
scg_connect_schcon( SchCon, SchCon->NAME );
}
SchCon = addschboxcon( SchFigure, SchBox, ScanOut->NAME, SCH_CON_OUT );
scg_connect_schcon( SchCon, SchCon->NAME );
}
destroyauthtable( ScgHashNameNet );
return( SchFigure );
}

View File

@ -0,0 +1,68 @@
/*------------------------------------------------------------\
| |
| This file is part of the Alliance CAD System Copyright |
| (C) Laboratoire LIP6 - Département ASIM Universite P&M Curie|
| |
| Home page : http://www-asim.lip6.fr/alliance/ |
| E-mail support : mailto:alliance-support@asim.lip6.fr |
| |
| This progam is free software; you can redistribute it |
| and/or modify it under the terms of the GNU Library General|
| Public License as published by the Free Software Foundation |
| either version 2 of the License, or (at your option) any |
| later version. |
| |
| Alliance VLSI CAD System is distributed in the hope that |
| it will be useful, but WITHOUT ANY WARRANTY; |
| without even the implied warranty of MERCHANTABILITY or |
| FITNESS FOR A PARTICULAR PURPOSE. See the GNU General |
| Public License for more details. |
| |
| You should have received a copy of the GNU General Public |
| License along with the GNU C Library; see the file COPYING. |
| If not, write to the Free Software Foundation, Inc., |
| 675 Mass Ave, Cambridge, MA 02139, USA. |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Tool : Scg |
| |
| File : scglofig.h |
| |
| Date : 28.04.98 |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
# ifndef SCG_LOFIG_H
# define SCG_LOFIG_H
/*------------------------------------------------------------\
| |
| Macro |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
extern schfig_list *getschfig_from_lofig();
# endif

View File

@ -0,0 +1,266 @@
/*------------------------------------------------------------\
| |
| This file is part of the Alliance CAD System Copyright |
| (C) Laboratoire LIP6 - Département ASIM Universite P&M Curie|
| |
| Home page : http://www-asim.lip6.fr/alliance/ |
| E-mail support : mailto:alliance-support@asim.lip6.fr |
| |
| This progam is free software; you can redistribute it |
| and/or modify it under the terms of the GNU Library General|
| Public License as published by the Free Software Foundation |
| either version 2 of the License, or (at your option) any |
| later version. |
| |
| Alliance VLSI CAD System is distributed in the hope that |
| it will be useful, but WITHOUT ANY WARRANTY; |
| without even the implied warranty of MERCHANTABILITY or |
| FITNESS FOR A PARTICULAR PURPOSE. See the GNU General |
| Public License for more details. |
| |
| You should have received a copy of the GNU General Public |
| License along with the GNU C Library; see the file COPYING. |
| If not, write to the Free Software Foundation, Inc., |
| 675 Mass Ave, Cambridge, MA 02139, USA. |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Tool : Scg |
| |
| File : scglofig.c |
| |
| Date : 28.04.98 |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Include Files |
| |
\------------------------------------------------------------*/
# include "mut.h"
# include "aut.h"
# include "mlo.h"
# include "scl.h"
# include <stdio.h>
# include "scglofig.h"
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Get Sch Figure From Lo fig |
| |
\------------------------------------------------------------*/
schfig_list *lofig2schfig( LoFigure, Vectorized )
lofig_list *LoFigure;
int Vectorized;
{
locon_list *LoCon;
loins_list *LoIns;
losig_list *LoSig;
lotrs_list *LoTrs;
schcon_list *SchCon;
schbox_list *SchBox;
schnet_list *SchNet;
schfig_list *SchFigure;
ptype_list *PType;
SchFigure = addschfig( LoFigure->NAME );
SchFigure->SOURCE = (void *)LoFigure;
SchFigure->SOURCE_TYPE = SCH_SOURCE_LOFIG;
for ( LoSig = LoFigure->LOSIG;
LoSig != (losig_list *)0;
LoSig = LoSig->NEXT )
{
SchNet = addschnet( SchFigure );
SchNet->SOURCE = (void *)LoSig;
SchNet->SOURCE_TYPE = SCH_SOURCE_LOSIG ;
LoSig->USER = addptype( LoSig->USER, SCH_NET_TYPE, SchNet );
}
for ( LoCon = LoFigure->LOCON;
LoCon != (locon_list *)0;
LoCon = LoCon->NEXT )
{
if ( ( ! ( ( isvdd( LoCon->NAME ) ) ||
( isvss( LoCon->NAME ) ) ) ) ||
( LoFigure->LOTRS != (lotrs_list *)0 ) )
{
if ( ( LoCon->DIRECTION == IN ) ||
( LoCon->DIRECTION == INOUT ) ||
( LoCon->DIRECTION == UNKNOWN ) ||
( LoFigure->LOTRS != (lotrs_list *)0 ) )
{
SchCon = addschfigcon( SchFigure, LoCon->NAME, SCH_CON_IN );
SchCon->SOURCE = (void *)LoCon;
SchCon->SOURCE_TYPE = SCH_SOURCE_LOCON;
LoSig = LoCon->SIG;
PType = getptype( LoSig->USER, SCH_NET_TYPE );
SchNet = (schnet_list *)PType->DATA;
addschnetcon( SchNet, SchCon );
}
if ( ( LoCon->DIRECTION != IN ) ||
( LoFigure->LOTRS != (lotrs_list *)0 ) )
{
SchCon = addschfigcon( SchFigure, LoCon->NAME, SCH_CON_OUT );
SchCon->SOURCE = (void *)LoCon;
SchCon->SOURCE_TYPE = SCH_SOURCE_LOCON;
LoSig = LoCon->SIG;
PType = getptype( LoSig->USER, SCH_NET_TYPE );
SchNet = (schnet_list *)PType->DATA;
addschnetcon( SchNet, SchCon );
}
}
}
for ( LoIns = LoFigure->LOINS;
LoIns != (loins_list *)0;
LoIns = LoIns->NEXT )
{
SchBox = addschbox( SchFigure, LoIns->INSNAME );
SchBox->SOURCE = (void *)LoIns;
SchBox->SOURCE_TYPE = SCH_SOURCE_LOINS;
for ( LoCon = LoIns->LOCON;
LoCon != (locon_list *)0;
LoCon = LoCon->NEXT )
{
if ( ! ( ( isvdd( LoCon->NAME ) ) ||
( isvss( LoCon->NAME ) ) ) )
{
if ( ( LoCon->DIRECTION == IN ) ||
( LoCon->DIRECTION == INOUT ) ||
( LoCon->DIRECTION == UNKNOWN ) )
{
SchCon = addschboxcon( SchFigure, SchBox, LoCon->NAME, SCH_CON_IN );
SchCon->SOURCE = (void *)LoCon;
SchCon->SOURCE_TYPE = SCH_SOURCE_LOCON;
LoSig = LoCon->SIG;
PType = getptype( LoSig->USER, SCH_NET_TYPE );
SchNet = (schnet_list *)PType->DATA;
addschnetcon( SchNet, SchCon );
}
if ( LoCon->DIRECTION != IN )
{
SchCon = addschboxcon( SchFigure, SchBox, LoCon->NAME, SCH_CON_OUT );
SchCon->SOURCE = (void *)LoCon;
SchCon->SOURCE_TYPE = SCH_SOURCE_LOCON;
LoSig = LoCon->SIG;
PType = getptype( LoSig->USER, SCH_NET_TYPE );
SchNet = (schnet_list *)PType->DATA;
addschnetcon( SchNet, SchCon );
}
}
}
}
for ( LoTrs = LoFigure->LOTRS;
LoTrs != (lotrs_list *)0;
LoTrs = LoTrs->NEXT )
{
if ( LoTrs->TRNAME != (char *)0 )
{
SchBox = addschbox( SchFigure, LoTrs->TRNAME );
}
else
{
SchBox = addschbox( SchFigure, ( LoTrs->TYPE == TRANSN ) ? "ntrans" : "ptrans " );
}
SchBox->SOURCE = (void *)LoTrs;
SchBox->SOURCE_TYPE = SCH_SOURCE_LOTRS;
/*
** Transitor Source
*/
LoCon = LoTrs->SOURCE;
SchCon = addschboxcon( SchFigure, SchBox, "s", SCH_CON_IN );
SchCon->SOURCE = (void *)LoTrs;
SchCon->SOURCE_TYPE = SCH_SOURCE_LOTRS;
LoSig = LoCon->SIG;
PType = getptype( LoSig->USER, SCH_NET_TYPE );
SchNet = (schnet_list *)PType->DATA;
addschnetcon( SchNet, SchCon );
/*
** Transitor Drain
*/
LoCon = LoTrs->DRAIN;
SchCon = addschboxcon( SchFigure, SchBox, "d", SCH_CON_IN );
SchCon->SOURCE = (void *)LoTrs;
SchCon->SOURCE_TYPE = SCH_SOURCE_LOTRS;
LoSig = LoCon->SIG;
PType = getptype( LoSig->USER, SCH_NET_TYPE );
SchNet = (schnet_list *)PType->DATA;
addschnetcon( SchNet, SchCon );
/*
** Transitor Grid
*/
LoCon = LoTrs->GRID;
SchCon = addschboxcon( SchFigure, SchBox, "g", SCH_CON_OUT );
SchCon->SOURCE = (void *)LoTrs;
SchCon->SOURCE_TYPE = SCH_SOURCE_LOTRS;
LoSig = LoCon->SIG;
PType = getptype( LoSig->USER, SCH_NET_TYPE );
SchNet = (schnet_list *)PType->DATA;
addschnetcon( SchNet, SchCon );
}
for ( LoSig = LoFigure->LOSIG;
LoSig != (losig_list *)0;
LoSig = LoSig->NEXT )
{
LoSig->USER = delptype( LoSig->USER, SCH_NET_TYPE );
}
return( SchFigure );
}

View File

@ -0,0 +1,68 @@
/*------------------------------------------------------------\
| |
| This file is part of the Alliance CAD System Copyright |
| (C) Laboratoire LIP6 - Département ASIM Universite P&M Curie|
| |
| Home page : http://www-asim.lip6.fr/alliance/ |
| E-mail support : mailto:alliance-support@asim.lip6.fr |
| |
| This progam is free software; you can redistribute it |
| and/or modify it under the terms of the GNU Library General|
| Public License as published by the Free Software Foundation |
| either version 2 of the License, or (at your option) any |
| later version. |
| |
| Alliance VLSI CAD System is distributed in the hope that |
| it will be useful, but WITHOUT ANY WARRANTY; |
| without even the implied warranty of MERCHANTABILITY or |
| FITNESS FOR A PARTICULAR PURPOSE. See the GNU General |
| Public License for more details. |
| |
| You should have received a copy of the GNU General Public |
| License along with the GNU C Library; see the file COPYING. |
| If not, write to the Free Software Foundation, Inc., |
| 675 Mass Ave, Cambridge, MA 02139, USA. |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Tool : Scg |
| |
| File : scglofig.h |
| |
| Date : 28.04.98 |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
# ifndef SCG_LOFIG_H
# define SCG_LOFIG_H
/*------------------------------------------------------------\
| |
| Macro |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
extern schfig_list *getschfig_from_lofig();
# endif

View File

@ -0,0 +1,77 @@
/*------------------------------------------------------------\
| |
| This file is part of the Alliance CAD System Copyright |
| (C) Laboratoire LIP6 - Département ASIM Universite P&M Curie|
| |
| Home page : http://www-asim.lip6.fr/alliance/ |
| E-mail support : mailto:alliance-support@asim.lip6.fr |
| |
| This progam is free software; you can redistribute it |
| and/or modify it under the terms of the GNU Library General|
| Public License as published by the Free Software Foundation |
| either version 2 of the License, or (at your option) any |
| later version. |
| |
| Alliance VLSI CAD System is distributed in the hope that |
| it will be useful, but WITHOUT ANY WARRANTY; |
| without even the implied warranty of MERCHANTABILITY or |
| FITNESS FOR A PARTICULAR PURPOSE. See the GNU General |
| Public License for more details. |
| |
| You should have received a copy of the GNU General Public |
| License along with the GNU C Library; see the file COPYING. |
| If not, write to the Free Software Foundation, Inc., |
| 675 Mass Ave, Cambridge, MA 02139, USA. |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Tool : Scg |
| |
| File : scgn.c |
| |
| Date : 28.04.98 |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Include Files |
| |
\------------------------------------------------------------*/
# include "mut.h"
# include "aut.h"
# include "mlo.h"
# include "scl.h"
# include <stdio.h>
# include "scg.h"
# include "scgmain.h"
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
schfig_list *getschfig( FileName )
char *FileName;
{
return ( getschfig_from_lofig( FileName ) );
}

View File

@ -0,0 +1,66 @@
/*------------------------------------------------------------\
| |
| This file is part of the Alliance CAD System Copyright |
| (C) Laboratoire LIP6 - Département ASIM Universite P&M Curie|
| |
| Home page : http://www-asim.lip6.fr/alliance/ |
| E-mail support : mailto:alliance-support@asim.lip6.fr |
| |
| This progam is free software; you can redistribute it |
| and/or modify it under the terms of the GNU Library General|
| Public License as published by the Free Software Foundation |
| either version 2 of the License, or (at your option) any |
| later version. |
| |
| Alliance VLSI CAD System is distributed in the hope that |
| it will be useful, but WITHOUT ANY WARRANTY; |
| without even the implied warranty of MERCHANTABILITY or |
| FITNESS FOR A PARTICULAR PURPOSE. See the GNU General |
| Public License for more details. |
| |
| You should have received a copy of the GNU General Public |
| License along with the GNU C Library; see the file COPYING. |
| If not, write to the Free Software Foundation, Inc., |
| 675 Mass Ave, Cambridge, MA 02139, USA. |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Tool : Scg |
| |
| File : scgmain.h |
| |
| Date : 28.04.98 |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
# ifndef SCG_MAIN_H
# define SCG_MAIN_H
/*------------------------------------------------------------\
| |
| Macro |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
# endif

View File

@ -0,0 +1,275 @@
/*------------------------------------------------------------\
| |
| This file is part of the Alliance CAD System Copyright |
| (C) Laboratoire LIP6 - Département ASIM Universite P&M Curie|
| |
| Home page : http://www-asim.lip6.fr/alliance/ |
| E-mail support : mailto:alliance-support@asim.lip6.fr |
| |
| This progam is free software; you can redistribute it |
| and/or modify it under the terms of the GNU Library General|
| Public License as published by the Free Software Foundation |
| either version 2 of the License, or (at your option) any |
| later version. |
| |
| Alliance VLSI CAD System is distributed in the hope that |
| it will be useful, but WITHOUT ANY WARRANTY; |
| without even the implied warranty of MERCHANTABILITY or |
| FITNESS FOR A PARTICULAR PURPOSE. See the GNU General |
| Public License for more details. |
| |
| You should have received a copy of the GNU General Public |
| License along with the GNU C Library; see the file COPYING. |
| If not, write to the Free Software Foundation, Inc., |
| 675 Mass Ave, Cambridge, MA 02139, USA. |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Tool : Sch |
| |
| File : schadd.c |
| |
| Date : 04.03.98 |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Include Files |
| |
\------------------------------------------------------------*/
# include "mut.h"
# include "aut.h"
# include "mlo.h"
# include "scl.h"
# include <stdio.h>
# include "schadd.h"
# include "scherror.h"
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Sch Add Functions |
| |
\------------------------------------------------------------*/
schnet_list *addschnetcon( Net, Con)
schnet_list *Net;
schcon_list *Con;
{
Con->NET = Net;
Net->CON_NET = addchain( Net->CON_NET, (void *)Con );
if ( IsSchConExternal( Con ) )
{
if ( IsSchConIn( Con ) ) Net->NUMBER_IN++;
else Net->NUMBER_OUT++;
}
else
{
if ( IsSchConIn( Con ) ) Net->NUMBER_OUT++;
else Net->NUMBER_IN++;
}
return ( Net );
}
/*------------------------------------------------------------\
| |
| Sch Add Figure |
| |
\------------------------------------------------------------*/
schfig_list *addschfig( Name )
char *Name;
{
schfig_list *Figure;
Figure = allocschfig();
Figure->NAME = namealloc( Name );
Figure->NEXT = HEAD_SCHFIG;
HEAD_SCHFIG = Figure;
return( Figure );
}
/*------------------------------------------------------------\
| |
| Sch Add Box |
| |
\------------------------------------------------------------*/
schbox_list *addschbox( Figure, Name )
schfig_list *Figure;
char *Name;
{
schbox_list *Box;
Box = allocschbox();
Box->NAME = namealloc( Name );
Box->NEXT = Figure->BOX;
Figure->BOX = Box;
return( Box );
}
/*------------------------------------------------------------\
| |
| Sch Add Box Connector |
| |
\------------------------------------------------------------*/
schcon_list *addschboxcon( Figure, Box, Name, Type )
schfig_list *Figure;
schbox_list *Box;
char *Name;
unsigned char Type;
{
schcon_list *Connector;
Connector = allocschcon();
Connector->NAME = namealloc( Name );
if ( Type == SCH_CON_IN )
{
Connector->NEXT = Box->CON_IN;
Box->CON_IN = Connector;
Box->NUMBER_IN++;
}
else
{
Connector->NEXT = Box->CON_OUT;
Box->CON_OUT = Connector;
Box->NUMBER_OUT++;
}
if ( Type == SCH_CON_IN ) SetSchConIn( Connector );
else SetSchConOut( Connector );
SetSchConInternal( Connector );
Connector->ROOT_TYPE = SCH_ROOT_CON_BOX;
Connector->ROOT = (void *)Box;
return( Connector );
}
/*------------------------------------------------------------\
| |
| Sch Add Figure Connector |
| |
\------------------------------------------------------------*/
schcon_list *addschfigcon( Figure, Name, Type )
schfig_list *Figure;
char *Name;
unsigned char Type;
{
schcon_list *Connector;
Connector = allocschcon();
Connector->NAME = namealloc( Name );
if ( Type == SCH_CON_IN )
{
Connector->NEXT = Figure->CON_IN;
Figure->CON_IN = Connector;
Figure->NUMBER_IN++;
}
else
{
Connector->NEXT = Figure->CON_OUT;
Figure->CON_OUT = Connector;
Figure->NUMBER_OUT++;
}
if ( Type == SCH_CON_IN ) SetSchConIn( Connector );
else SetSchConOut( Connector );
SetSchConExternal( Connector );
Connector->ROOT_TYPE = SCH_ROOT_CON_FIG;
Connector->ROOT = (void *)Figure;
return( Connector );
}
/*------------------------------------------------------------\
| |
| Sch Add Net |
| |
\------------------------------------------------------------*/
schnet_list *addschnet( Figure )
schfig_list *Figure;
{
schnet_list *Net;
Net = allocschnet();
Net->NEXT = Figure->NET;
Figure->NET = Net;
return( Net );
}
/*------------------------------------------------------------\
| |
| Sch Add Wire |
| |
\------------------------------------------------------------*/
schwir_list *addschwir( Figure, Net )
schfig_list *Figure;
schnet_list *Net;
{
schwir_list *Wire;
Wire = allocschwir();
Wire->NEXT = Net->WIRE;
Net->WIRE = Wire;
return( Wire );
}

View File

@ -0,0 +1,66 @@
/*------------------------------------------------------------\
| |
| This file is part of the Alliance CAD System Copyright |
| (C) Laboratoire LIP6 - Département ASIM Universite P&M Curie|
| |
| Home page : http://www-asim.lip6.fr/alliance/ |
| E-mail support : mailto:alliance-support@asim.lip6.fr |
| |
| This progam is free software; you can redistribute it |
| and/or modify it under the terms of the GNU Library General|
| Public License as published by the Free Software Foundation |
| either version 2 of the License, or (at your option) any |
| later version. |
| |
| Alliance VLSI CAD System is distributed in the hope that |
| it will be useful, but WITHOUT ANY WARRANTY; |
| without even the implied warranty of MERCHANTABILITY or |
| FITNESS FOR A PARTICULAR PURPOSE. See the GNU General |
| Public License for more details. |
| |
| You should have received a copy of the GNU General Public |
| License along with the GNU C Library; see the file COPYING. |
| If not, write to the Free Software Foundation, Inc., |
| 675 Mass Ave, Cambridge, MA 02139, USA. |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Tool : Sch |
| |
| File : schadd.h |
| |
| Date : 04.03.98 |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
# ifndef SCH_ADD_H
# define SCH_ADD_H
/*------------------------------------------------------------\
| |
| Macro |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
# endif

View File

@ -0,0 +1,136 @@
/*------------------------------------------------------------\
| |
| This file is part of the Alliance CAD System Copyright |
| (C) Laboratoire LIP6 - Département ASIM Universite P&M Curie|
| |
| Home page : http://www-asim.lip6.fr/alliance/ |
| E-mail support : mailto:alliance-support@asim.lip6.fr |
| |
| This progam is free software; you can redistribute it |
| and/or modify it under the terms of the GNU Library General|
| Public License as published by the Free Software Foundation |
| either version 2 of the License, or (at your option) any |
| later version. |
| |
| Alliance VLSI CAD System is distributed in the hope that |
| it will be useful, but WITHOUT ANY WARRANTY; |
| without even the implied warranty of MERCHANTABILITY or |
| FITNESS FOR A PARTICULAR PURPOSE. See the GNU General |
| Public License for more details. |
| |
| You should have received a copy of the GNU General Public |
| License along with the GNU C Library; see the file COPYING. |
| If not, write to the Free Software Foundation, Inc., |
| 675 Mass Ave, Cambridge, MA 02139, USA. |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Tool : Sch |
| |
| File : schalloc.c |
| |
| Date : 04.03.98 |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Include Files |
| |
\------------------------------------------------------------*/
# include <stdio.h>
# include <string.h>
# include "schalloc.h"
# include "scherror.h"
# include "mut.h"
# include "mlo.h"
# include "aut.h"
# include "scl.h"
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
schfig_list *HEAD_SCHFIG = (schfig_list *)0;
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Alloc Functions |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Sch Alloc Figure |
| |
\------------------------------------------------------------*/
schfig_list *allocschfig()
{
return( (schfig_list *)(autallocblock( sizeof( schfig_list ) ) ) );
}
/*------------------------------------------------------------\
| |
| Sch Alloc Box |
| |
\------------------------------------------------------------*/
schbox_list *allocschbox()
{
return( (schbox_list *)(autallocheap( sizeof( schbox_list ) ) ) );
}
/*------------------------------------------------------------\
| |
| Sch Alloc Connector |
| |
\------------------------------------------------------------*/
schcon_list *allocschcon()
{
return( (schcon_list *)(autallocheap( sizeof( schcon_list ) ) ) );
}
/*------------------------------------------------------------\
| |
| Sch Alloc Net |
| |
\------------------------------------------------------------*/
schnet_list *allocschnet()
{
return( (schnet_list *)(autallocheap( sizeof( schnet_list ) ) ) );
}
/*------------------------------------------------------------\
| |
| Sch Alloc Wire |
| |
\------------------------------------------------------------*/
schwir_list *allocschwir()
{
return( (schwir_list *)(autallocheap( sizeof( schwir_list ) ) ) );
}

View File

@ -0,0 +1,66 @@
/*------------------------------------------------------------\
| |
| This file is part of the Alliance CAD System Copyright |
| (C) Laboratoire LIP6 - Département ASIM Universite P&M Curie|
| |
| Home page : http://www-asim.lip6.fr/alliance/ |
| E-mail support : mailto:alliance-support@asim.lip6.fr |
| |
| This progam is free software; you can redistribute it |
| and/or modify it under the terms of the GNU Library General|
| Public License as published by the Free Software Foundation |
| either version 2 of the License, or (at your option) any |
| later version. |
| |
| Alliance VLSI CAD System is distributed in the hope that |
| it will be useful, but WITHOUT ANY WARRANTY; |
| without even the implied warranty of MERCHANTABILITY or |
| FITNESS FOR A PARTICULAR PURPOSE. See the GNU General |
| Public License for more details. |
| |
| You should have received a copy of the GNU General Public |
| License along with the GNU C Library; see the file COPYING. |
| If not, write to the Free Software Foundation, Inc., |
| 675 Mass Ave, Cambridge, MA 02139, USA. |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Tool : Sch |
| |
| File : schalloc.h |
| |
| Date : 28.01.97 |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
# ifndef SCH_ALLOC_H
# define SCH_ALLOC_H
/*------------------------------------------------------------\
| |
| Macro |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
# endif

View File

@ -0,0 +1,222 @@
/*------------------------------------------------------------\
| |
| This file is part of the Alliance CAD System Copyright |
| (C) Laboratoire LIP6 - Département ASIM Universite P&M Curie|
| |
| Home page : http://www-asim.lip6.fr/alliance/ |
| E-mail support : mailto:alliance-support@asim.lip6.fr |
| |
| This progam is free software; you can redistribute it |
| and/or modify it under the terms of the GNU Library General|
| Public License as published by the Free Software Foundation |
| either version 2 of the License, or (at your option) any |
| later version. |
| |
| Alliance VLSI CAD System is distributed in the hope that |
| it will be useful, but WITHOUT ANY WARRANTY; |
| without even the implied warranty of MERCHANTABILITY or |
| FITNESS FOR A PARTICULAR PURPOSE. See the GNU General |
| Public License for more details. |
| |
| You should have received a copy of the GNU General Public |
| License along with the GNU C Library; see the file COPYING. |
| If not, write to the Free Software Foundation, Inc., |
| 675 Mass Ave, Cambridge, MA 02139, USA. |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Tool : Sch |
| |
| File : schdel.c |
| |
| Date : 04.03.98 |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Include Files |
| |
\------------------------------------------------------------*/
# include "mut.h"
# include "aut.h"
# include "mlo.h"
# include "scl.h"
# include <stdio.h>
# include "schdel.h"
# include "scherror.h"
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Sch Del Functions |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Sch Del Connector List |
| |
\------------------------------------------------------------*/
static void loc_delschcon( HeadCon )
schcon_list *HeadCon;
{
schcon_list *ScanCon;
schcon_list *DelCon;
ScanCon = HeadCon;
while ( ScanCon != (schcon_list *)0 )
{
DelCon = ScanCon;
ScanCon = ScanCon->NEXT;
freeschcon( DelCon );
}
}
/*------------------------------------------------------------\
| |
| Sch Del Wire List |
| |
\------------------------------------------------------------*/
static void loc_delschwir( HeadWire )
schwir_list *HeadWire;
{
schwir_list *ScanWire;
schwir_list *DelWire;
ScanWire = HeadWire;
while ( ScanWire != (schwir_list *)0 )
{
DelWire = ScanWire;
ScanWire = ScanWire->NEXT;
freeschwir( DelWire );
}
}
/*------------------------------------------------------------\
| |
| Sch Del Net List |
| |
\------------------------------------------------------------*/
static void loc_delschnet( HeadNet )
schnet_list *HeadNet;
{
schnet_list *ScanNet;
schnet_list *DelNet;
ScanNet = HeadNet;
while ( ScanNet != (schnet_list *)0 )
{
DelNet = ScanNet;
ScanNet = ScanNet->NEXT;
loc_delschwir( DelNet->WIRE );
if ( DelNet->CON_NET != (chain_list *)0 )
{
freechain( DelNet->CON_NET );
}
freeschnet( DelNet );
}
}
/*------------------------------------------------------------\
| |
| Sch Del Box List |
| |
\------------------------------------------------------------*/
static void loc_delschbox( HeadBox )
schbox_list *HeadBox;
{
schbox_list *ScanBox;
schbox_list *DelBox;
ScanBox = HeadBox;
while ( ScanBox != (schbox_list *)0 )
{
DelBox = ScanBox;
ScanBox = ScanBox->NEXT;
loc_delschcon( DelBox->CON_IN );
loc_delschcon( DelBox->CON_OUT );
freeschbox( DelBox );
}
}
/*------------------------------------------------------------\
| |
| Sch Del Figure |
| |
\------------------------------------------------------------*/
int delschfig( Name )
char *Name;
{
schfig_list *Figure;
schfig_list **Previous;
Name = namealloc( Name );
Previous = &HEAD_SCHFIG;
for ( Figure = HEAD_SCHFIG;
Figure != (schfig_list *)0;
Figure = Figure->NEXT )
{
if ( Figure->NAME == Name ) break;
Previous = &Figure->NEXT;
}
if ( Figure == (schfig_list *)0 ) return( 0 );
*Previous = Figure->NEXT;
loc_delschcon( Figure->CON_IN );
loc_delschcon( Figure->CON_OUT );
loc_delschnet( Figure->CON_OUT );
loc_delschbox( Figure->CON_OUT );
freeschfig( Figure );
return( 1 );
}

View File

@ -0,0 +1,66 @@
/*------------------------------------------------------------\
| |
| This file is part of the Alliance CAD System Copyright |
| (C) Laboratoire LIP6 - Département ASIM Universite P&M Curie|
| |
| Home page : http://www-asim.lip6.fr/alliance/ |
| E-mail support : mailto:alliance-support@asim.lip6.fr |
| |
| This progam is free software; you can redistribute it |
| and/or modify it under the terms of the GNU Library General|
| Public License as published by the Free Software Foundation |
| either version 2 of the License, or (at your option) any |
| later version. |
| |
| Alliance VLSI CAD System is distributed in the hope that |
| it will be useful, but WITHOUT ANY WARRANTY; |
| without even the implied warranty of MERCHANTABILITY or |
| FITNESS FOR A PARTICULAR PURPOSE. See the GNU General |
| Public License for more details. |
| |
| You should have received a copy of the GNU General Public |
| License along with the GNU C Library; see the file COPYING. |
| If not, write to the Free Software Foundation, Inc., |
| 675 Mass Ave, Cambridge, MA 02139, USA. |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Tool : Sch |
| |
| File : schdel.h |
| |
| Date : 04.03.98 |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
# ifndef SCH_DEL_H
# define SCH_DEL_H
/*------------------------------------------------------------\
| |
| Macro |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
# endif

View File

@ -0,0 +1,95 @@
/*------------------------------------------------------------\
| |
| This file is part of the Alliance CAD System Copyright |
| (C) Laboratoire LIP6 - Département ASIM Universite P&M Curie|
| |
| Home page : http://www-asim.lip6.fr/alliance/ |
| E-mail support : mailto:alliance-support@asim.lip6.fr |
| |
| This progam is free software; you can redistribute it |
| and/or modify it under the terms of the GNU Library General|
| Public License as published by the Free Software Foundation |
| either version 2 of the License, or (at your option) any |
| later version. |
| |
| Alliance VLSI CAD System is distributed in the hope that |
| it will be useful, but WITHOUT ANY WARRANTY; |
| without even the implied warranty of MERCHANTABILITY or |
| FITNESS FOR A PARTICULAR PURPOSE. See the GNU General |
| Public License for more details. |
| |
| You should have received a copy of the GNU General Public |
| License along with the GNU C Library; see the file COPYING. |
| If not, write to the Free Software Foundation, Inc., |
| 675 Mass Ave, Cambridge, MA 02139, USA. |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Tool : Sch |
| |
| File : schenv.c |
| |
| Date : 04.07.96 |
| |
| Author : Jacomme Ludovic |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Include Files |
| |
\------------------------------------------------------------*/
# include "mut.h"
# include "aut.h"
# include "scl.h"
# include <stdio.h>
# include <stdlib.h>
# include <unistd.h>
# include "schenv.h"
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
char *SCH_IN;
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| schenv |
| |
\------------------------------------------------------------*/
void schenv()
{
SCH_IN = namealloc( mbkgetenv( "SCH_IN") );
if ( SCH_IN == (char *)0 )
{
SCH_IN = namealloc( IN_LO );
}
}

View File

@ -0,0 +1,75 @@
/*------------------------------------------------------------\
| |
| This file is part of the Alliance CAD System Copyright |
| (C) Laboratoire LIP6 - Département ASIM Universite P&M Curie|
| |
| Home page : http://www-asim.lip6.fr/alliance/ |
| E-mail support : mailto:alliance-support@asim.lip6.fr |
| |
| This progam is free software; you can redistribute it |
| and/or modify it under the terms of the GNU Library General|
| Public License as published by the Free Software Foundation |
| either version 2 of the License, or (at your option) any |
| later version. |
| |
| Alliance VLSI CAD System is distributed in the hope that |
| it will be useful, but WITHOUT ANY WARRANTY; |
| without even the implied warranty of MERCHANTABILITY or |
| FITNESS FOR A PARTICULAR PURPOSE. See the GNU General |
| Public License for more details. |
| |
| You should have received a copy of the GNU General Public |
| License along with the GNU C Library; see the file COPYING. |
| If not, write to the Free Software Foundation, Inc., |
| 675 Mass Ave, Cambridge, MA 02139, USA. |
| |
\------------------------------------------------------------*/
#ifndef __P
# if defined(__STDC__) || defined(__GNUC__)
# define __P(x) x
# else
# define __P(x) ()
# endif
#endif
/*------------------------------------------------------------\
| |
| Tool : Sch |
| |
| File : schenv.h |
| |
| Date : 04.07.96 |
| |
| Author : Jacomme Ludovic |
| |
\------------------------------------------------------------*/
# ifndef SCH_ENV_H
# define SCH_ENV_H
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Macro |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
# endif

View File

@ -0,0 +1,94 @@
/*------------------------------------------------------------\
| |
| This file is part of the Alliance CAD System Copyright |
| (C) Laboratoire LIP6 - Département ASIM Universite P&M Curie|
| |
| Home page : http://www-asim.lip6.fr/alliance/ |
| E-mail support : mailto:alliance-support@asim.lip6.fr |
| |
| This progam is free software; you can redistribute it |
| and/or modify it under the terms of the GNU Library General|
| Public License as published by the Free Software Foundation |
| either version 2 of the License, or (at your option) any |
| later version. |
| |
| Alliance VLSI CAD System is distributed in the hope that |
| it will be useful, but WITHOUT ANY WARRANTY; |
| without even the implied warranty of MERCHANTABILITY or |
| FITNESS FOR A PARTICULAR PURPOSE. See the GNU General |
| Public License for more details. |
| |
| You should have received a copy of the GNU General Public |
| License along with the GNU C Library; see the file COPYING. |
| If not, write to the Free Software Foundation, Inc., |
| 675 Mass Ave, Cambridge, MA 02139, USA. |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Tool : Sch |
| |
| File : Sch Errors |
| |
| Date : 04.03.98 |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Include Files |
| |
\------------------------------------------------------------*/
# include <stdio.h>
# include <string.h>
# include "mut.h"
# include "aut.h"
# include "mlo.h"
# include "scl.h"
# include "scherror.h"
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
void sch_error( Error, Text, File, Line )
char Error;
char *Text;
char *File;
long Line;
{
char *Name;
Name = mbkstrdup( File );
Name[ strlen( File ) - 1 ] = '\0';
fprintf( stderr, "%s%ld ", Name, Line );
switch( Error )
{
default :
fprintf( stderr, "unknown internal error %d !\n", Error );
}
autexit( 1 );
}

View File

@ -0,0 +1,76 @@
/*------------------------------------------------------------\
| |
| This file is part of the Alliance CAD System Copyright |
| (C) Laboratoire LIP6 - Département ASIM Universite P&M Curie|
| |
| Home page : http://www-asim.lip6.fr/alliance/ |
| E-mail support : mailto:alliance-support@asim.lip6.fr |
| |
| This progam is free software; you can redistribute it |
| and/or modify it under the terms of the GNU Library General|
| Public License as published by the Free Software Foundation |
| either version 2 of the License, or (at your option) any |
| later version. |
| |
| Alliance VLSI CAD System is distributed in the hope that |
| it will be useful, but WITHOUT ANY WARRANTY; |
| without even the implied warranty of MERCHANTABILITY or |
| FITNESS FOR A PARTICULAR PURPOSE. See the GNU General |
| Public License for more details. |
| |
| You should have received a copy of the GNU General Public |
| License along with the GNU C Library; see the file COPYING. |
| If not, write to the Free Software Foundation, Inc., |
| 675 Mass Ave, Cambridge, MA 02139, USA. |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Tool : Sch |
| |
| File : Sch Errors |
| |
| Date : 28.01.97 |
| |
\------------------------------------------------------------*/
# ifndef SCH_ERROR_H
# define SCH_ERROR_H
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
# define SCH_EXPR_NULL_ERROR 0
# define SCH_UNKNOWN_ATOM_ERROR 1
# define SCH_OPERATOR_ERROR 2
/*------------------------------------------------------------\
| |
| Macros |
| |
\------------------------------------------------------------*/
# define scherror( E, V ) (sch_error( (E), (V), __FILE__, __LINE__ ))
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
extern void sch_error();
# endif

View File

@ -0,0 +1,141 @@
/*------------------------------------------------------------\
| |
| This file is part of the Alliance CAD System Copyright |
| (C) Laboratoire LIP6 - Département ASIM Universite P&M Curie|
| |
| Home page : http://www-asim.lip6.fr/alliance/ |
| E-mail support : mailto:alliance-support@asim.lip6.fr |
| |
| This progam is free software; you can redistribute it |
| and/or modify it under the terms of the GNU Library General|
| Public License as published by the Free Software Foundation |
| either version 2 of the License, or (at your option) any |
| later version. |
| |
| Alliance VLSI CAD System is distributed in the hope that |
| it will be useful, but WITHOUT ANY WARRANTY; |
| without even the implied warranty of MERCHANTABILITY or |
| FITNESS FOR A PARTICULAR PURPOSE. See the GNU General |
| Public License for more details. |
| |
| You should have received a copy of the GNU General Public |
| License along with the GNU C Library; see the file COPYING. |
| If not, write to the Free Software Foundation, Inc., |
| 675 Mass Ave, Cambridge, MA 02139, USA. |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Tool : Sch |
| |
| File : schfree.c |
| |
| Date : 28.01.97 |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Include Files |
| |
\------------------------------------------------------------*/
# include "mut.h"
# include "aut.h"
# include "mlo.h"
# include "scl.h"
# include <stdio.h>
# include <string.h>
# include "schfree.h"
# include "scherror.h"
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Sch Free Functions |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Sch Free Figure |
| |
\------------------------------------------------------------*/
void freeschfig( Figure )
schfig_list *Figure;
{
autfreeblock( (char *)Figure );
}
/*------------------------------------------------------------\
| |
| Sch Free Box |
| |
\------------------------------------------------------------*/
void freeschbox( Box )
schbox_list *Box;
{
autfreeheap( (char *)Box, sizeof( schbox_list ));
}
/*------------------------------------------------------------\
| |
| Sch Free Connector |
| |
\------------------------------------------------------------*/
void freeschcon( Connector )
schcon_list *Connector;
{
autfreeheap( (char *)Connector, sizeof( schcon_list ));
}
/*------------------------------------------------------------\
| |
| Sch Free Net |
| |
\------------------------------------------------------------*/
void freeschnet( Net )
schnet_list *Net;
{
autfreeheap( (char *)Net, sizeof( schnet_list ));
}
/*------------------------------------------------------------\
| |
| Sch Free Wire |
| |
\------------------------------------------------------------*/
void freeschwir( Wire )
schwir_list *Wire;
{
autfreeheap( (char *)Wire, sizeof( schwir_list ));
}

View File

@ -0,0 +1,66 @@
/*------------------------------------------------------------\
| |
| This file is part of the Alliance CAD System Copyright |
| (C) Laboratoire LIP6 - Département ASIM Universite P&M Curie|
| |
| Home page : http://www-asim.lip6.fr/alliance/ |
| E-mail support : mailto:alliance-support@asim.lip6.fr |
| |
| This progam is free software; you can redistribute it |
| and/or modify it under the terms of the GNU Library General|
| Public License as published by the Free Software Foundation |
| either version 2 of the License, or (at your option) any |
| later version. |
| |
| Alliance VLSI CAD System is distributed in the hope that |
| it will be useful, but WITHOUT ANY WARRANTY; |
| without even the implied warranty of MERCHANTABILITY or |
| FITNESS FOR A PARTICULAR PURPOSE. See the GNU General |
| Public License for more details. |
| |
| You should have received a copy of the GNU General Public |
| License along with the GNU C Library; see the file COPYING. |
| If not, write to the Free Software Foundation, Inc., |
| 675 Mass Ave, Cambridge, MA 02139, USA. |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Tool : Sch |
| |
| File : schfree.h |
| |
| Date : 28.01.97 |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
# ifndef SCH_FREE_H
# define SCH_FREE_H
/*------------------------------------------------------------\
| |
| Macro |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
# endif

View File

@ -0,0 +1,110 @@
/*------------------------------------------------------------\
| |
| This file is part of the Alliance CAD System Copyright |
| (C) Laboratoire LIP6 - Département ASIM Universite P&M Curie|
| |
| Home page : http://www-asim.lip6.fr/alliance/ |
| E-mail support : mailto:alliance-support@asim.lip6.fr |
| |
| This progam is free software; you can redistribute it |
| and/or modify it under the terms of the GNU Library General|
| Public License as published by the Free Software Foundation |
| either version 2 of the License, or (at your option) any |
| later version. |
| |
| Alliance VLSI CAD System is distributed in the hope that |
| it will be useful, but WITHOUT ANY WARRANTY; |
| without even the implied warranty of MERCHANTABILITY or |
| FITNESS FOR A PARTICULAR PURPOSE. See the GNU General |
| Public License for more details. |
| |
| You should have received a copy of the GNU General Public |
| License along with the GNU C Library; see the file COPYING. |
| If not, write to the Free Software Foundation, Inc., |
| 675 Mass Ave, Cambridge, MA 02139, USA. |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Tool : Sch |
| |
| File : schget.c |
| |
| Date : 04.03.98 |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Include Files |
| |
\------------------------------------------------------------*/
# include "mut.h"
# include "aut.h"
# include "mlo.h"
# include "scl.h"
# include <stdio.h>
# include <stdlib.h>
# include <string.h>
# include "schget.h"
# include "scherror.h"
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Sch Get Functions |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Get Sch Vector Name |
| |
\------------------------------------------------------------*/
char *getschvectorname( Vector, Index )
char *Vector;
long *Index;
{
char *LeftParen;
char Buffer[ 128 ];
if ( Vector == (char *)0 )
{
return( (char *)0 );
}
strcpy( Buffer, Vector );
LeftParen = strchr( Buffer, ' ' );
if ( LeftParen == (char *)0 )
{
return( (char *)0 );
}
*LeftParen = '\0';
*Index = atoi( LeftParen + 1 );
Vector = namealloc( Buffer );
return( Vector );
}

View File

@ -0,0 +1,66 @@
/*------------------------------------------------------------\
| |
| This file is part of the Alliance CAD System Copyright |
| (C) Laboratoire LIP6 - Département ASIM Universite P&M Curie|
| |
| Home page : http://www-asim.lip6.fr/alliance/ |
| E-mail support : mailto:alliance-support@asim.lip6.fr |
| |
| This progam is free software; you can redistribute it |
| and/or modify it under the terms of the GNU Library General|
| Public License as published by the Free Software Foundation |
| either version 2 of the License, or (at your option) any |
| later version. |
| |
| Alliance VLSI CAD System is distributed in the hope that |
| it will be useful, but WITHOUT ANY WARRANTY; |
| without even the implied warranty of MERCHANTABILITY or |
| FITNESS FOR A PARTICULAR PURPOSE. See the GNU General |
| Public License for more details. |
| |
| You should have received a copy of the GNU General Public |
| License along with the GNU C Library; see the file COPYING. |
| If not, write to the Free Software Foundation, Inc., |
| 675 Mass Ave, Cambridge, MA 02139, USA. |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Tool : Sch |
| |
| File : schget.h |
| |
| Date : 04.03.98 |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
# ifndef SCH_GET_H
# define SCH_GET_H
/*------------------------------------------------------------\
| |
| Macro |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
# endif

View File

@ -0,0 +1,282 @@
/*------------------------------------------------------------\
| |
| This file is part of the Alliance CAD System Copyright |
| (C) Laboratoire LIP6 - Département ASIM Universite P&M Curie|
| |
| Home page : http://www-asim.lip6.fr/alliance/ |
| E-mail support : mailto:alliance-support@asim.lip6.fr |
| |
| This progam is free software; you can redistribute it |
| and/or modify it under the terms of the GNU Library General|
| Public License as published by the Free Software Foundation |
| either version 2 of the License, or (at your option) any |
| later version. |
| |
| Alliance VLSI CAD System is distributed in the hope that |
| it will be useful, but WITHOUT ANY WARRANTY; |
| without even the implied warranty of MERCHANTABILITY or |
| FITNESS FOR A PARTICULAR PURPOSE. See the GNU General |
| Public License for more details. |
| |
| You should have received a copy of the GNU General Public |
| License along with the GNU C Library; see the file COPYING. |
| If not, write to the Free Software Foundation, Inc., |
| 675 Mass Ave, Cambridge, MA 02139, USA. |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Tool : Sch |
| |
| File : schview.c |
| |
| Date : 11.03.97 |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Include Files |
| |
\------------------------------------------------------------*/
# include <stdio.h>
# include <stdlib.h>
# include "mut.h"
# include "aut.h"
# include "mlo.h"
# include "scl.h"
# include "schview.h"
# include "scherror.h"
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Sch View Functions |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Sch View Wire |
| |
\------------------------------------------------------------*/
void viewschwir( Wire )
schwir_list *Wire;
{
fprintf( stdout, "\n--> Wire" );
fprintf( stdout, "\n X : %ld", Wire->X );
fprintf( stdout, "\n Y : %ld", Wire->Y );
fprintf( stdout, "\n DX : %ld", Wire->DX );
fprintf( stdout, "\n DX : %ld", Wire->DY );
fprintf( stdout, "\n FLAGS : %lx", Wire->FLAGS );
fprintf( stdout, "\n USER : %lx", (long)Wire->USER );
fprintf( stdout, "\n<-- Wire" );
}
/*------------------------------------------------------------\
| |
| Sch View Net |
| |
/------------------------------------------------------------*/
void viewschnet( Net )
schnet_list *Net ;
{
schwir_list *ScanWire;
schcon_list *ScanCon;
chain_list *ScanChain;
char *RootName;
fprintf( stdout, "\n --> Net" );
fprintf( stdout, "\n NUMBER_IN : %ld", Net->NUMBER_IN );
fprintf( stdout, "\n NUMBER_OUT : %ld", Net->NUMBER_OUT );
fprintf( stdout, "\n FLAGS : %lx", Net->FLAGS );
fprintf( stdout, "\n SOURCE_TYPE : %d", (int)Net->SOURCE_TYPE );
fprintf( stdout, "\n USER : %lx", (long)Net->USER );
fprintf( stdout, "\n CON_NET :" );
for ( ScanChain = Net->CON_NET;
ScanChain != (chain_list *)0;
ScanChain = ScanChain->NEXT )
{
ScanCon = (schcon_list *)ScanChain->DATA;
if ( ScanCon->ROOT_TYPE == SCH_ROOT_CON_FIG )
{
RootName = ((schfig_list *)ScanCon->ROOT)->NAME;
fprintf( stdout, "\n \t # %s\tof fig %s", ScanCon->NAME, RootName );
}
else
{
RootName = ((schbox_list *)ScanCon->ROOT)->NAME;
fprintf( stdout, "\n \t # %s\tof box %s", ScanCon->NAME, RootName );
}
}
fprintf( stdout, "\n WIRE :" );
for ( ScanWire = Net->WIRE;
ScanWire != (schwir_list *)0;
ScanWire = ScanWire->NEXT )
{
viewschwir( ScanWire );
}
fprintf( stdout, "\n<-- Net" );
}
/*------------------------------------------------------------\
| |
| Sch View Connector |
| |
\------------------------------------------------------------*/
void viewschcon( Con )
schcon_list *Con ;
{
fprintf( stdout, "\n --> Con" );
fprintf( stdout, "\n \tNAME : %s", Con->NAME );
fprintf( stdout, "\n \tSOURCE_TYPE : %d", (int)Con->SOURCE_TYPE );
fprintf( stdout, "\n \tDIR : %d", (int)Con->DIR );
fprintf( stdout, "\n \tTYPE : Ox%x", (int)Con->TYPE );
fprintf( stdout, "\n \tROOT_TYPE : %d", (int)Con->ROOT_TYPE );
fprintf( stdout, "\n \tX_REL : %lx", Con->X_REL );
fprintf( stdout, "\n \tY_REL : %lx", Con->Y_REL );
fprintf( stdout, "\n \tFLAGS : %lx", Con->FLAGS );
fprintf( stdout, "\n \tUSER : %lx", (long)Con->USER );
fprintf( stdout, "\n <-- Con" );
}
/*------------------------------------------------------------\
| |
| Sch View Box |
| |
\------------------------------------------------------------*/
void viewschbox( Box )
schbox_list *Box;
{
schcon_list *ScanCon;
fprintf( stdout, "\n--> Box" );
fprintf( stdout, "\n NAME : %s", Box->NAME );
fprintf( stdout, "\n SOURCE_TYPE : %d", (int)Box->SOURCE_TYPE );
fprintf( stdout, "\n NUMBER_IN : %ld", Box->NUMBER_IN );
fprintf( stdout, "\n NUMBER_OUT : %ld", Box->NUMBER_OUT );
fprintf( stdout, "\n X : %ld", Box->X );
fprintf( stdout, "\n Y : %ld", Box->Y );
fprintf( stdout, "\n DX : %ld", Box->DX );
fprintf( stdout, "\n DY : %ld", Box->DY );
fprintf( stdout, "\n FLAGS : %lx", Box->FLAGS );
fprintf( stdout, "\n USER : %lx", (long)Box->USER );
fprintf( stdout, "\n CON_IN : " );
for ( ScanCon = Box->CON_IN;
ScanCon != (schcon_list *)0;
ScanCon = ScanCon->NEXT )
{
viewschcon( ScanCon );
}
fprintf( stdout, "\n CON_OUT : " );
for ( ScanCon = Box->CON_OUT;
ScanCon != (schcon_list *)0;
ScanCon = ScanCon->NEXT )
{
viewschcon( ScanCon );
}
fprintf( stdout, "\n<-- Box" );
}
/*------------------------------------------------------------\
| |
| Sch View Figure |
| |
\------------------------------------------------------------*/
void viewschfig( Figure )
schfig_list *Figure;
{
schcon_list *ScanCon;
schbox_list *ScanBox;
schnet_list *ScanNet;
fprintf( stdout, "\n--> Figure" );
fprintf( stdout, "\n NAME : %s", Figure->NAME );
fprintf( stdout, "\n SOURCE_TYPE : %d", (int)Figure->SOURCE_TYPE );
fprintf( stdout, "\n NUMBER_IN : %ld", Figure->NUMBER_IN );
fprintf( stdout, "\n NUMBER_OUT : %ld", Figure->NUMBER_OUT );
fprintf( stdout, "\n X : %ld", Figure->X );
fprintf( stdout, "\n Y : %ld", Figure->Y );
fprintf( stdout, "\n FLAGS : %lx", Figure->FLAGS );
fprintf( stdout, "\n USER : %lx", (long)Figure->USER );
fprintf( stdout, "\n CON_IN : " );
for ( ScanCon = Figure->CON_IN;
ScanCon != (schcon_list *)0;
ScanCon = ScanCon->NEXT )
{
viewschcon( ScanCon );
}
fprintf( stdout, "\n CON_OUT : " );
for ( ScanCon = Figure->CON_OUT;
ScanCon != (schcon_list *)0;
ScanCon = ScanCon->NEXT )
{
viewschcon( ScanCon );
}
fprintf( stdout, "\n BOX : " );
for ( ScanBox = Figure->BOX;
ScanBox != (schbox_list *)0;
ScanBox = ScanBox->NEXT )
{
viewschbox( ScanBox );
}
fprintf( stdout, "\n NET : " );
for ( ScanNet = Figure->NET;
ScanNet != (schnet_list *)0;
ScanNet = ScanNet->NEXT )
{
viewschnet( ScanNet );
}
fprintf( stdout, "\n<-- Figure\n" );
}

View File

@ -0,0 +1,66 @@
/*------------------------------------------------------------\
| |
| This file is part of the Alliance CAD System Copyright |
| (C) Laboratoire LIP6 - Département ASIM Universite P&M Curie|
| |
| Home page : http://www-asim.lip6.fr/alliance/ |
| E-mail support : mailto:alliance-support@asim.lip6.fr |
| |
| This progam is free software; you can redistribute it |
| and/or modify it under the terms of the GNU Library General|
| Public License as published by the Free Software Foundation |
| either version 2 of the License, or (at your option) any |
| later version. |
| |
| Alliance VLSI CAD System is distributed in the hope that |
| it will be useful, but WITHOUT ANY WARRANTY; |
| without even the implied warranty of MERCHANTABILITY or |
| FITNESS FOR A PARTICULAR PURPOSE. See the GNU General |
| Public License for more details. |
| |
| You should have received a copy of the GNU General Public |
| License along with the GNU C Library; see the file COPYING. |
| If not, write to the Free Software Foundation, Inc., |
| 675 Mass Ave, Cambridge, MA 02139, USA. |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Tool : Sch |
| |
| File : schview.h |
| |
| Date : 04.03.98 |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
# ifndef SCH_VIEW_H
# define SCH_VIEW_H
/*------------------------------------------------------------\
| |
| Macro |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
# endif

486
alliance/src/scl/src/scl.h Normal file
View File

@ -0,0 +1,486 @@
/*------------------------------------------------------------\
| |
| This file is part of the Alliance CAD System Copyright |
| (C) Laboratoire LIP6 - Département ASIM Universite P&M Curie|
| |
| Home page : http://www-asim.lip6.fr/alliance/ |
| E-mail support : mailto:alliance-support@asim.lip6.fr |
| |
| This progam is free software; you can redistribute it |
| and/or modify it under the terms of the GNU Library General|
| Public License as published by the Free Software Foundation |
| either version 2 of the License, or (at your option) any |
| later version. |
| |
| Alliance VLSI CAD System is distributed in the hope that |
| it will be useful, but WITHOUT ANY WARRANTY; |
| without even the implied warranty of MERCHANTABILITY or |
| FITNESS FOR A PARTICULAR PURPOSE. See the GNU General |
| Public License for more details. |
| |
| You should have received a copy of the GNU General Public |
| License along with the GNU C Library; see the file COPYING. |
| If not, write to the Free Software Foundation, Inc., |
| 675 Mass Ave, Cambridge, MA 02139, USA. |
| |
\------------------------------------------------------------*/
#ifndef __P
# if defined(__STDC__) || defined(__GNUC__)
# define __P(x) x
# else
# define __P(x) ()
# endif
#endif
/*------------------------------------------------------\
| |
| Title : Structures and fonctions for SCL |
| |
| File : sch105.h |
| |
| Date : 04.03.98 |
| |
\------------------------------------------------------*/
# ifndef SCL_105_H
# define SCL_105_H
/*------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------*/
/*------------------------------------------------------\
| |
| Box & Connectors Size / Step |
| |
\------------------------------------------------------*/
# define SCP_BOX_MIN_DX 8
# define SCP_BOX_CON_BASE_Y 2
# define SCP_BOX_CON_STEP_Y 4
# define SCP_BOX_CON_X 0
# define SCP_BOX_STEP_Y 5
# define SCP_CON_STEP_Y 3
# define SCP_CELL_MIN_DX 2
# define SCP_PRIMARY_CON_DX 3
# define SCP_PRIMARY_CON_DY 2
# define SCP_CON_DY 2
# define SCP_CLUSTER_ROUTE_STEP_X 2
/*------------------------------------------------------\
| |
| From Type |
| |
\------------------------------------------------------*/
# define SCH_FROM_LOFIG 0x0001
# define SCH_FROM_BEFIG 0x0002
/*------------------------------------------------------\
| |
| P Type Id |
| |
\------------------------------------------------------*/
# define SCH_NET_TYPE 0x90000020
# define SCH_BOX_TYPE 0x90000200
/*------------------------------------------------------\
| |
| Box Mask |
| |
\------------------------------------------------------*/
# define SCH_BOX_TAGED 0x0001
# define SCH_BOX_CLUSTERED 0x0002
# define SCH_BOX_CLUSTER 0x0004
# define SCH_BOX_CLUSTER_NET 0x0008
# define SCH_BOX_TRANSPARENCE 0x0010
# define SCH_BOX_RETAGED 0x0020
# define SCH_BOX_PLACED 0x0040
/*------------------------------------------------------\
| |
| Con Mask |
| |
\------------------------------------------------------*/
# define SCH_CON_IN 0x0001
# define SCH_CON_OUT 0x0002
# define SCH_CON_VEC 0x0004
# define SCH_CON_EXTERNAL 0x0008
# define SCH_CON_INTERNAL 0x0010
# define SCH_CON_VEC_FIRST 0x0020
# define SCH_CON_VEC_LAST 0x0040
# define SCH_CON_TAGED 0x0100
# define SCH_CON_PLACED 0x0200
# define SCH_NET_CANAL 0x0F
# define SCH_NET_MAXDIR 0x20
# define SCH_NET_MINDIR 0x10
# define SCH_ROOT_CON_BOX 0x0001
# define SCH_ROOT_CON_FIG 0x0002
# define SCH_SOURCE_LOSIG 1
# define SCH_SOURCE_LOINS 2
# define SCH_SOURCE_LOCON 3
# define SCH_SOURCE_LOFIG 4
# define SCH_SOURCE_LOTRS 5
# define SCH_SOURCE_BEPOR 6
# define SCH_SOURCE_BEAUX 7
# define SCH_SOURCE_BEREG 8
# define SCH_SOURCE_BEBUX 9
# define SCH_SOURCE_BEBUS 10
# define SCH_SOURCE_BEOUT 11
# define SCH_SOURCE_BEFIG 12
/*------------------------------------------------------\
| |
| Macros |
| |
\------------------------------------------------------*/
/*------------------------------------------------------\
| |
| Box |
| |
\------------------------------------------------------*/
# define IsSchBoxClustered( X ) ( ( X )->FLAGS & SCH_BOX_CLUSTERED )
# define SetSchBoxClustered( X ) ( ( X )->FLAGS |= SCH_BOX_CLUSTERED )
# define ClearSchBoxClustered( X ) ( ( X )->FLAGS &= ~SCH_BOX_CLUSTERED )
# define IsSchBoxTaged( X ) ( ( X )->FLAGS & SCH_BOX_TAGED )
# define SetSchBoxTaged( X ) ( ( X )->FLAGS |= SCH_BOX_TAGED )
# define ClearSchBoxTaged( X ) ( ( X )->FLAGS &= ~SCH_BOX_TAGED )
# define IsSchBoxReTaged( X ) ( ( X )->FLAGS & SCH_BOX_RETAGED )
# define SetSchBoxReTaged( X ) ( ( X )->FLAGS |= SCH_BOX_RETAGED )
# define ClearSchBoxReTaged( X ) ( ( X )->FLAGS &= ~SCH_BOX_RETAGED )
# define IsSchBoxCluster( X ) ( ( X )->FLAGS & SCH_BOX_CLUSTER )
# define SetSchBoxCluster( X ) ( ( X )->FLAGS |= SCH_BOX_CLUSTER )
# define ClearSchBoxCluster( X ) ( ( X )->FLAGS &= ~SCH_BOX_CLUSTER )
# define IsSchBoxTransparence( X ) ( ( X )->FLAGS & SCH_BOX_TRANSPARENCE )
# define SetSchBoxTransparence( X ) ( ( X )->FLAGS |= SCH_BOX_TRANSPARENCE )
# define ClearSchBoxTransparence( X ) ( ( X )->FLAGS &= ~SCH_BOX_TRANSPARENCE )
# define IsSchBoxPlaced( X ) ( ( X )->FLAGS & SCH_BOX_PLACED )
# define SetSchBoxPlaced( X ) ( ( X )->FLAGS |= SCH_BOX_PLACED )
# define ClearSchBoxPlaced( X ) ( ( X )->FLAGS &= ~SCH_BOX_PLACED )
# define IsSchBoxClusterNet( X ) ( ( X )->FLAGS & SCH_BOX_CLUSTER_NET )
# define SetSchBoxClusterNet( X ) ( ( X )->FLAGS |= SCH_BOX_CLUSTER_NET )
# define ClearSchBoxClusterNet( X ) ( ( X )->FLAGS &= ~SCH_BOX_CLUSTER_NET )
/*------------------------------------------------------\
| |
| Connector |
| |
\------------------------------------------------------*/
# define IsSchConIn( X ) ( ( X )->TYPE & SCH_CON_IN )
# define SetSchConIn( X ) ( ( X )->TYPE |= SCH_CON_IN )
# define ClearSchConIn( X ) ( ( X )->TYPE &= ~SCH_CON_IN )
# define IsSchConOut( X ) ( ( X )->TYPE & SCH_CON_OUT )
# define SetSchConOut( X ) ( ( X )->TYPE |= SCH_CON_OUT )
# define ClearSchConOut( X ) ( ( X )->TYPE &= ~SCH_CON_OUT )
# define IsSchConVec( X ) ( ( X )->TYPE & SCH_CON_VEC )
# define SetSchConVec( X ) ( ( X )->TYPE |= SCH_CON_VEC )
# define ClearSchConVec( X ) ( ( X )->TYPE &= ~SCH_CON_VEC )
# define IsSchConVecFirst( X ) ( ( X )->TYPE & SCH_CON_VEC_FIRST )
# define SetSchConVecFirst( X ) ( ( X )->TYPE |= SCH_CON_VEC_FIRST )
# define ClearSchConVecFirst( X ) ( ( X )->TYPE &= ~SCH_CON_VEC_FIRST )
# define IsSchConVecLast( X ) ( ( X )->TYPE & SCH_CON_VEC_LAST )
# define SetSchConVecLast( X ) ( ( X )->TYPE |= SCH_CON_VEC_LAST )
# define ClearSchConVecLast( X ) ( ( X )->TYPE &= ~SCH_CON_VEC_LAST )
# define IsSchConExternal( X ) ( ( X )->TYPE & SCH_CON_EXTERNAL )
# define SetSchConExternal( X ) ( ( X )->TYPE |= SCH_CON_EXTERNAL )
# define ClearSchConExternal( X ) ( ( X )->TYPE &= ~SCH_CON_EXTERNAL )
# define IsSchConInternal( X ) ( ( X )->TYPE & SCH_CON_INTERNAL )
# define SetSchConInternal( X ) ( ( X )->TYPE |= SCH_CON_INTERNAL )
# define ClearSchConInternal( X ) ( ( X )->TYPE &= ~SCH_CON_INTERNAL )
# define IsSchConPlaced( X ) ( ( X )->FLAGS & SCH_CON_PLACED )
# define SetSchConPlaced( X ) ( ( X )->FLAGS |= SCH_CON_PLACED )
# define ClearSchConPlaced( X ) ( ( X )->FLAGS &= ~SCH_CON_PLACED )
# define IsSchConTaged( X ) ( ( X )->FLAGS & SCH_CON_TAGED )
# define SetSchConTaged( X ) ( ( X )->FLAGS |= SCH_CON_TAGED )
# define ClearSchConTaged( X ) ( ( X )->FLAGS &= ~SCH_CON_TAGED )
/*------------------------------------------------------\
| |
| Net |
| |
\------------------------------------------------------*/
# define IsSchNetCanal( X ) ( ( X )->FLAGS & SCH_NET_CANAL )
# define GetSchNetDirType( X ) ( ( X )->FLAGS & (SCH_NET_MAXDIR|SCH_NET_MINDIR) )
# define SetSchNetMaxOutput( X ) ( ( X )->FLAGS |= SCH_NET_MAXDIR )
# define SetSchNetMinOutput( X ) ( ( X )->FLAGS |= SCH_NET_MINDIR )
# define SetSchNetCanal( X ) ( ( X )->FLAGS |= SCH_NET_CANAL )
# define ClearSchNetCanal( X ) ( ( X )->FLAGS &= ~SCH_NET_CANAL )
# define ClearSchNetDir( X ) ( ( X )->FLAGS &= ~(SCH_NET_MINDIR|SCH_NET_MAXDIR) )
/*------------------------------------------------------\
| |
| Add Connector |
| |
\------------------------------------------------------*/
# define addschfigconin( F, N ) (addschfigcon( (F), (N), SCH_CON_IN ))
# define addschfigconout( F, N ) (addschfigcon( (F), (N), SCH_CON_OUT ))
# define addschboxconin( F, B, N ) (addschboxcon( (F), (B), (N), SCH_CON_IN ))
# define addschboxconout( F, B, N ) (addschboxcon( (F), (B), (N), SCH_CON_OUT ))
/*------------------------------------------------------\
| |
| Structures |
| |
\------------------------------------------------------*/
/*------------------------------------------------------\
| |
| Wires |
| |
\------------------------------------------------------*/
typedef struct schwir_list
{
struct schwir_list *NEXT;
struct schnet_list *NET;
long X;
long Y;
long DX;
long DY;
long FLAGS;
void *USER;
} schwir_list;
/*------------------------------------------------------\
| |
| Nets (Signals) |
| |
\------------------------------------------------------*/
typedef struct schnet_list
{
struct schnet_list *NEXT;
chain_list *CON_NET;
struct schwir_list *WIRE;
void *SOURCE;
unsigned char SOURCE_TYPE;
long FLAGS;
long NUMBER_IN;
long NUMBER_OUT;
long CANAL;
long YMIN;
long YMAX;
void *USER;
} schnet_list;
/*------------------------------------------------------\
| |
| Connectors |
| |
\------------------------------------------------------*/
typedef struct schcon_list
{
struct schcon_list *NEXT;
char *NAME;
unsigned short TYPE;
unsigned char DIR;
unsigned char ROOT_TYPE;
void *ROOT;
schnet_list *NET;
void *SOURCE;
unsigned char SOURCE_TYPE;
long X_REL;
long Y_REL;
long FLAGS;
void *USER;
} schcon_list;
/*------------------------------------------------------\
| |
| Box (Instance) |
| |
\------------------------------------------------------*/
typedef struct schbox_list
{
struct schbox_list *NEXT;
char *NAME;
struct schcon_list *CON_IN;
long NUMBER_IN;
struct schcon_list *CON_OUT;
long NUMBER_OUT;
void *SOURCE;
unsigned char SOURCE_TYPE; /* type de la source */
long X;
long Y;
long DX;
long DY;
long FLAGS;
void *USER;
} schbox_list;
/*------------------------------------------------------\
| |
| Figure |
| |
\------------------------------------------------------*/
typedef struct schfig_list
{
struct schfig_list *NEXT;
char *NAME;
struct schcon_list *CON_IN;
long NUMBER_IN;
struct schcon_list *CON_OUT;
long NUMBER_OUT;
schbox_list *BOX;
schnet_list *NET;
void *SOURCE;
unsigned char SOURCE_TYPE;
long X;
long Y;
long FLAGS;
void *USER;
} schfig_list;
/*------------------------------------------------------\
| |
| Global Variables |
| |
\------------------------------------------------------*/
extern schfig_list *HEAD_SCHFIG;
extern char *SCH_IN;
/*------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------*/
/*------------------------------------------------------\
| |
| Env Functions |
| |
\------------------------------------------------------*/
extern void schenv();
/*------------------------------------------------------\
| |
| Alloc Functions |
| |
\------------------------------------------------------*/
extern schfig_list *allocschfig();
extern schcon_list *allocschcon();
extern schbox_list *allocschbox();
extern schwir_list *allocschwir();
extern schnet_list *allocschnet();
/*------------------------------------------------------\
| |
| Free Functions |
| |
\------------------------------------------------------*/
extern void freeschfig();
extern void freeschcon();
extern void freeschbox();
extern void freeschwir();
extern void freeschnet();
/*------------------------------------------------------\
| |
| Add Functions |
| |
\------------------------------------------------------*/
extern schnet_list *addschnetcon();
extern schfig_list *addschfig();
extern schcon_list *addschfigcon();
extern schcon_list *addschboxcon();
extern schbox_list *addschbox();
extern schwir_list *addschwir();
extern schnet_list *addschnet();
/*------------------------------------------------------\
| |
| Del Functions |
| |
\------------------------------------------------------*/
extern int delschfig();
/*------------------------------------------------------\
| |
| View Functions |
| |
\------------------------------------------------------*/
extern void viewschfig();
extern void viewschbox();
extern void viewschcon();
extern void viewschwir();
extern void viewschnet();
/*------------------------------------------------------\
| |
| Get Functions |
| |
\------------------------------------------------------*/
extern char *getschvectorname();
/*------------------------------------------------------\
| |
| Translate Functions |
| |
\------------------------------------------------------*/
extern schfig_list *lofig2schfig();
extern schfig_list *befig2schfig();
/*------------------------------------------------------\
| |
| Place / Route Functions |
| |
\------------------------------------------------------*/
extern void placerouteschfig();
# endif

158
alliance/src/scl/src/scp.h Normal file
View File

@ -0,0 +1,158 @@
/*------------------------------------------------------------\
| |
| This file is part of the Alliance CAD System Copyright |
| (C) Laboratoire LIP6 - Département ASIM Universite P&M Curie|
| |
| Home page : http://www-asim.lip6.fr/alliance/ |
| E-mail support : mailto:alliance-support@asim.lip6.fr |
| |
| This progam is free software; you can redistribute it |
| and/or modify it under the terms of the GNU Library General|
| Public License as published by the Free Software Foundation |
| either version 2 of the License, or (at your option) any |
| later version. |
| |
| Alliance VLSI CAD System is distributed in the hope that |
| it will be useful, but WITHOUT ANY WARRANTY; |
| without even the implied warranty of MERCHANTABILITY or |
| FITNESS FOR A PARTICULAR PURPOSE. See the GNU General |
| Public License for more details. |
| |
| You should have received a copy of the GNU General Public |
| License along with the GNU C Library; see the file COPYING. |
| If not, write to the Free Software Foundation, Inc., |
| 675 Mass Ave, Cambridge, MA 02139, USA. |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------\
| |
| Title : Structures and fonctions for SCP |
| |
| File : scp.h |
| |
| Date : 28.04.98 |
| |
\------------------------------------------------------*/
# ifndef SCP_H
# define SCP_H
/*------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------*/
# define SCP_CEL_BOX 0x0001
# define SCP_CEL_CON 0x0002
/*------------------------------------------------------\
| |
| Macros |
| |
\------------------------------------------------------*/
/*------------------------------------------------------\
| |
| Structures |
| |
\------------------------------------------------------*/
/*------------------------------------------------------\
| |
| Colums |
| |
\------------------------------------------------------*/
typedef struct scpcol_list
{
struct scpcol_list *NEXT;
struct scpcel_list *CELL;
struct scpcel_list *LAST_CELL;
long NUMBER_CELL;
long MAX_DX_CELL;
} scpcol_list;
/*------------------------------------------------------\
| |
| Cells |
| |
\------------------------------------------------------*/
typedef struct scpcel_list
{
struct scpcel_list *NEXT;
struct scpcel_list *PREV;
struct scpcol_list *COL;
void *ROOT;
long TYPE;
} scpcel_list;
/*------------------------------------------------------\
| |
| Global Variables |
| |
\------------------------------------------------------*/
scpcol_list *HEAD_SCPCOL;
/*------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------*/
/*------------------------------------------------------\
| |
| Alloc Functions |
| |
\------------------------------------------------------*/
extern scpcol_list *allocscpcol();
extern scpcel_list *allocscpcel();
/*------------------------------------------------------\
| |
| Free Functions |
| |
\------------------------------------------------------*/
extern void freescpcol();
extern void freescpcel();
/*------------------------------------------------------\
| |
| Add Functions |
| |
\------------------------------------------------------*/
extern scpcel_list *addscpcel();
extern scpcol_list *addscpcol();
extern scpcel_list *addschboxtoscpcel();
extern scpcel_list *addschcontoscpcel();
/*------------------------------------------------------\
| |
| Del Functions |
| |
\------------------------------------------------------*/
extern void delscpcol();
/*------------------------------------------------------\
| |
| Search Functions |
| |
\------------------------------------------------------*/
extern void swapscpcel();
/*------------------------------------------------------\
| |
| View Functions |
| |
\------------------------------------------------------*/
# endif

View File

@ -0,0 +1,154 @@
/*------------------------------------------------------------\
| |
| This file is part of the Alliance CAD System Copyright |
| (C) Laboratoire LIP6 - Département ASIM Universite P&M Curie|
| |
| Home page : http://www-asim.lip6.fr/alliance/ |
| E-mail support : mailto:alliance-support@asim.lip6.fr |
| |
| This progam is free software; you can redistribute it |
| and/or modify it under the terms of the GNU Library General|
| Public License as published by the Free Software Foundation |
| either version 2 of the License, or (at your option) any |
| later version. |
| |
| Alliance VLSI CAD System is distributed in the hope that |
| it will be useful, but WITHOUT ANY WARRANTY; |
| without even the implied warranty of MERCHANTABILITY or |
| FITNESS FOR A PARTICULAR PURPOSE. See the GNU General |
| Public License for more details. |
| |
| You should have received a copy of the GNU General Public |
| License along with the GNU C Library; see the file COPYING. |
| If not, write to the Free Software Foundation, Inc., |
| 675 Mass Ave, Cambridge, MA 02139, USA. |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Tool : Scp |
| |
| File : scpadd.c |
| |
| Date : 28.04.98 |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Include Files |
| |
\------------------------------------------------------------*/
# include "mut.h"
# include "aut.h"
# include "mlo.h"
# include "scl.h"
# include <stdio.h>
# include "scp.h"
# include "scpadd.h"
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Scp Add Functions |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Sch Add Cell |
| |
\------------------------------------------------------------*/
scpcel_list *addscpcel( Column )
scpcol_list *Column;
{
scpcel_list *Cell;
Cell = allocscpcel();
Cell->COL = Column;
Cell->NEXT = Column->CELL;
Cell->PREV = NULL;
if ( Column->CELL != NULL )
{
Column->CELL->PREV = Cell;
}
else
{
Column->LAST_CELL = Cell;
}
Column->CELL = Cell;
Column->NUMBER_CELL++;
return( Cell );
}
scpcel_list *addschboxtoscpcel( SchBox, ScpCel)
schbox_list *SchBox;
scpcel_list *ScpCel;
{
ScpCel->ROOT = SchBox;
ScpCel->TYPE = SCP_CEL_BOX;
SchBox->USER = (void *)ScpCel;
return( ScpCel );
}
scpcel_list *addschcontoscpcel( SchCon, ScpCel)
schcon_list *SchCon;
scpcel_list *ScpCel;
{
ScpCel->ROOT = SchCon;
ScpCel->TYPE = SCP_CEL_CON;
SchCon->USER = (void *)ScpCel;
return( ScpCel );
}
/*------------------------------------------------------------\
| |
| Scp Add Column |
| |
\------------------------------------------------------------*/
scpcol_list *addscpcol( )
{
scpcol_list *Column;
Column = allocscpcol();
Column->NEXT = HEAD_SCPCOL;
HEAD_SCPCOL = Column;
return( Column );
}

View File

@ -0,0 +1,66 @@
/*------------------------------------------------------------\
| |
| This file is part of the Alliance CAD System Copyright |
| (C) Laboratoire LIP6 - Département ASIM Universite P&M Curie|
| |
| Home page : http://www-asim.lip6.fr/alliance/ |
| E-mail support : mailto:alliance-support@asim.lip6.fr |
| |
| This progam is free software; you can redistribute it |
| and/or modify it under the terms of the GNU Library General|
| Public License as published by the Free Software Foundation |
| either version 2 of the License, or (at your option) any |
| later version. |
| |
| Alliance VLSI CAD System is distributed in the hope that |
| it will be useful, but WITHOUT ANY WARRANTY; |
| without even the implied warranty of MERCHANTABILITY or |
| FITNESS FOR A PARTICULAR PURPOSE. See the GNU General |
| Public License for more details. |
| |
| You should have received a copy of the GNU General Public |
| License along with the GNU C Library; see the file COPYING. |
| If not, write to the Free Software Foundation, Inc., |
| 675 Mass Ave, Cambridge, MA 02139, USA. |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Tool : Scp |
| |
| File : scpadd.h |
| |
| Date : 28.04.98 |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
# ifndef SCP_ADD_H
# define SCP_ADD_H
/*------------------------------------------------------------\
| |
| Macro |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
# endif

View File

@ -0,0 +1,99 @@
/*------------------------------------------------------------\
| |
| This file is part of the Alliance CAD System Copyright |
| (C) Laboratoire LIP6 - Département ASIM Universite P&M Curie|
| |
| Home page : http://www-asim.lip6.fr/alliance/ |
| E-mail support : mailto:alliance-support@asim.lip6.fr |
| |
| This progam is free software; you can redistribute it |
| and/or modify it under the terms of the GNU Library General|
| Public License as published by the Free Software Foundation |
| either version 2 of the License, or (at your option) any |
| later version. |
| |
| Alliance VLSI CAD System is distributed in the hope that |
| it will be useful, but WITHOUT ANY WARRANTY; |
| without even the implied warranty of MERCHANTABILITY or |
| FITNESS FOR A PARTICULAR PURPOSE. See the GNU General |
| Public License for more details. |
| |
| You should have received a copy of the GNU General Public |
| License along with the GNU C Library; see the file COPYING. |
| If not, write to the Free Software Foundation, Inc., |
| 675 Mass Ave, Cambridge, MA 02139, USA. |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Tool : Scp |
| |
| File : scpalloc.c |
| |
| Date : 04.03.98 |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Include Files |
| |
\------------------------------------------------------------*/
# include "mut.h"
# include "mlo.h"
# include "aut.h"
# include "scl.h"
# include <stdio.h>
# include <string.h>
# include "scp.h"
# include "scpalloc.h"
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Alloc Functions |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Scp Alloc Cel |
| |
\------------------------------------------------------------*/
scpcel_list *allocscpcel()
{
return( (scpcel_list *)(autallocheap( sizeof( scpcel_list ) ) ) );
}
/*------------------------------------------------------------\
| |
| Scp Alloc Col |
| |
\------------------------------------------------------------*/
scpcol_list *allocscpcol()
{
return( (scpcol_list *)(autallocheap( sizeof( scpcol_list ) ) ) );
}

View File

@ -0,0 +1,69 @@
/*------------------------------------------------------------\
| |
| This file is part of the Alliance CAD System Copyright |
| (C) Laboratoire LIP6 - Département ASIM Universite P&M Curie|
| |
| Home page : http://www-asim.lip6.fr/alliance/ |
| E-mail support : mailto:alliance-support@asim.lip6.fr |
| |
| This progam is free software; you can redistribute it |
| and/or modify it under the terms of the GNU Library General|
| Public License as published by the Free Software Foundation |
| either version 2 of the License, or (at your option) any |
| later version. |
| |
| Alliance VLSI CAD System is distributed in the hope that |
| it will be useful, but WITHOUT ANY WARRANTY; |
| without even the implied warranty of MERCHANTABILITY or |
| FITNESS FOR A PARTICULAR PURPOSE. See the GNU General |
| Public License for more details. |
| |
| You should have received a copy of the GNU General Public |
| License along with the GNU C Library; see the file COPYING. |
| If not, write to the Free Software Foundation, Inc., |
| 675 Mass Ave, Cambridge, MA 02139, USA. |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Tool : Scp |
| |
| File : scpalloc.h |
| |
| Date : 28.01.97 |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
# ifndef SCP_ALLOC_H
# define SCP_ALLOC_H
/*------------------------------------------------------------\
| |
| Macro |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
# endif

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,79 @@
/*------------------------------------------------------------\
| |
| This file is part of the Alliance CAD System Copyright |
| (C) Laboratoire LIP6 - Département ASIM Universite P&M Curie|
| |
| Home page : http://www-asim.lip6.fr/alliance/ |
| E-mail support : mailto:alliance-support@asim.lip6.fr |
| |
| This progam is free software; you can redistribute it |
| and/or modify it under the terms of the GNU Library General|
| Public License as published by the Free Software Foundation |
| either version 2 of the License, or (at your option) any |
| later version. |
| |
| Alliance VLSI CAD System is distributed in the hope that |
| it will be useful, but WITHOUT ANY WARRANTY; |
| without even the implied warranty of MERCHANTABILITY or |
| FITNESS FOR A PARTICULAR PURPOSE. See the GNU General |
| Public License for more details. |
| |
| You should have received a copy of the GNU General Public |
| License along with the GNU C Library; see the file COPYING. |
| If not, write to the Free Software Foundation, Inc., |
| 675 Mass Ave, Cambridge, MA 02139, USA. |
| |
\------------------------------------------------------------*/
# ifndef SCP_BUILD_H
# define SCP_BUILD_H
/*------------------------------------------------------------\
| |
| Tool : Scp |
| |
| File : Scp Build |
| |
| Date : 15.03.00 |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
# define SCP_CLUSTER_BOX 0
# define SCP_CLUSTER_BOX_NET 1
/*------------------------------------------------------------\
| |
| Box Size |
| |
\------------------------------------------------------------*/
# define SCP_BOX_TRANS_DY 2
/*------------------------------------------------------------\
| |
| Macros |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
# endif

View File

@ -0,0 +1,125 @@
/*------------------------------------------------------------\
| |
| This file is part of the Alliance CAD System Copyright |
| (C) Laboratoire LIP6 - Département ASIM Universite P&M Curie|
| |
| Home page : http://www-asim.lip6.fr/alliance/ |
| E-mail support : mailto:alliance-support@asim.lip6.fr |
| |
| This progam is free software; you can redistribute it |
| and/or modify it under the terms of the GNU Library General|
| Public License as published by the Free Software Foundation |
| either version 2 of the License, or (at your option) any |
| later version. |
| |
| Alliance VLSI CAD System is distributed in the hope that |
| it will be useful, but WITHOUT ANY WARRANTY; |
| without even the implied warranty of MERCHANTABILITY or |
| FITNESS FOR A PARTICULAR PURPOSE. See the GNU General |
| Public License for more details. |
| |
| You should have received a copy of the GNU General Public |
| License along with the GNU C Library; see the file COPYING. |
| If not, write to the Free Software Foundation, Inc., |
| 675 Mass Ave, Cambridge, MA 02139, USA. |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Tool : Scp |
| |
| File : scpdel.c |
| |
| Date : 28.04.98 |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Include Files |
| |
\------------------------------------------------------------*/
# include "mut.h"
# include "aut.h"
# include "mlo.h"
# include "scl.h"
# include <stdio.h>
# include "scp.h"
# include "scpdel.h"
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Scp Del Functions |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Scp Del Cell List |
| |
\------------------------------------------------------------*/
static void loc_delscpcel( HeadCell )
scpcel_list *HeadCell;
{
scpcel_list *ScanCell;
scpcel_list *DelCell;
ScanCell = HeadCell;
while ( ScanCell != (scpcel_list *)0 )
{
DelCell = ScanCell;
ScanCell = ScanCell->NEXT;
freescpcel( DelCell );
}
}
/*------------------------------------------------------------\
| |
| Scp Del Column List |
| |
\------------------------------------------------------------*/
void delscpcol()
{
scpcol_list *ScanColumn;
scpcol_list *DelColumn;
ScanColumn = HEAD_SCPCOL;
while ( ScanColumn != (scpcol_list *)0 )
{
loc_delscpcel( ScanColumn->CELL );
DelColumn = ScanColumn;
ScanColumn = ScanColumn->NEXT;
freescpcol( DelColumn );
}
HEAD_SCPCOL = (scpcol_list *)0;
}

View File

@ -0,0 +1,66 @@
/*------------------------------------------------------------\
| |
| This file is part of the Alliance CAD System Copyright |
| (C) Laboratoire LIP6 - Département ASIM Universite P&M Curie|
| |
| Home page : http://www-asim.lip6.fr/alliance/ |
| E-mail support : mailto:alliance-support@asim.lip6.fr |
| |
| This progam is free software; you can redistribute it |
| and/or modify it under the terms of the GNU Library General|
| Public License as published by the Free Software Foundation |
| either version 2 of the License, or (at your option) any |
| later version. |
| |
| Alliance VLSI CAD System is distributed in the hope that |
| it will be useful, but WITHOUT ANY WARRANTY; |
| without even the implied warranty of MERCHANTABILITY or |
| FITNESS FOR A PARTICULAR PURPOSE. See the GNU General |
| Public License for more details. |
| |
| You should have received a copy of the GNU General Public |
| License along with the GNU C Library; see the file COPYING. |
| If not, write to the Free Software Foundation, Inc., |
| 675 Mass Ave, Cambridge, MA 02139, USA. |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Tool : Scp |
| |
| File : scpdel.h |
| |
| Date : 28.04.98 |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
# ifndef SCP_DEL_H
# define SCP_DEL_H
/*------------------------------------------------------------\
| |
| Macro |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
# endif

View File

@ -0,0 +1,110 @@
/*------------------------------------------------------------\
| |
| This file is part of the Alliance CAD System Copyright |
| (C) Laboratoire LIP6 - Département ASIM Universite P&M Curie|
| |
| Home page : http://www-asim.lip6.fr/alliance/ |
| E-mail support : mailto:alliance-support@asim.lip6.fr |
| |
| This progam is free software; you can redistribute it |
| and/or modify it under the terms of the GNU Library General|
| Public License as published by the Free Software Foundation |
| either version 2 of the License, or (at your option) any |
| later version. |
| |
| Alliance VLSI CAD System is distributed in the hope that |
| it will be useful, but WITHOUT ANY WARRANTY; |
| without even the implied warranty of MERCHANTABILITY or |
| FITNESS FOR A PARTICULAR PURPOSE. See the GNU General |
| Public License for more details. |
| |
| You should have received a copy of the GNU General Public |
| License along with the GNU C Library; see the file COPYING. |
| If not, write to the Free Software Foundation, Inc., |
| 675 Mass Ave, Cambridge, MA 02139, USA. |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Tool : Scp |
| |
| File : scpfree.c |
| |
| Date : 28.04.97 |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Include Files |
| |
\------------------------------------------------------------*/
# include "mut.h"
# include "aut.h"
# include "mlo.h"
# include "scl.h"
# include <stdio.h>
# include <string.h>
# include "scp.h"
# include "scpfree.h"
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Scp Free Functions |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Scp Free Cell |
| |
\------------------------------------------------------------*/
void freescpcel( Cell )
scpcel_list *Cell;
{
autfreeheap( (char *)Cell, sizeof( scpcel_list ));
}
/*------------------------------------------------------------\
| |
| Scp Free Colum |
| |
\------------------------------------------------------------*/
void freescpcol( Colum )
scpcol_list *Colum;
{
autfreeheap( (char *)Colum, sizeof( scpcol_list ));
}

View File

@ -0,0 +1,66 @@
/*------------------------------------------------------------\
| |
| This file is part of the Alliance CAD System Copyright |
| (C) Laboratoire LIP6 - Département ASIM Universite P&M Curie|
| |
| Home page : http://www-asim.lip6.fr/alliance/ |
| E-mail support : mailto:alliance-support@asim.lip6.fr |
| |
| This progam is free software; you can redistribute it |
| and/or modify it under the terms of the GNU Library General|
| Public License as published by the Free Software Foundation |
| either version 2 of the License, or (at your option) any |
| later version. |
| |
| Alliance VLSI CAD System is distributed in the hope that |
| it will be useful, but WITHOUT ANY WARRANTY; |
| without even the implied warranty of MERCHANTABILITY or |
| FITNESS FOR A PARTICULAR PURPOSE. See the GNU General |
| Public License for more details. |
| |
| You should have received a copy of the GNU General Public |
| License along with the GNU C Library; see the file COPYING. |
| If not, write to the Free Software Foundation, Inc., |
| 675 Mass Ave, Cambridge, MA 02139, USA. |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Tool : Scp |
| |
| File : scpfree.h |
| |
| Date : 28.04.97 |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
# ifndef SCP_FREE_H
# define SCP_FREE_H
/*------------------------------------------------------------\
| |
| Macro |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
# endif

View File

@ -0,0 +1,66 @@
/*------------------------------------------------------------\
| |
| This file is part of the Alliance CAD System Copyright |
| (C) Laboratoire LIP6 - Département ASIM Universite P&M Curie|
| |
| Home page : http://www-asim.lip6.fr/alliance/ |
| E-mail support : mailto:alliance-support@asim.lip6.fr |
| |
| This progam is free software; you can redistribute it |
| and/or modify it under the terms of the GNU Library General|
| Public License as published by the Free Software Foundation |
| either version 2 of the License, or (at your option) any |
| later version. |
| |
| Alliance VLSI CAD System is distributed in the hope that |
| it will be useful, but WITHOUT ANY WARRANTY; |
| without even the implied warranty of MERCHANTABILITY or |
| FITNESS FOR A PARTICULAR PURPOSE. See the GNU General |
| Public License for more details. |
| |
| You should have received a copy of the GNU General Public |
| License along with the GNU C Library; see the file COPYING. |
| If not, write to the Free Software Foundation, Inc., |
| 675 Mass Ave, Cambridge, MA 02139, USA. |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Tool : Scp |
| |
| File : scp.h |
| |
| Date : 28.04.98 |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
# ifndef SCP_SWAP_H
# define SCP_SWAP_H
/*------------------------------------------------------------\
| |
| Macro |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
# endif