Exporting to GDSII Format in MOSIS Design Process
The following is designed as a procedure for exporting a chip layout using the cmrf8sf technology in Cadence from the .cds file format to the .gds file format.
Preliminary Setup
- Create a new empty directory into which you will place your .gds file that will be sent to MOSIS.
The cleaner the library setup, the easier changing settings will be so if possible, move all necessary instances to a single users library (not necessary, but perhaps helpful).
- Do NOT flatten the final design. MOSIS requires a hiererachical design because the flattened design will be too large (~1GB).
- Check that all libraries from which hiererachical instances are taken are scaled to the same units. If not automatically set, this can be changed selecting the desired library, right-clicking on it and then choosing Properties.
- Select EXPAND from the Properties window
- Change the units as shown below.
Run Checks
- Run DRC with the appropriate switches set (BEOL_STACK_323, GridCheck, Ext_Latchup). There will likely be #INFO errors, but these are no problem.
- Run LVS with the appropriate switches set (NO_SUBC_IN_GRLOGIC). This should return a complete match with no errors except those that are completely understood. This checks the layout wiring against the schematic.Run Line Mode & Orthogonality Check. This needs to be clean to proceed.
- Run global density check (via Assura DRC, using global.rul as rules file). This ensures that each layer is within the minimum and maximum allowed coverage area. See design manual for specifications.
- Run local density check (via Assura DRC, using local.rul as rules file).
- If possible run Calibre DRC. This is particularly useful to check the previous global and local density results. Many more errors may appear than from Assura DRC, but pay attention to the metal density errors. If Assura DRC passed cleanly, then ONLY pay attention to the metal density errors from Calibre. We had specific problems with the E1 (given by GRE2 error) and LY (GR6LY) metal layers.
- NOTE: Assura DRC, LVS and RCX run information are documented here.
Export Streaming
- In the icfb command buffer go to File > Export > Stream. Do NOT change the Run directory. Set Library Name to whichever library the final layout is coming. Set the Top Cell Name to whichever the final layout name is. Change the Output File to whatever you want it to be called (e.g. Final.gds). Change the Scale UU/DBU = 0.01 and Units = micron.
- Under the User-Defined Data button the appropriate path must be typed for Layer Map Table. This should a file that is of the form cds2gds.map. The file we used:
/net/sw/mosis/IBM_PDK/cmrf8sf/V1.6.0.3DM/cdslib51/cmrf8sf/cds2gds.map
- Under the Options button, the default settings should not be changed but make sure the Snap XY to Grid Resolution option is NOT checked. We ran in to trouble when selecting this option- it subtlety messed up our layout, leading to many DRC errors upon re-importing the .gds file. Check the Precision Report button to be included (MOSIS recommends this, not sure what it does). Change the Reference Library List to cmrf8sf (or whichever tech file you are using). You will get a number of warnings (~80 or so), most of which deal with unused layers, that will not negatively affect the export process.
- Click OK
- This should output a .gds file into the Run Directory library. This is a binary file and cannot be viewed. It is the file of the final design that you will send to MOSIS. This file should be on the order of ~5MB for a large chip. You should re-import this file to check its fidelity (next section: Import Streaming).
Import Streaming
- In the icfb command buffer go to File > Import > Stream. Do NOT change the Run Directory. Browse for the desired .gds Input File. Change the Top Cell Name to whatever you call the final layout design (this is not a .gds or .cds file). Change the Library Name to a new library you can access the layout from for checking. Change the Scale UU/DBU = 0.01 and Units = micron.
- Under the User-Defined Data button the appropriate path must be typed for Layer Map Table. This should a file that is of the form gds2cds.map and should be found in the same directory as the previous cds2gds.map file used for exporting.
- Under the Options button, the default settings should not be changed but ensure that the Snap XY to Grid Resolution option is NOT selected. Check the Precision Report button to be included. Change the Attach Techfile Of Library to cmrf8sf (or whichever tech file you are using).
- Click OK
- This should output a new layout design in the library assigned above. This is the layout design that MOSIS will be checking to confirm the aptitude of your design. Expect a couple of normal warnings for a successful import. It is a good idea to re-run the checks in ‘run checks’ section before submission to ensure your .cds to .gds conversion went smoothly.
Sending to MOSIS
- If MOSIS replies with errors concerning design aspects you must change (e.g. “baldspots in E1, LY layers”) that did not appear as errors in your Assura DRC check then run Calibre DRC to find these errors. This is the check they run on the design after they extract it from the .gds file.
- The IBM process will fill PC and RX layers to meet specifications, so do not attempt to fill these. You are responsible to meet local/global density requirements for all higher metals: MA, LY, E1, etc.
- MOSIS provides a program (for Windows) called mosiscrc.exe that can be used to calculate the checksum and count of the gds file submitting. Copy the .gds file to the windows computer and run this program to generate the checksum and count. Syntax is mosiscrc -b file.gds.
- Enter the checksum and count on the submission webpage from MOSIS.
- Now right-click on the gds file and select Send To > Compressed File. This will create a file.zip that will be sent to MOSIS. Enter the name of this file on the submission webpage from MOSIS.
- After everything else on the submission webpage has been completed, ftp the file to MOSIS. Instructions will be shown after the submission page has been sent.
- If the file is rejected for the wrong name or checksum, cancel the submission and then resubmit with the proper info.