MGEN -- C++ library for IC layout and connectivity
Copyright (C) 1990-2005 Atmel Germany GmbH unless
otherwise noted in individual source code files.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library 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
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
NOTE: If you have installed the binary release, you can skip
the compilation marked with "(**)" and even the source
code download/unpacking marked with "(*)"!
You will need the rest to compile a sample generator.
If you just want to use PARIS, and/or (re)compile/run
your own generators, you don't need this package at all.
Installation:
In the following "MGEN" stands for the whole set of tools, including
the MGEN environment (library), the layout editor PARIS, and the
waveform analysis tool MANIAC.
- Unpack file aeg.tgz in an arbitrary directory
(creates target directory aeg/ for the installation of MGEN)
- (*) Unpack file mgen.tgz in an arbitrary directory
(creates source code directory mgen/ for compilation of MGEN)
- Unpack file generators.tgz in an arbitrary directory
(creates source code directory generators/ for compilation
of a sample generator, we recommend to create subdirectories
for each process technology for which you write generators)
- Set environment variable AEGDIR to installation directory
created by first step, e.g. export AEGDIR=/usr/local/aeg
or setenv AEGDIR /usr/local/aeg, depending on your shell
- Set environment variable PLATFORM to define compiler and
operating system (see below)
- Set environment variable XAPPLRESDIR to define the X Window
resource directory to $AEGDIR/lib/X11/$PLATFORM/app-defaults
- (*) Unpack file octtools.tgz in an arbitrary directory
(complimentary excerpt from the Berkeley Octtools distribution)
- (*) Set environment variable OCTTOOLS to define the Octtools
directory to $AEGDIR/octtools/$PLATFORM . If your
$PLATFORM does not exist, consider linking to a compatible
one (e.g. cd $AEGDIR/octtools; ln -s hpgcc $PLATFORM)
- (**) To compile and install MGEN: cd .../mgen/; make
- To compile the sample generator:
- cd .../generators/sampletech
- make
- The compiled Generator can be started as $PLATFORM/sampletech
for MGEN/PARIS native output format, or renamed (or linked) for
alternative output formats. E.g.:
- sparc-sun-solaris2.8/sampletech nmos0
(creates Paris output file with default name /tmp/gen.prs)
- sparc-sun-solaris2.8/sampletechcds nmos0
(creates Cadence output file with default name /tmp/gen.il)
- hppa1.1-hp-hpux10.20/sampletechgds nmos0 hallo.gds
(creates GDSII file hallo.gds in the working directory)
- For Cadence integration (i.e. PCells for all generatable
devices) a Skill script can be produced (could/should be
customized as needed, e.g. to change the installation
path of the generator):
$PLATFORM/sampletechcds -P > sampletech.il
- In Cadence, it is necessary to initially create an empty
library sampletech_pcells and load sampletech.il .
Afterwards, this library contains the PCells, that use
your MGEN generators.
- To use Cadence autoabutment even for folded transistors
and transistors with different sizes, consider to use
the Skill script provided as generators/abutment*.il .
Several compiler versions have recently been tested for use
with $PLATFORM and corresponding binary distributions are
available in the mgen-binaries package.
Others available on request, e.g. one can cross-compile
by setting the TARGET environment variable. If creating
own target directories, please copy and modify
mgen/lib/endian.h and mgen/lib/dl.h accordingly.
Please contact us in case of any problems. We are not used
to distribute free software and want to fine-tune the process.
In any case, we appreciate your feedback. In particular, we
would like to know who is using/evaluating MGEN for what
application. Send e-mails to mgen-devel@lists.sourceforge.net
or directly to me.
Enjoy,
Volker February 4th, 2005