CRCells: fixing DRC errors 1. Introduction I've decided to clean up the design rule violations in the CrossRAM04's CRCells.dale. (I recently did a similar thing to CrossRAM03's assembly layout, for the recent VTI run.) The old file is retained in the df file, as CRCells17Nov86.dale, just in case. (Note: the file CrossRAMCellLibrary.dale, also in the df file, is a still older version of CRCells17Nov86.dale.) I used Spinifex to check for design rule violations. Since Spinifex doesn't check all rules (e.g., nwell surrounds nwell contact by 4 lambda), there might still be some design rule violations. 2. Cells The following subsections list the cells I edited to fix design rule violations. I didn't change any interest rectangles, but in several cases I extended nwell beyond the interest rectangle. 2.1. DecoderDriverStackBit and DecoderDriverTreeBit This cell contained two examples of an nwell contact 3 micons from a drain in both x and y. Rather than argue, I moved the contact. 2.2. DecoderStitch Enlarged drawn nwell to surround n+ by 4 lambda. 2.3. DecoderZero and DecoderOne I extended drawn nwell to the lower edge of the cell, so that when two such cells abut p-ends, they don't cause an nwell spacing violation. 2.4. DecoderRight I extended drawn nwell, as in DecoderZero and DecoderOne. This fixed an nwell width violation. Also removed a redundant piece of drawn nwell. 2.5. DecoderLogicHalf I moved two transistors at left towards centerline one lambda, to fix a problem with an nwell contact being 3 lamba from a drain. Added drawn nwell, to avoid some nwell width and spacing violations. Added poly to bridge two poly shapes that were connected in the containing cell. Added pdif and metal to connect an nwell contact and pdif that were previously connected only in the containing cell. 2.6. DecoderLogic Minor edits to track changes in DecoderLogicHalf. 1. Connected to moved transistors. 2. Removed nwell that is now redundant. 3. Removed poly that is now redundant. 4. Removed pdif and metal that is now redundant. 2.7. BottomRight Fixed nwell width violation by enlarging drawn nwell to surround n+ by 4 lambda. 2.8. PrechargeStich (sic) Enlarged drawn nwell to surround n+ by 4 lambda. 2.9. PrechargeSlice Enlarged drawn nwell to surround n+ by 4 lambda. Fixed two cut-to-cut spacing errors by moving two split contacts. 2.10. BottomDecoderRight Enlarged drawn nwell to surround n+ by 4 lambda. 2.11. DecoderLogicDriver Enlarged drawn nwell to surround n+ by 4 lambda. Removed three split contacts that were causing spacing violations between nwell-contacts and drains. 2.12. And3 Fixed cut-to-cut violation. Enlarged drawn nwell to surround n+ by 4 lambda. (Two locations.) 2.13. DecoderLeft I extended drawn nwell, as in DecoderZero and DecoderOne. Enlarged drawn nwell to surround p+ by 5 lambda. 2.14. NPADDRIVER Removed split contact that was causing spacing violation between substrate contact and drain. Added metal strap on bottom of cell, over substrate guard ring. (Already strapped in containing cell.) 2.15. -REPITITION- Automatically fixed by fix to NPADDRIVER 2.16. BigNDriver Automatically fixed by fix to NPADDRIVER. 2.17. PPADDRIVER Removed split contact that was causing spacing violation between nwell contact and drain. Added metal strap on top of cell, over nwell guard ring. (Already strapped in containing cell.) 2.18. BidirectionalPadCommon Well width violations fixed by extending nwell. Enlarged drawn nwell to surround n+ by 4 lambda. (Two locations.) Deleted nwell contact to fix cut-to-cut violation. Moved another nwell contact for same reason. Removed four split contacts that were causing spacing violation between substrate contact and drain. Deleted isolated pwell contact diffusion under pad. 2.19. BufferPadPs Moved leftmost transistor right 1/2 lambda, to fix spacing violation ndif to pdif. Enlarged drawn nwell to surround n+ by 4 lambda. 2.20. Logo The contents of this cell contain many design rule violations, which I'll ignore. 2.21. INPUTPAD Removed split contact that was causing spacing violation between substrate contact and drain. Enlarged drawn nwell to surround n+ by 4 lambda. 3. Schematic Stuff Hopefully, this section is only temporary. To get around a newly-added feature in the extraction software, I made edits to the following schematic cells: BasicPad.icon BidirectionalPad.icon DifferentialInputPad.icon InputPad.icon The feature is that if a wire touches more than one side of the interest rectangle, the extraction software bombs then and there. Rick will check to see if the extraction software's feature should be retained. If not, then these cells should be changed back to their former states. This can be done by deleting the metal2 rectangles in them. dCRCells.tioga Hoel, December 11, 1986 6:58:35 pm PST Hoel, December 10, 1986 6:13:06 pm PST ΚR˜J™4J™J™&Ititle˜head˜IbodyšœHΟb œ¬˜€MšΟkΠbkžl˜qM˜4M˜‹—˜ M˜Ώ˜4M˜„—˜M˜0—˜ M˜‹—˜M˜—˜M˜M˜DM˜PM˜u—˜˜1Iitem˜#N˜(N˜'N˜1——˜M˜P—˜M˜0—˜M˜0M˜A—˜M˜0—˜M˜0M˜d—˜ M˜M˜B—˜M˜k—˜M˜]M˜g—˜M˜(—˜M˜)—˜M˜YM˜`—˜M˜/M˜BM˜`M˜dM˜3—˜M˜RM˜0—˜ M˜Q—˜M˜]M˜0——˜M˜*˜nN˜ N˜N˜N˜ —M˜Ψ——…—Έn