Magic (software)

Magic (software)
Magic
Original author(s) John Ousterhout
Initial release 1980s
Stable release 7.5 / May 31, 2009; 2 years ago (2009-05-31)
Preview release 8.0 / June 2, 2009; 2 years ago (2009-06-02)
Operating system Linux
Available in English
Type Very-large-scale integration
Website http://opencircuitdesign.com/magic/
VLSI Layout of an Inverter Circuit using Magic software

Magic is a Very-large-scale integration layout tool originally written by John Ousterhout and his graduate students at UC Berkeley during the 1980s. Magic continues to be popular because it is free (Berkeley open-source license), easy to use, and easy to expand for specialized tasks. The current version is 7.5, but 6.x is still widely used.

The main difference between Magic and other VLSI design tools is its use of "corner-stitched" geometry, in which all layout is represented as a stack of planes, and each plane consists entirely of "tiles" (rectangles). The tiles must cover the entire plane. Each tile consists of an (X, Y) coordinate of its lower left-hand corner, and links to four tiles: the right-most neighbor on the top, the top-most neighbor on the right, the bottom-most neighbor on the left, and the left-most neighbor on the bottom. With the addition of the type of material represented by the tile, the layout geometry in the plane is exactly specified. The corner-stitched geometry representation leads to the concept of layout as "paint" to be applied to, or erased from, a canvas. This is considerably different from other tools that use the concept of layout as "objects" to be placed and manipulated separately from one another. Each concept has its own strengths and weaknesses in terms of both practical use and speed of computation. The corner-stitched representation is particularly well suited to searches within a single plane, for which it excels in speed. It is not particularly well suited to extremely large databases: The need to maintain four pointers for each tile, as well as the need to store tiles representing the space between areas of material on a layout, makes it more memory-intensive than object-based representations.

An extension to the corner-stitched geometry representation called the "split tile" method, added in version 7.1, allows true representation of non-Manhattan geometry. This method allows each tile in the database to specify two material types, in which case the tile is regarded as being bisected by a diagonal line from corner to corner, with one material type on one side of the diagonal and the other material type on the other side of the diagonal. An additional flag specifies whether the diagonal runs from the top left corner to the bottom right, or the top right corner to the bottom left. The split-tile method has the advantange that nearly all rules that apply to corner-stitched geometry apply, unaltered, to split tiles. A further advantage is that all non-Manhattan geometry must have corners lying on the database internal grid. This makes it impossible to generate geometry that is off-grid within a single plane, a rule error for most fabrication processes that is a common problem with object-based representations.

Magic features real-time design rule checking, something that some costly commercial VLSI design software packages don't feature. Magic implements this by counting distance using Manhattan distance rather than Euclidean distance, which is much faster to compute.

(Note from Magic developer Tim Edwards: Magic versions from 7.3 properly compute Euclidean distance when given the "drc euclidean on" command. Euclidean distance checks are a trivial extension of the Manhattan distance checks, and require very little overhead. On a straight-line edge, the Manhattan and Euclidean distances are the same. Only on corners do the two distances diverge. When checking corners, it is only necessary to keep track of the direction of search from the corner point. Any geometry found inside the square representing the Manhattan distance from the corner undergoes an additional check to see if the same geometry lies outside the quarter-circle radius representing the Euclidean distance. Since this additional check is applied only to geometry found in violation of the Manhattan distance rule, it is not invoked often, so the computational overhead is very small.)

Magic currently runs under Linux, although versions exist for DOS, OS/2, and other operating systems. Magic is frequently used in conjunction with IRSIM and other simulation programs.

References

  • John K. Ousterhout, "Corner Stitching: A Data-Structuring Technique for VLSI Layout Tools," IEEE Transactions on Computer-Aided Design, Vol. CAD-3, No. 1, January 1984, pp. 87–100
  • John K. Ousterhout, Gordon T. Hamachi, Robert N. Mayo, Walter S. Scott, and George S. Taylor, "Magic: A VLSI Layout System," 21st Design Automation Conference, 1984, pp. 152–159
  • George S. Taylor and John K. Ousterhout, "Magic's Incremental Design-Rule Checker," 21st Design Automation Conference, 1984, pp. 160–165
  • W.S. Scott and John K. Ousterhout, "Plowing: Interactive Stretching and Compaction in Magic," 21st Design Automation Conference, 1984
  • Gordon T. Hamachi and John K. Ousterhout, "A Switchbox Router with Obstacle Avoidance," 21st Design Automation Conference, 1984, pp. 173–179
  • Walter S. Scott and John K. Ousterhout, "Magic's Circuit Extractor," 22nd Design Automation Conference, 1985, pp. 286–292

External links


Wikimedia Foundation. 2010.

Игры ⚽ Нужен реферат?

Look at other dictionaries:

  • Magic Software Enterprises — Type Public Industry Computer software Founded 1983 …   Wikipedia

  • Magic Software Enterprises — Rechtsform Aktiengesellschaft ISIN IL0010823123 Gründung 1983 Sitz …   Deutsch Wikipedia

  • Magic Software Enterprises — Logo de Magic Software Enterprises Création 1983 Personnages clés Guy Bernstein, Active Chairman CEO …   Wikipédia en Français

  • Rent Magic Software — ( [http://www.rentmagic.ca RMS] ) is a software development company headquartered in Toronto, Ontario, Canada specializing in property management software. It is family owned and run, founded by Russell Levy.Current Business ActivitiesIn 2000,… …   Wikipedia

  • Magic — Contents 1 Computing 2 Gaming 3 Film 4 Music …   Wikipedia

  • Magic eDeveloper — Présentation Magic eDeveloper (aujourd hui uniPaaS ) est un logiciel de Rapid Application Development (Développement rapide d applications) créé en 1983 par Magic Software Enterprises. Il s est appelé successivement Magic II, puis Magic… …   Wikipédia en Français

  • Magic Solutions, Inc. — Magic Solutions, Inc. Former type Private Industry Computer software Founded 1988 Defunct 1998 Headquarters Paramus, New Jersey, U.S …   Wikipedia

  • Magic: The Gathering Online — Retail box art Developer(s) Leaping Lizard Software (initial) Wizards of the Coast (v2.0 and on) Publisher(s) Wizards o …   Wikipedia

  • Magic Trackpad — The Magic Trackpad Manufacturer Apple Inc. Release date July 27, 2010 (2010 07 27) …   Wikipedia

  • Magic Camera — Developer(s) ShiningMorning Soft Initial release …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”