• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Custom IC Design
  3. Poly layer density issue in the stream-out

Stats

  • Locked Locked
  • Replies 7
  • Subscribers 126
  • Views 18461
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Poly layer density issue in the stream-out

Amel
Amel over 13 years ago

Hi all, 

 

In order to cope with tsmc 0.18um requirements regarding poly and metal densities, I have used both dummy metals and dummy Poly to compensate the deficiency of my drawn metals and Poly in my design. By doing so, I achieved 0 DRC errors.
When I have exported my design to GDS and sent it to MOSIS  for  fabrication, I was surprised by the fact that the manufacturability review reveals a warning about poly1 density. I am confused since my design has passed the DRC with 0 errors.
So, I am wondering what could be the cause. is it possible that the dummy poly was not exported? Can anyone help me to overcome this problem?
Thanks in advance.
Amel.

 

  • Cancel
  • Quek
    Quek over 13 years ago

    Hi Amel

    Here are a few possible causes of the discrepancies:

    a. The poly fill was not exported together with the design due to bad layer mapping
    => Correct the layer map file and redo stream out

    b. The poly fill was created using the wrong fill type (e.g. type "dummy" instead of type "drawing") and was not recognized by the foundry sign-off drc deck
    => Re-create the fill using the correct fill type and re-export the gds file

    c. You are using a different verification tool from the foundry (e.g. you are using Assura/PVS and tsmc uses another tool)
    => Get detail information from foundry on the density errors which they have encountered

    d. The density rules in your rule deck are coded differently from those in the foundry sign-off rule deck (due to different tools). E.g. your deck does not use windowing but density of each windows are checked in the sign-off rule deck
    => Get detail information from foundry on the density errors which they have encountered

    e. You had run drc and gotten zero drc errors but had forgotten to enable the switch for density check
    => Enable density check and redo drc

    It would be best to first clarify with the foundry on the details of the density error. : )

    Best regards
    Quek

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Amel
    Amel over 13 years ago
    Hi Quek,

    Thanks for your reply.

    I will answer your later questions and go back to the first suggestion:

    b. The poly fill was created using the wrong fill type (e.g. type "dummy" instead of type "drawing") and was not recognized by the foundry sign-off drc deck

    - I have used the appropriate purpose of the layer Poly1 that is “dummy” for the fill layer.

    c. You are using a different verification tool from the foundry (e.g. you are using Assura/PVS and tsmc uses another tool)!

    - I am using Assura as PDK we got recommends Assura in its setting.  

    d. The density rules in your rule deck are coded differently from those in the foundry sign-off rule deck (due to different tools). E.g. your deck does not use windowing but density of each windows are checked in the sign-off rule deck

    - I don’t know about this.

    e. You had run drc and gotten zero drc errors but had forgotten to enable the switch for density check

    - The densities are checked in my of DRC run.  I have encountered already densities problem but when I have added dummy layers, theses errors disappear and all switches are checked in my DRC.

    a. The poly fill was not exported together with the design due to bad layer mapping

    - Can you tell me more about how to do it?

    Thanks.

    Amel.
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Quek
    Quek over 13 years ago

    Hi Amel

    The stream layer map file is named as "techlib.layermap" (e.g. tsmc018.layermap) in the technology library. You can check if "Poly1 dummy" is listed as one of the layers to export. Alternatively, you can import the gds file and check if the imported layout contains poly1 dummy shapes.

    I think the most important thing right now is to get detail information on the errors which your foundry is reporting. Otherwise you might not be doing the correct troubleshooting. : )

    Best regards
    Quek

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Amel
    Amel over 13 years ago

    Hi quek,

    I have checked the stream out part in the techfile, it does exist.

    I have also checked the PIPO.log I got after GDSII stream-out. " Statistics Of Layers" reveals that poly1 dummy was exported as it can be seen bellow:

    ********************************************************************************

    Product   : Virtuoso(R) STREAM Out

    Program   : @(#)$CDS: pipo.exe version 5.1.0 06/20/2007 02:43 (cicsun11) $

    SubVersion: sub-version 5.10.41_USR5.90.69

    Started at: 08-Apr-2012  11:20:42

    User Name : chenouf

    Host Name : sapphire

    Directory : /home/chenouf/BTS_Strs

    CADENCE Design Systems, Inc.

    ********************************************************************************

     

                            Statistics Of Layers

     

     

    Cadence    Cadence    Stream   Stream

     Layer     Purpose    Layer   Datatype Rectangles Polygons Paths  Ellipses  Labels   Nodes

    -------------------------------------------------------------------------------------------

    METAL1     slot       16        2         0        0        396      0        0        0       

    PIMP       drawing    7         0         416      4        0        0        0        0       

    METAL6     drawing    38        0         3        107      0        0        0        0       

    METAL2     slot       18        2         0        0        3468     0        0        0       

    METAL2     drawing    18        0         86       0        0        0        0        0       

    METAL4     drawing    31        0         1        0        0        0        0        0       

    METAL6     slot       38        2         3624     0        0        0        0        0       

    METAL5     dummy      33        1         334      0        0        0        0        0       

    WELLBODY   drawing    103       0         30       0        0        0        0        0       

    METAL4     slot       31        2         0        0        3460     0        0        0       

    NIMP       drawing    8         0         421      8        0        0        0        0       

    POLY1      dummy      13        1         168      0        0        0        0        0       

    IP         drawing    63        63        0        0        0        0        917      0       

    VIA56      drawing    39        0         31797    0        0        0        0        0       

    CONT       drawing    15        0         18765    0        0        0        0        0       

    METAL5     drawing    33        0         30       102      0        0        0        0       

    CONT       pin        15        1         76       0        0        0        0        0       

    ref        drawing    0         0         0        0        0        0        3        0       

    VIA23      drawing    27        0         6615     0        0        0        0        0       

    PAD        drawing    19        0         1        0        0        0        0        0       

    METAL2     dummy      18        1         346      0        0        0        0        0       

    METAL3     dummy      28        1         345      0        0        0        0        0       

    LUPWDMY    drawing    255       1         178      0        0        0        0        0       

    DIFF       drawing    3         0         1296     272      0        0        0        0       

    LOGO       drawing    178       0         314      0        0        0        0        0       

    NWELL      drawing    2         0         176      0        0        0        0        0       

    METAL3     slot       28        2         0        0        3420     0        0        0       

    METAL3     drawing    28        0         1        0        0        0        0        0       

    METAL6     dummy      38        1         543      0        0        0        0        0       

    METAL1     drawing    16        0         1259     1121     0        0        4        0       

    METAL5     slot       33        2         63       0        3440     0        0        0       

    VIA34      drawing    29        0         6613     0        0        0        0        0       

    VIA12      drawing    17        0         6675     0        0        0        0        0       

    VIA45      drawing    32        0         6615     0        0        0        0        0       

    POLY1      drawing    13        0         641      265      3        0        0        0       

    METAL4     dummy      31        1         346      0        0        0        0        0       

     

     

       Summary Of Objects

     

    ------------------------

       87778 Rectangles

        1879 Polygons

       14187 Paths

           0 Ellipses

         924 Labels

        1698 Instances

           0 Arrays

         189 Cells

           0 Nodes

     

     

    00:00:05 Elapsed time

    00:00:03 CPU time

     

       53533 Kbytes of memory

     

    *** There were 0 error and 2 warning messages ***

     

    The setup file's contents :

     

    streamOutKeys = list(nil

    'runDir "."

    'libName "lib_strs"

    'primaryCell "BTS_Structures"

    'viewName "layout"

    'outFile "/home/chenouf/Desktop/BTS_Structures.gds"

    'scale 0.001000

    'units "micron"

    'compression "none"

    'hierDepth 32

    'convertToGeo nil

    'maxVertices 200

    'refLib nil

    'libVersion "5.0"

    'checkPolygon nil

    'snapToGrid nil

    'simMosaicToArray t

    'caseSensitivity "preserve"

    'textCaseSensitivity "preserve"

    'lineToZeroPath "path"

    'convertDot "ignore"

    'rectToBox nil

    'convertPathToPoly nil

    'keepPcell nil

    'replaceBusBitChar nil

    'useParentXYforText nil

    'reportPrecision nil

    'runQuiet nil

    'comprehensiveLog nil

    'ignorePcellEvalFail nil

    'translateTopDown nil

    'errFile "/home/chenouf/Desktop/PIPO.LOG"

    'NOUnmappingLayerWarning nil

    'techFileChoice nil

    'pcellSuffix "DbId"

    'respectGDSIILimits nil

    'dumpPcellInfo nil

    'genListHier nil

    'cellMapTable ""

    'layerTable ""

    'textFontTable ""

    'convertPin "geometry"

    'pinInfo 0

    'pinTextMapTable ""

    'propMapTable ""

    'propSeparator ","

    'userSkillFile ""

    'rodDir ""

    'refLibList ""

    )

     
    So, thanks again for your help. 
    Amel. 

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Amel
    Amel over 13 years ago

    Hi all,

    I sent both my design DRC &  PIPO logfiles (for GDS2 stream-out) to Mosis service 

    and it seems that  "Manufacturability Review does not handle Poly or

    OD dummy (fill) -- just the metal fill layers. Your OD and Poly dummy

    fill _will_ be manufactured; it just isn't being counted in our initial

    density measurement.

    It is on our list of things to fix, but, until that happens, you'll just have

    to ignore the warning(s) if you know that your filled layout is OK."

    I am releaved now and the issue is resolved.

    Amel.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Quek
    Quek over 13 years ago

    Hi Amel

    Thank you very much for sharing the information. : )

    Best regards
    Quek

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Amel
    Amel over 13 years ago
    Hi Quek,

    You‘re welcome!

    Amel.
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information