MAGIC Magic Mailing List
 
 

From: Stefanos Sidiropoulos (stefanos AT aeluros DOT com)
Date: Mon Feb 25 2002 - 15:19:31 EST

  • Next message: Prashant Bhadri: "npn bjt"

    Can someone please get me off the mailing list ? 
    I have been following on and off for a while
    with interest, but I'd rather keep my mbox
    clean if the whole thing is going to degenerate
    to a holy war about corner-stitching.
    
    Thank you,
    
    -- Stefanos
    
    PS: I thought people fought that specific war back 
           in 1985 and moved on from there.
    
    ----- Original Message ----- 
    From: "R. Timothy Edwards" <tim AT stravinsky DOT jhuapl.edu>
    To: <magic-dev AT csl DOT cornell.edu>
    Sent: Monday, February 25, 2002 12:01 PM
    Subject: Jeff Solomon's Future of Magic
    
    
    > Okay, Jeff's email deserves a response, and anyone who has been reading
    > this list for any length of time knows that I always run in -verbose
    > mode, and can't resist. . .
    > 
    > > 1) For people to use magic, it should be easier to build.
    > 
    > > I've been tempted, but I just can't find the energy.
    > 
    > Understandable.  But I was under the impression from some time ago
    > that you were planning to do it.  If not, I'll work on it.  It will
    > need more than just one person, though.  "autoconf" is not fundamentally
    > better than magic's existing "config" script, so we'll need some
    > volunteers to test compilation and running on all major platforms.
    > 
    > > 2) The corner-stitched data structure is too memory-inefficient.
    > 
    > First note that magic is one of those programs where the data structure
    > IS the program.  The corner-stitched tile structure touches every part
    > of the code, and changing it would be tantamount to writing a new
    > program.
    > 
    > I can't agree with your assessment of the memory/speed tradeoffs in
    > magic without some hard data.  Magic's DRC has to be at least 1000
    > times faster than any other VLSI layout tool.  But of course a large
    > part of that has nothing to do with corner-stitching at all, but
    > rather is due to its running DRC as a background process and updating
    > only over areas where the layout has been modified, saving DRC info
    > in the output file, and using timestamps for validating the DRC of
    > each cell.  The bottom line is that the cost of fundamentally
    > rewriting magic is huge, whereas the benefit is not entirely known.
    > A good cost/benefit analysis is warranted, even if it involves just
    > back-of-the-envelope calculations.
    > 
    > > 3) 24-bit magic is ugly (and menus and dialog boxes aren't all evil)
    > 
    > I agree that OpenGL is the way to go, but my implementation was
    > rather quick-and-dirty and needs some refinement.  First, the cursor
    > box should attempt to use a 1-bit overlay plane which will keep
    > magic from redrawing layout every time the box is moved.  And there
    > are probably other optimizations which can speed up the redraw rate.
    > Currently, most systems (including SGIs, which are supposedly highly
    > optimized for OpenGL rendering speed) seem to redraw layout at about
    > 2/3 the speed of redrawing in 8-bit indexed color.  I was hoping that
    > the speed would turn out to be faster, not slower, but that's not the
    > case.
    >    OpenGL is also more cross-platform independent than X11, but my
    > first attempt to use "glut" (the OpenGL server-level interface) had
    > horrible interactions with X11.  It appears that OpenGL has to work
    > on top of interface code linking it to the display's native graphics
    > server.  The interface also slows down rendering.  On my system, if
    > any window obscures a portion of the OpenGL window, OpenGL switches
    > from hardware acceleration to software emulation, apparently the only
    > way X11 can prevent OpenGL from drawing overtop the X11 windows.
    > These issues are all likely hardware-dependent.  I'm curious as to
    > whether anyone has found a hardware setup in which the OpenGL
    > interface runs faster than the 8-bit X11 interface.
    > 
    > ------------------------------------------------
    > I should add my own additions:
    > 
    > 4) Threading is the way to go.
    > 
    > Magic was written in pre-threads days.  I've been able to switch the
    > graphics from using a forked process handling the server graphics calls
    > to a separate thread, but magic should be using threads much more
    > routinely, such as having a separate thread to run DRC, and possibly
    > handling repainting for each open window as a separate thread.
    > 
    > 5) Scripting is the way to go.
    > 
    > Rajit did a fine job embedding SCHEME into magic, but I have since
    > become convinced that EDA programs should have interpreters "wrapped"
    > around them rather than embedded in them.  I'm hoping to demonstrate
    > such a system by June, based more-or-less on John Wood's GUI-wrapped
    > magic system, but more concerned with using the interpreter for
    > fundamental extensions to magic than with GUIs.  Namely, it will run
    > SPICE in much the same way it now runs irsim;  indeed, it should be
    > possible to mix-and-match with any simulator.  Also, the interpreter
    > will handle interaction with other independent programs, such as
    > FastHenry for inductance extraction.
    > 
    > 6) It pains me to say it, but we need a Windows version of magic.
    > 
    > Linux has been gaining a lot of ground, but programmers who have their
    > idealism tempered with a measure of realism admit that any program
    > which seeks to expand its user base as much as possible should run
    > conveniently in Windows.  I'm currently writing a native-Windows-API
    > version of the graphics.  There will be much wringing of hands and
    > gnashing of teeth, but at least the setup of magic allows the addition
    > of Windows graphics while minimally touching the rest of the code.
    > 
    > 7) Finally, did anybody mention documentation??
    > 
    > I think that's a well-known issue, another one like the build/install
    > interface that just needs doing, not discussing.
    > 
    > ---------------------------------------------
    > 
    > ---Tim
    > 
    


  •  
     
    Questions? Contact Rajit Manohar
    cornell logo