From 605b9d59980e8a8340131e4fcc8a35c325a2d2bd Mon Sep 17 00:00:00 2001 From: Ludovic Jacomme Date: Thu, 21 Mar 2002 14:40:20 +0000 Subject: [PATCH] Hello --- alliance/src/vtl/Makefile.am | 1 + alliance/src/vtl/configure.in | 45 +++++++++ alliance/src/vtl/src/Makefile.am | 6 ++ alliance/src/vtl/src/vtl.h | 72 +++++++++++++ alliance/src/vtl/src/vtlacces.c | 168 +++++++++++++++++++++++++++++++ alliance/src/vtl/src/vtlacces.h | 81 +++++++++++++++ alliance/src/vtl/src/vtlerror.c | 111 ++++++++++++++++++++ alliance/src/vtl/src/vtlerror.h | 84 ++++++++++++++++ 8 files changed, 568 insertions(+) create mode 100644 alliance/src/vtl/Makefile.am create mode 100644 alliance/src/vtl/configure.in create mode 100644 alliance/src/vtl/src/Makefile.am create mode 100644 alliance/src/vtl/src/vtl.h create mode 100644 alliance/src/vtl/src/vtlacces.c create mode 100644 alliance/src/vtl/src/vtlacces.h create mode 100644 alliance/src/vtl/src/vtlerror.c create mode 100644 alliance/src/vtl/src/vtlerror.h diff --git a/alliance/src/vtl/Makefile.am b/alliance/src/vtl/Makefile.am new file mode 100644 index 00000000..af437a64 --- /dev/null +++ b/alliance/src/vtl/Makefile.am @@ -0,0 +1 @@ +SUBDIRS = src diff --git a/alliance/src/vtl/configure.in b/alliance/src/vtl/configure.in new file mode 100644 index 00000000..a47006d0 --- /dev/null +++ b/alliance/src/vtl/configure.in @@ -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 +dnl $Id: configure.in,v 1.1 2002/03/21 14:40:20 ludo Exp $ +dnl +dnl +AC_INIT(src/vtl.h) +AM_INIT_AUTOMAKE(vtl, 1.5) +AC_PROG_INSTALL +AC_PROG_CC +AC_HEADER_STDC +AC_C_CONST +AC_PROG_RANLIB + +AM_ALLIANCE + +AC_OUTPUT([ +Makefile +src/Makefile +]) diff --git a/alliance/src/vtl/src/Makefile.am b/alliance/src/vtl/src/Makefile.am new file mode 100644 index 00000000..6304068c --- /dev/null +++ b/alliance/src/vtl/src/Makefile.am @@ -0,0 +1,6 @@ +CFLAGS = @CFLAGS@ \ + -DALLIANCE_TOP=\"${ALLIANCE_TOP}\" +lib_LIBRARIES = libVtl.a +include_HEADERS = vtl.h +libVtl_a_SOURCES = \ +vtl.h vtlacces.c vtlacces.h vtlerror.c vtlerror.h diff --git a/alliance/src/vtl/src/vtl.h b/alliance/src/vtl/src/vtl.h new file mode 100644 index 00000000..48dd2040 --- /dev/null +++ b/alliance/src/vtl/src/vtl.h @@ -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. | +| | +\------------------------------------------------------------*/ +#ifndef __P +# if defined(__STDC__) || defined(__GNUC__) +# define __P(x) x +# else +# define __P(x) () +# endif +#endif +/*------------------------------------------------------\ +| | +| Title : Structures and fonctions for VTL | +| | +| Date : 07.04.96 | +| | +| Author : Jacomme Ludovic | +| | +\------------------------------------------------------*/ + +# ifndef VTL_105_H +# define VTL_105_H + +/*------------------------------------------------------\ +| | +| Constants | +| | +\------------------------------------------------------*/ +/*------------------------------------------------------\ +| | +| Structures | +| | +\------------------------------------------------------*/ +/*------------------------------------------------------\ +| | +| Global Variables | +| | +\------------------------------------------------------*/ +/*------------------------------------------------------\ +| | +| Functions | +| | +\------------------------------------------------------*/ + + extern vpnfig_list * getvpnfig __P((char *Name)); + extern void loadvpnfig __P((vpnfig_list *Figure, char *Name, int Reduced)); + extern void savevpnfig __P((vpnfig_list *Figure)); + +# endif diff --git a/alliance/src/vtl/src/vtlacces.c b/alliance/src/vtl/src/vtlacces.c new file mode 100644 index 00000000..1c63a1b0 --- /dev/null +++ b/alliance/src/vtl/src/vtlacces.c @@ -0,0 +1,168 @@ +/*------------------------------------------------------------\ +| | +| 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 : Vtl | +| | +| File : vtlacces.c | +| | +| Date : 04.07.96 | +| | +| Author : Jacomme Ludovic | +| | +\------------------------------------------------------------*/ +/*------------------------------------------------------------\ +| | +| Include Files | +| | +\------------------------------------------------------------*/ + +# include +# include +# include + +# include "mut.h" +# include "aut.h" +# include "vex.h" +# include "vpn.h" +# include "vtl.h" + +# include "vtlacces.h" +# include "vtlerror.h" + +/*------------------------------------------------------------\ +| | +| Constants | +| | +\------------------------------------------------------------*/ +/*------------------------------------------------------------\ +| | +| Types | +| | +\------------------------------------------------------------*/ +/*------------------------------------------------------------\ +| | +| Variables | +| | +\------------------------------------------------------------*/ +/*------------------------------------------------------------\ +| | +| Functions | +| | +\------------------------------------------------------------*/ +/*------------------------------------------------------------\ +| | +| Functions | +| | +\------------------------------------------------------------*/ +/*------------------------------------------------------------\ +| | +| loadvpnfig | +| | +\------------------------------------------------------------*/ + +void loadvpnfig( Figure, Name, Reduced ) + + vpnfig_list *Figure; + char *Name; + int Reduced; +{ + if ( ( VPN_IN == VPN_VHDL_FORMAT ) || + ( VPN_IN == VPN_SYN_FORMAT ) || + ( VPN_IN == VPN_FSM_FORMAT ) || + ( VPN_IN == VPN_VST_FORMAT ) || + ( VPN_IN == VPN_VBE_FORMAT ) ) + { + vhdlloadvpnfig( Figure, Name, Reduced ); + } + else + if ( VPN_IN == VPN_VPN_FORMAT ) + { + vpnloadvpnfig( Figure, Name ); + } + else + { + vtlerror( VTL_UNKNOWN_VPN_IN, VPN_IN ); + } +} + +/*------------------------------------------------------------\ +| | +| savevpnfig | +| | +\------------------------------------------------------------*/ + +void savevpnfig( Figure ) + + vpnfig_list *Figure; +{ + if ( VPN_OUT == VPN_VHDL_FORMAT ) + { + vhdlsavevpnfig( Figure ); + } + else + if ( VPN_OUT == VPN_VPN_FORMAT ) + { + vpnsavevpnfig( Figure ); + } + else + { + vtlerror( VTL_UNKNOWN_VPN_OUT, VPN_OUT ); + } +} + +/*------------------------------------------------------------\ +| | +| getvpnfig | +| | +\------------------------------------------------------------*/ + +vpnfig_list *getvpnfig( Name ) + + char *Name; +{ + vpnfig_list *Figure; + char *FigName; + + FigName = namealloc( Name ); + + for ( Figure = HEAD_VPNFIG; + Figure != (vpnfig_list *)0; + Figure = Figure->NEXT ) + { + if ( Figure->NAME == FigName ) break; + } + + if ( Figure == (vpnfig_list *)0 ) + { + Figure = addvpnfig( Name ); + + loadvpnfig( Figure, Name, 1 ); + } + + return( Figure ); +} diff --git a/alliance/src/vtl/src/vtlacces.h b/alliance/src/vtl/src/vtlacces.h new file mode 100644 index 00000000..23461e16 --- /dev/null +++ b/alliance/src/vtl/src/vtlacces.h @@ -0,0 +1,81 @@ +/*------------------------------------------------------------\ +| | +| 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 : Vtl | +| | +| File : vtlacces.h | +| | +| Date : 04.07.96 | +| | +| Author : Jacomme Ludovic | +| | +\------------------------------------------------------------*/ +/*------------------------------------------------------------\ +| | +| Constants | +| | +\------------------------------------------------------------*/ + +# ifndef VTL_ACCES_H +# define VTL_ACCES_H + +/*------------------------------------------------------------\ +| | +| Macro | +| | +\------------------------------------------------------------*/ +/*------------------------------------------------------------\ +| | +| Types | +| | +\------------------------------------------------------------*/ +/*------------------------------------------------------------\ +| | +| Variables | +| | +\------------------------------------------------------------*/ +/*------------------------------------------------------------\ +| | +| Functions | +| | +\------------------------------------------------------------*/ + + extern void vhdlloadvpnfig(); + extern void vhdlsavevpnfig(); + + extern void vpnloadvpnfig(); + extern void vpnsavevpnfig(); + +# endif diff --git a/alliance/src/vtl/src/vtlerror.c b/alliance/src/vtl/src/vtlerror.c new file mode 100644 index 00000000..46d5b746 --- /dev/null +++ b/alliance/src/vtl/src/vtlerror.c @@ -0,0 +1,111 @@ +/*------------------------------------------------------------\ +| | +| 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 : Vtl | +| | +| File : Vtl Errors | +| | +| Authors : Jacomme Ludovic | +| | +| Date : 04.07.96 | +| | +\------------------------------------------------------------*/ + +/*------------------------------------------------------------\ +| | +| Include Files | +| | +\------------------------------------------------------------*/ + +# include +# include + +# include "mut.h" +# include "aut.h" +# include "vex.h" +# include "vpn.h" +# include "vtl.h" + +# include "vtlerror.h" + +/*------------------------------------------------------------\ +| | +| Constants | +| | +\------------------------------------------------------------*/ +/*------------------------------------------------------------\ +| | +| Types | +| | +\------------------------------------------------------------*/ +/*------------------------------------------------------------\ +| | +| Variables | +| | +\------------------------------------------------------------*/ +/*------------------------------------------------------------\ +| | +| Functions | +| | +\------------------------------------------------------------*/ + +void vtl_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 ) + { + case VTL_UNKNOWN_VPN_OUT : + + fprintf( stderr, "Unknown vpn output format %s\n", Text ); + + break; + + case VTL_UNKNOWN_VPN_IN : + + fprintf( stderr, "Unknown vpn input format %s\n", Text ); + + break; + + default : + + fprintf( stderr, "unknown internal error %d !\n", Error ); + } + + autexit( 1 ); +} diff --git a/alliance/src/vtl/src/vtlerror.h b/alliance/src/vtl/src/vtlerror.h new file mode 100644 index 00000000..b2174db1 --- /dev/null +++ b/alliance/src/vtl/src/vtlerror.h @@ -0,0 +1,84 @@ +/*------------------------------------------------------------\ +| | +| 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 : Vtl | +| | +| File : Vtl Errors | +| | +| Authors : Jacomme Ludovic | +| | +| Date : 04.07.96 | +| | +\------------------------------------------------------------*/ + +# ifndef VTL_ERROR_H +# define VTL_ERROR_H + +/*------------------------------------------------------------\ +| | +| Constants | +| | +\------------------------------------------------------------*/ + +# define VTL_UNKNOWN_VPN_IN 0 +# define VTL_UNKNOWN_VPN_OUT 1 + +/*------------------------------------------------------------\ +| | +| Types | +| | +\------------------------------------------------------------*/ +/*------------------------------------------------------------\ +| | +| Variables | +| | +\------------------------------------------------------------*/ +/*------------------------------------------------------------\ +| | +| Macros | +| | +\------------------------------------------------------------*/ + +# define vtlerror( E, V ) (vtl_error( (E), (V), __FILE__, __LINE__ )) + +/*------------------------------------------------------------\ +| | +| Functions | +| | +\------------------------------------------------------------*/ + + extern void vtl_error __P((char Error, char *Text, char *File, long Line)); + +# endif