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.
|
|