Skip to content

Commit

Permalink
import of magic-7.1
Browse files Browse the repository at this point in the history
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).
  • Loading branch information
dmcmahill committed Apr 6, 2002
1 parent 7db2f4d commit a8c04de
Show file tree
Hide file tree
Showing 7 changed files with 314 additions and 0 deletions.
24 changes: 24 additions & 0 deletions 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).
7 changes: 7 additions & 0 deletions 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.

======================================================================
19 changes: 19 additions & 0 deletions 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"
168 changes: 168 additions & 0 deletions 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
6 changes: 6 additions & 0 deletions 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
79 changes: 79 additions & 0 deletions 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 <sys/endian.h>
+#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 ------- */
11 changes: 11 additions & 0 deletions 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

0 comments on commit a8c04de

Please sign in to comment.