MAGIC Magic Mailing List
 
 

From: Andrew Lines (lines AT avlsi DOT com)
Date: Tue Apr 25 2000 - 02:09:45 EDT


I take it I've now been added to the Magic mailing list?  Thanks Rajit!

Our approach to the contact issue is to only use the CCC layer.  I
belive MOSIS offers a cif in/out style with a "c" in it which does the
same.   The advantage is that this corresponds better to the actual
masks.  The disadvantage is that if you read CIF you get a whole bunch
of generic contacts instead of pc,ndc,etc.  You can fix the DRC so that
these generate no errors.  As long as you don't expect to heavily edit
the resulting magic layout, this isn't really a big deal.

A neat trick is to make a tech file which has lambda=0.01um, separate
planes for all CIF mask layers, and no geometry processing of any
layers.  Viola, open source CIF editor!  We've been using this to
combine our own layout (based on SCN6M_DEEP rules) with an outside
vendor's pad library in GDS2 format.

One final issue for the Magic-dev community:  Has anybody figured out a
GOOD way to stack contacts?  Most modern processes with planarization
can have arbitrarily stacked and staggered contacts between all wiring
layers.  The problem is that contacts in Magic project a tile of contact
paint into all the planes that they span.  Therefore, two contacts can't
overlap on any planes because of Magic's data structure.  Strangely,
some contacts seem to overlap (pc and m123c) apparently because the
overlap occurs only between two image planes and not on either home
plane.  However, despite the fact that this configuration raises no
local DRC errors and generates correct CIF, the subcell DRC checker will
still flag it as a DRC error.  This is an inconsistency (BUG?) that
results from the 3-layer contacts.

The solutions to stacked contacts that we have explored involve:

1) The new MOSIS style generic contacts.  Versatile, but a pain to edit.

2) Half-generic contacts.  These don't actually use the Magic contacts
at all, but simply live as different paint in the lower plane, and also
have electrical connectivity to the upper plane.  You still need to
paint the upper metal layer, but there is less tedious editing than the
generic contacts, with no loss of versatility.  There is no need to
paint every cut or have metal overhangs.

3) A mixture of Magic-style and half-generic contacts.  You could use
the Magic contacts by default, and only use the others when you need
them to be overlapped.

Does anybody have any other ideas on how to introduce easily editable
stacked contacts to Magic,
either through clever tech files or a code patch?

Andrew Lines
Asynchronous Digital Design, Inc.






 
 
Questions? Contact Rajit Manohar
cornell logo