Robertt
Junior Member level 3
gdsii file
Dear all,
I am trying to generate GDSII file from my layout. I use NCSU_CDK Ami06u C5N library to design the circuit and layout in Cadence.
My question is before I generate the GDSII file, should I scale it?
In mosis website, it says:
8.0 Scaling to Microns, and Tapeout
Assuming that the layout (in lambda) is found in a library named "Q", the following recipe will do the job, most of the time:
Check that all layout is contained in library "Q". If there are references (instances of layout) to some external library, then just scaling "Q" will not scale the complete layout. If multiple layout libraries are involved, one workaround is to tapeout library "Q" to a stream file, so that referenced cells in other libraries are copied into the stream file with it. Then, read the stream file back into a new library; this time the new library should be self-contained, so scale the new library rather than "Q".
(CIW) Tools -> Library Manager; in the Library Manager, select "Q" (but don't select any cell), then Edit -> Copy.
When the Copy Library form appears, select a new name, say "Qcopy", then be sure to set the Update Instances box, then hit "OK".
In the dialogue which follows, you will be asked to specify a technology file for the new "Qcopy". For MOSIS kits, the technology file for a scaled library is made by making a single change to the technology file for an unscaled (lambda) library: find parameter "postScale" (value normally 1.0) and replace that value by whatever the value of "lambda" is (one or two lines directly above, in the file). This is the "scaled" technology file. Prepare that text file, and give its name in this dialogue box. Copying will now complete.
When the library has been completely copied, do not open it; instead, in a command line window external to Cadence, give the command "scale". Library is "Qcopy", View name is "layout", and DBUPerUU is the integer closest to the value you used for "postScale" above (now equal to the value of "lambda"), times a factor of 1000. So for lambda = 0.12, you would enter 120 here. Scaling of all cells in "Qcopy" will proceed. At the next "Library" prompt, hit newline to exit.
Now in the Library Manager, select Library "Qcopy" using the center mouse button, then select Properties from that pulldown menu. In the line "DBUPerUU" you will see a box "EXPAND", select this. A second window will appear with field "maskLayout" equal to whatever the integer was you entered when you gave the "scale" command. Change this to 1000 (the standard DBUPerUU for layout in Virtuoso is 1000). Hit OK to both boxes and exit.
Open your top-level cell in "Qcopy", and use the Ruler to measure the dimensions of your design. It should now be reading out in correct microns.
Tapeout is from (CIW) File -> Export -> Stream. GDS2 Stream is always the MOSIS-recommended output format from Cadence. Library name is "Qcopy", state the top cell name as necessary (else the entire library is copied), choose an output name with suffix ".gds", then select "User-Defined Data". For Layer Map Table, an external mapping table is recommended, for example "MosisTapeout.layermap", which removes layers superfluous to MOSIS. (An example of a superfluous layer, which MOSIS does not need to see, would be a resistance recognition layer for intrinsic poly.) Then select "Options": in this window MOSIS recommends "Convert Simple Mosaic to Array" on, "Case Sensitivity" set to "preserve", and be sure that the "Hierarchy Depth Limit" and the "Maximum Vertices in Path/Polygon" are sufficiently large for your design. Select "OK" in all windows to begin tapeout.
When streamout is complete, check the LOG file for the copy (default name is PIPO.LOG) and watch for any errors or warnings. Typical warnings are that there are features which were not taped out, because there was no mapping for them in the layer map file. Be sure that the unwritten data is not essential to fabrication. Note that if you are using streamout for archiving purposes, you should use a more complete layer-mapping file than you would use for tapeout. Otherwise, information will be lost. MOSIS kits have multiple layermaps, and "localExport.layermap" will usually work well for local archiving.
But I when I draw the layout, I never use the unit of lambda, I use micron as the unit, and I cannot find the technology file with the "postScale" parameter in NCSU Design Kit. I am really confused.
Thank you very much.[/quote]
Dear all,
I am trying to generate GDSII file from my layout. I use NCSU_CDK Ami06u C5N library to design the circuit and layout in Cadence.
My question is before I generate the GDSII file, should I scale it?
In mosis website, it says:
8.0 Scaling to Microns, and Tapeout
Assuming that the layout (in lambda) is found in a library named "Q", the following recipe will do the job, most of the time:
Check that all layout is contained in library "Q". If there are references (instances of layout) to some external library, then just scaling "Q" will not scale the complete layout. If multiple layout libraries are involved, one workaround is to tapeout library "Q" to a stream file, so that referenced cells in other libraries are copied into the stream file with it. Then, read the stream file back into a new library; this time the new library should be self-contained, so scale the new library rather than "Q".
(CIW) Tools -> Library Manager; in the Library Manager, select "Q" (but don't select any cell), then Edit -> Copy.
When the Copy Library form appears, select a new name, say "Qcopy", then be sure to set the Update Instances box, then hit "OK".
In the dialogue which follows, you will be asked to specify a technology file for the new "Qcopy". For MOSIS kits, the technology file for a scaled library is made by making a single change to the technology file for an unscaled (lambda) library: find parameter "postScale" (value normally 1.0) and replace that value by whatever the value of "lambda" is (one or two lines directly above, in the file). This is the "scaled" technology file. Prepare that text file, and give its name in this dialogue box. Copying will now complete.
When the library has been completely copied, do not open it; instead, in a command line window external to Cadence, give the command "scale". Library is "Qcopy", View name is "layout", and DBUPerUU is the integer closest to the value you used for "postScale" above (now equal to the value of "lambda"), times a factor of 1000. So for lambda = 0.12, you would enter 120 here. Scaling of all cells in "Qcopy" will proceed. At the next "Library" prompt, hit newline to exit.
Now in the Library Manager, select Library "Qcopy" using the center mouse button, then select Properties from that pulldown menu. In the line "DBUPerUU" you will see a box "EXPAND", select this. A second window will appear with field "maskLayout" equal to whatever the integer was you entered when you gave the "scale" command. Change this to 1000 (the standard DBUPerUU for layout in Virtuoso is 1000). Hit OK to both boxes and exit.
Open your top-level cell in "Qcopy", and use the Ruler to measure the dimensions of your design. It should now be reading out in correct microns.
Tapeout is from (CIW) File -> Export -> Stream. GDS2 Stream is always the MOSIS-recommended output format from Cadence. Library name is "Qcopy", state the top cell name as necessary (else the entire library is copied), choose an output name with suffix ".gds", then select "User-Defined Data". For Layer Map Table, an external mapping table is recommended, for example "MosisTapeout.layermap", which removes layers superfluous to MOSIS. (An example of a superfluous layer, which MOSIS does not need to see, would be a resistance recognition layer for intrinsic poly.) Then select "Options": in this window MOSIS recommends "Convert Simple Mosaic to Array" on, "Case Sensitivity" set to "preserve", and be sure that the "Hierarchy Depth Limit" and the "Maximum Vertices in Path/Polygon" are sufficiently large for your design. Select "OK" in all windows to begin tapeout.
When streamout is complete, check the LOG file for the copy (default name is PIPO.LOG) and watch for any errors or warnings. Typical warnings are that there are features which were not taped out, because there was no mapping for them in the layer map file. Be sure that the unwritten data is not essential to fabrication. Note that if you are using streamout for archiving purposes, you should use a more complete layer-mapping file than you would use for tapeout. Otherwise, information will be lost. MOSIS kits have multiple layermaps, and "localExport.layermap" will usually work well for local archiving.
But I when I draw the layout, I never use the unit of lambda, I use micron as the unit, and I cannot find the technology file with the "postScale" parameter in NCSU Design Kit. I am really confused.
Thank you very much.[/quote]