[comp.lsi.cad] SUMMARY to Any MAGIC wizards out there ?

md89mch@cc.brunel.ac.uk (Martin Howe) (09/04/90)

In a previous article, I asked:

>   Whenever I edit a large cell containing subcells, MAGIC tries to write
>   the _subcells_. Since  I ``sccs delta'' each cell type as I finish a
>   stable revision of it, MAGIC does not find this easy !! (:-) Does
>   anyone know why MAGIC tries to write cells that haven't been changed ?

The general consensus seems to be that MAGIC writes cells with a new timestamp
if the cell importing them has changed. This allows it to keep its internal
timestamps coherent, even though the imported subcells may not actually have
been changed. For a large chip (read complicated), sccs and Make (1) can help
tremendously, and it's a pity that MAGIC, designed for UNIX (so I'm told)
fights the normal UNIX ways of revision control & the like. It could easily
have used some sort of index file for its internal revision control.

The main reason that MAGICs frequent updating for timestamps ONLY, interferes
with Make, is that Make may try to resimulate a cell when it hasn't actually
been changed.

In any case, the drc status of a cell can be (mostly) tracked by it's UNIX
timestamp, and I can always do a drc : check. Another problem is that MAGIC
also checks this for drc errors in the importing cell. I don't understand why
it then has to do this in the subcell (if it's drc check from before is OK),
since the drc errors refer to the IMPORTING cell.

>   Secondly can anyone tell me what, exactly, that damnable message
>   "500 rects" refers to ? MAGIC issues it about some cells from time
>   to time, with no explanation available. (And why is it always 500 ?)

Appearently, because MAGIC is so slow, it issues a message every 500
rectangles to inform you that it hasn't gone dead. Now, if only MAGIC
didn't lock up Sunview while DRC checking .....

Someone has said that it is useful to be able to hack the .mag files to do
things like large label name edits and I have often done this myself;
for example, to put external labels over subell labels with the same names,
so that cell_0/BusA becomes BusA0 in the importing cell. This isn't what
you're supposed to do, but MAGIC provides no "legitamate" way of doing it,
save an almost useless kludge in the netlist tool (YOU try and place the
box to 1um precision over a 1.1mm high CPU datapath (:-).

Someone informed me of the existance of MAGIC version 6 and also of
a system - also from Berkeley - called OCT that may replace MAGIC. Please,
could somebody tell me more about them, are they Public Domain and if not
then how much do they cost to get. Even an e-mail address for the right
people to ask would be appreciated !

Anyway, thanks to everyone for your help. Maybe in a years time, I'lbe using
something better.

Regards,
Martin.

-- 
  -   /|  . . JCXZ ! MOVSB ! SGDT ! iAPX ! | "Good morning Citizens. I would
  \`O.O' .    Martin Howe, Microelectronics|  remind you that Armed Robbery
  ={___}=     System Design MSc, Brunel U. |  is illegal in Megacity One." - JD
   ` U '      Any unattributed opinions are mine -- Brunel U. can't afford them.