From a8c04de0860a01b198c2dfbff0b477293cb1a341 Mon Sep 17 00:00:00 2001 From: dmcmahill Date: Sat, 6 Apr 2002 21:37:28 +0000 Subject: [PATCH] import of magic-7.1 Magic is an interactive system for creating and modifying VLSI circuit layouts. With Magic, you use a color graphics display and a mouse or graphics tablet to design basic cells and to combine them hierarchically into large structures. Magic is different from other layout editors you may have used. The most important difference is that Magic is more than just a color painting tool: it understands quite a bit about the nature of circuits and uses this information to provide you with additional operations. For example, Magic has built-in knowledge of layout rules; as you are editing, it continuously checks for rule violations. Magic also knows about connectivity and transistors, and contains a built-in hierarchical circuit extractor. Magic also has a plow operation that you can use to stretch or compact cells. Lastly, Magic has routing tools that you can use to make the global interconnections in your circuits. Magic is based on the Mead-Conway style of design. This means that it uses simplified design rules and circuit structures. The simplifications make it easier for you to design circuits and permit Magic to provide powerful assistance that would not be possible otherwise. However, they result in slightly less dense circuits than you could get with more complex rules and structures. For example, Magic permits only Manhattan designs (those whose edges are vertical or horizontal). --- cad/magic/DESCR | 24 ++++++ cad/magic/MESSAGE | 7 ++ cad/magic/Makefile | 19 +++++ cad/magic/PLIST | 168 +++++++++++++++++++++++++++++++++++++ cad/magic/distinfo | 6 ++ cad/magic/patches/patch-aa | 79 +++++++++++++++++ cad/magic/patches/patch-ab | 11 +++ 7 files changed, 314 insertions(+) create mode 100644 cad/magic/DESCR create mode 100644 cad/magic/MESSAGE create mode 100644 cad/magic/Makefile create mode 100644 cad/magic/PLIST create mode 100644 cad/magic/distinfo create mode 100644 cad/magic/patches/patch-aa create mode 100644 cad/magic/patches/patch-ab diff --git a/cad/magic/DESCR b/cad/magic/DESCR new file mode 100644 index 0000000000000..bcb85af03d9a8 --- /dev/null +++ b/cad/magic/DESCR @@ -0,0 +1,24 @@ +Magic is an interactive system for creating and modifying VLSI circuit +layouts. With Magic, you use a color graphics display and a mouse or +graphics tablet to design basic cells and to combine them +hierarchically into large structures. Magic is different from other +layout editors you may have used. The most important difference is +that Magic is more than just a color painting tool: it understands +quite a bit about the nature of circuits and uses this information to +provide you with additional operations. For example, Magic has +built-in knowledge of layout rules; as you are editing, it +continuously checks for rule violations. Magic also knows about +connectivity and transistors, and contains a built-in hierarchical +circuit extractor. Magic also has a plow operation that +you can use to stretch or compact cells. Lastly, Magic has routing +tools that you can use to make the global interconnections in your +circuits. + +Magic is based on the Mead-Conway style of design. This means that it +uses simplified design rules and circuit structures. The +simplifications make it easier for you to design circuits and permit +Magic to provide powerful assistance that would not be possible +otherwise. However, they result in slightly less dense circuits than +you could get with more complex rules and structures. For example, +Magic permits only Manhattan designs (those whose edges are vertical +or horizontal). diff --git a/cad/magic/MESSAGE b/cad/magic/MESSAGE new file mode 100644 index 0000000000000..fb41f6693abc4 --- /dev/null +++ b/cad/magic/MESSAGE @@ -0,0 +1,7 @@ +====================================================================== +$NetBSD: MESSAGE,v 1.1.1.1 2002/04/06 21:37:29 dmcmahill Exp $ + +You must set the environment variable CAD_HOME to ${PREFIX} to +use the tools in this package. + +====================================================================== diff --git a/cad/magic/Makefile b/cad/magic/Makefile new file mode 100644 index 0000000000000..01e1fd6ffa509 --- /dev/null +++ b/cad/magic/Makefile @@ -0,0 +1,19 @@ +# $NetBSD: Makefile,v 1.1.1.1 2002/04/06 21:37:28 dmcmahill Exp $ +# + +DISTNAME= magic-7.1 +CATEGORIES= cad +MASTER_SITES= http://vlsi.cornell.edu/magic/ + +MAINTAINER= dmcmahill@netbsd.org +HOMEPAGE= http://vlsi.cornell.edu/magic/ +COMMENT= Integrated circuit layout system + +USE_GMAKE= yes +MAKE_ENV+= CAD_HOME=${PREFIX} + +do-configure: + cd ${WRKSRC} && printf "1\n2\n6\n\n\n\n\n\n\n\n\n\n\n" | \ + ${ENV} ${MAKE_ENV} ./scripts/config + +.include "../../mk/bsd.pkg.mk" diff --git a/cad/magic/PLIST b/cad/magic/PLIST new file mode 100644 index 0000000000000..e1eb4088f1ebb --- /dev/null +++ b/cad/magic/PLIST @@ -0,0 +1,168 @@ +@comment $NetBSD: PLIST,v 1.1.1.1 2002/04/06 21:37:28 dmcmahill Exp $ +bin/XHelper7 +bin/ext2sim +bin/ext2spice +bin/extcheck +bin/magic +bin/magicusage +bin/net2ir +bin/spice2sim +lib/libmpack.a +lib/magic/doc/addendum6_5.ps +lib/magic/doc/copyright.ps +lib/magic/doc/introduction.ps +lib/magic/doc/maint1.ps +lib/magic/doc/maint2.ps +lib/magic/doc/maint3.ps +lib/magic/doc/maint4.ps +lib/magic/doc/tut1.ps +lib/magic/doc/tut10.ps +lib/magic/doc/tut11.ps +lib/magic/doc/tut2.ps +lib/magic/doc/tut3.ps +lib/magic/doc/tut4.ps +lib/magic/doc/tut5.ps +lib/magic/doc/tut6.ps +lib/magic/doc/tut7.ps +lib/magic/doc/tut8.ps +lib/magic/doc/tut9.ps +lib/magic/doc/tutscm1.ps +lib/magic/doc/tutscm2.ps +lib/magic/doc/tutscm3.ps +lib/magic/doc/tutscm4.ps +lib/magic/doc/tutwrl1.ps +lib/magic/scm/box.scm +lib/magic/scm/default.scm +lib/magic/scm/draw.scm +lib/magic/scm/drc.scm +lib/magic/scm/gate.scm +lib/magic/scm/help.scm +lib/magic/scm/label.scm +lib/magic/scm/layout.scm +lib/magic/scm/prs.scm +lib/magic/scm/sel.scm +lib/magic/scm/stack.scm +lib/magic/sys/.magic +lib/magic/sys/bw.glyphs +lib/magic/sys/color.glyphs +lib/magic/sys/magicps.pro +lib/magic/sys/mos.24bit.dstyle5 +lib/magic/sys/mos.7bit.dstyle5 +lib/magic/sys/mos.7bit.mraster.cmap1 +lib/magic/sys/mos.7bit.mraster_dstyle5 +lib/magic/sys/mos.7bit.std.cmap1 +lib/magic/sys/mos.OpenGL.dstyle5 +lib/magic/sys/mos.OpenGL.std.cmap1 +lib/magic/sys/scmos-sub.tech26 +lib/magic/sys/scmos-sub.tech27 +lib/magic/sys/scmos-tm.tech26 +lib/magic/sys/scmos-tm.tech27 +lib/magic/sys/scmos.tech +lib/magic/sys/scmos.tech26 +lib/magic/sys/scmos.tech27 +lib/magic/sys/scmosWR.tech26 +lib/magic/sys/scmosWR.tech27 +lib/magic/sys/windows11.glyphs +lib/magic/sys/windows14.glyphs +lib/magic/sys/windows22.glyphs +lib/magic/sys/windows7.glyphs +lib/magic/tutorial/m3a.mag +lib/magic/tutorial/maint2a.mag +lib/magic/tutorial/tut1.mag +lib/magic/tutorial/tut11a.al +lib/magic/tutorial/tut11a.cmd +lib/magic/tutorial/tut11a.ext +lib/magic/tutorial/tut11a.mag +lib/magic/tutorial/tut11a.nodes +lib/magic/tutorial/tut11a.rsm +lib/magic/tutorial/tut11a.sim +lib/magic/tutorial/tut11b.ext +lib/magic/tutorial/tut11b.mag +lib/magic/tutorial/tut11c.ext +lib/magic/tutorial/tut11c.mag +lib/magic/tutorial/tut11d.ext +lib/magic/tutorial/tut11d.mag +lib/magic/tutorial/tut2a.mag +lib/magic/tutorial/tut2b.mag +lib/magic/tutorial/tut2c.mag +lib/magic/tutorial/tut2d.mag +lib/magic/tutorial/tut3a.mag +lib/magic/tutorial/tut3b.mag +lib/magic/tutorial/tut3c.mag +lib/magic/tutorial/tut3d.mag +lib/magic/tutorial/tut3e.mag +lib/magic/tutorial/tut3f.mag +lib/magic/tutorial/tut3g.mag +lib/magic/tutorial/tut3h.mag +lib/magic/tutorial/tut4a.mag +lib/magic/tutorial/tut4x.mag +lib/magic/tutorial/tut4y.mag +lib/magic/tutorial/tut4z.mag +lib/magic/tutorial/tut5a.mag +lib/magic/tutorial/tut5b.mag +lib/magic/tutorial/tut6a.mag +lib/magic/tutorial/tut6b.mag +lib/magic/tutorial/tut6c.mag +lib/magic/tutorial/tut6x.mag +lib/magic/tutorial/tut6y.mag +lib/magic/tutorial/tut7a.mag +lib/magic/tutorial/tut7b.mag +lib/magic/tutorial/tut7b.net +lib/magic/tutorial/tut7c.mag +lib/magic/tutorial/tut7d.mag +lib/magic/tutorial/tut7d.net +lib/magic/tutorial/tut8a.mag +lib/magic/tutorial/tut8b.mag +lib/magic/tutorial/tut8c.mag +lib/magic/tutorial/tut8d.mag +lib/magic/tutorial/tut8e.mag +lib/magic/tutorial/tut8f.mag +lib/magic/tutorial/tut8g.mag +lib/magic/tutorial/tut8h.mag +lib/magic/tutorial/tut8i.mag +lib/magic/tutorial/tut8j.mag +lib/magic/tutorial/tut8k.mag +lib/magic/tutorial/tut8l.mag +lib/magic/tutorial/tut8m.mag +lib/magic/tutorial/tut8n.mag +lib/magic/tutorial/tut8r.mag +lib/magic/tutorial/tut9a.mag +lib/magic/tutorial/tut9b.mag +lib/magic/tutorial/tut9x.mag +lib/magic/tutorial/tut9y.mag +lib/mpack.h +man/man1/ext2sim.1 +man/man1/ext2spice.1 +man/man1/extcheck.1 +man/man1/magic.1 +man/man1/magicusage.1 +man/man3/dqueue.3 +man/man3/extflat.3 +man/man3/geometry.3 +man/man3/hash.3 +man/man3/heap.3 +man/man3/libmalloc.3 +man/man3/list.3 +man/man3/magicutils.3 +man/man3/malloc.3 +man/man3/path.3 +man/man3/runstats.3 +man/man3/set.3 +man/man3/show.3 +man/man3/stack.3 +man/man3/string.3 +man/man5/cmap.5 +man/man5/displays.5 +man/man5/dlys.5 +man/man5/dstyle.5 +man/man5/ext.5 +man/man5/glyphs.5 +man/man5/magic.5 +man/man5/net.5 +man/man5/sim.5 +man/man8/prleak.8 +@dirrm lib/magic/tutorial +@dirrm lib/magic/sys +@dirrm lib/magic/scm +@dirrm lib/magic/doc +@dirrm lib/magic diff --git a/cad/magic/distinfo b/cad/magic/distinfo new file mode 100644 index 0000000000000..91222dd3b50da --- /dev/null +++ b/cad/magic/distinfo @@ -0,0 +1,6 @@ +$NetBSD: distinfo,v 1.1.1.1 2002/04/06 21:37:28 dmcmahill Exp $ + +SHA1 (magic-7.1.tar.gz) = 176eb4c6a0ff33c6e265e61360c02da4f454f101 +Size (magic-7.1.tar.gz) = 3860487 bytes +SHA1 (patch-aa) = bb18e6672441e404b0969cd1f5cb387ef4f97386 +SHA1 (patch-ab) = fab0d76781c186f0f74a37be856c957c7e8be648 diff --git a/cad/magic/patches/patch-aa b/cad/magic/patches/patch-aa new file mode 100644 index 0000000000000..67417c664ff17 --- /dev/null +++ b/cad/magic/patches/patch-aa @@ -0,0 +1,79 @@ +$NetBSD: patch-aa,v 1.1.1.1 2002/04/06 21:37:29 dmcmahill Exp $ + +--- misc/magic.h.orig Fri Sep 21 11:15:45 2001 ++++ misc/magic.h Wed Mar 13 12:37:46 2002 +@@ -147,69 +147,11 @@ + */ + +-#ifdef i386 +-#define IS_LITTLE_ENDIAN /* Intel x86 processors. */ ++#include ++#if BYTE_ORDER==BIG_ENDIAN ++#define IS_BIG_ENDIAN ++#else ++#define IS_LITTLE_ENDIAN + #endif + +-#ifdef linux +-#define IS_LITTLE_ENDIAN /* Intel x86 processors running Linux >=.99p7. */ +-#endif +- +-#ifdef vax +-#define IS_LITTLE_ENDIAN /* The good 'ol VAX. */ +-#endif +- +-#ifdef MIPSEL +-#define IS_LITTLE_ENDIAN /* MIPS processors in little-endian mode. */ +-#endif +- +-#ifdef wrltitan +-#define IS_LITTLE_ENDIAN /* A DEC-WRL titan research machine (only 20 exist). */ +- /* NOT intended for the Ardent titan machine. */ +-#endif +- +-#ifdef MIPSEB +-#define IS_BIG_ENDIAN /* MIPS processors in big-endian mode. */ +-#endif +- +-#ifdef mc68000 +-#define IS_BIG_ENDIAN /* All 68xxx machines, such as Sun2's and Sun3's. */ +-#endif +- +-#ifdef macII +-#define IS_BIG_ENDIAN /* Apple MacII (also a 68000, but being safe here.) */ +-#endif +- +-#ifdef sparc +-#define IS_BIG_ENDIAN /* All SPARC-based machines. */ +-#endif +- +-#ifdef ibm032 +-#define IS_BIG_ENDIAN /* IBM PC-RT and related machines. */ +-#endif +- +-#ifdef hp9000s300 +-#define IS_BIG_ENDIAN /* HP 9000 machine. */ +-#endif +- +-#ifdef hp9000s800 +-#define IS_BIG_ENDIAN /* HP 9000 machine. */ +-#endif +- +-#ifdef hp9000s820 +-#define IS_BIG_ENDIAN /* HP 9000 machine. */ +-#endif +- +-#ifdef ALPHA +-#define IS_LITTLE_ENDIAN /* Digital Alpha AXP */ +-#endif +- +-/* Well, how'd we do? */ +- +-#if !defined(IS_BIG_ENDIAN) && !defined(IS_LITTLE_ENDIAN) +- You_need_to_define_IS_LITTLE_ENDIAN_or_IS_BIG_ENDIAN_for_your_machine. +-#endif +-#if defined(IS_BIG_ENDIAN) && defined(IS_LITTLE_ENDIAN) +- You_should_not_define_both_IS_LITTLE_ENDIAN_and_IS_BIG_ENDIAN. +-#endif + + /* ------- Configuration: Handle Missing Routines/Definitions ------- */ diff --git a/cad/magic/patches/patch-ab b/cad/magic/patches/patch-ab new file mode 100644 index 0000000000000..24f52266f8dd5 --- /dev/null +++ b/cad/magic/patches/patch-ab @@ -0,0 +1,11 @@ +$NetBSD: patch-ab,v 1.1.1.1 2002/04/06 21:37:29 dmcmahill Exp $ + +--- scripts/config.orig Mon Feb 4 12:53:10 2002 ++++ scripts/config Wed Mar 13 13:03:53 2002 +@@ -200,5 +200,5 @@ + echo " script completes." + set gr_cflags=("$gr_cflags" -I/usr/X11R6/include) +- set gr_libs=(-L/usr/X11R6/lib "$gr_libs") ++ set gr_libs=(-L${X11BASE}/lib -R${X11BASE}/lib "$gr_libs") + endif + breaksw