• 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 SKILL
  3. how to generate ASSURA DRC error report that shows which...

Stats

  • Locked Locked
  • Replies 8
  • Subscribers 144
  • Views 16378
  • 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

how to generate ASSURA DRC error report that shows which instance has error?

llobak
llobak over 15 years ago

Hi,

 I would like to generate a ASSURA DRC error report  using SKILL. i've managed to do it by reading the *.err file. But I hope to refine my report by specified which instance in my layout that has DRC error. Can anyone give me some guide? Thanks.

 

Example: in my layout i have instance A, B, and C. If only instance C has DRC error, how can i make my report to show that instance A and B are clean but C is dirty?

 

Thanks,

SL

  • Cancel
  • Quek
    Quek over 15 years ago

    Hi SL

    Unfortunately, as of the latest version Assura41USR1_HF8, it is not possible to output the instance name together with the errors. The name of the cell containing the error is listed the err file and since all instances of the cell would have the same error, perhaps you can simply search the layout for all instances of the cell. This can be a workaround. E.g. for a simple top level search, we can have:

    instList=list()
    cv=geGetWindowCellView()
    foreach( inst cv~>instances
       if( inst~>cellName=="myErrorCell" then
          instList=cons(inst~>name instList)
       ) ;if
    ) ;foreach
    printf("Instances %L has drc error xyz\n" instList)

    Best regards
    Quek

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • llobak
    llobak over 15 years ago

     Hi Quek,

     Thanks for your advice! So unfortunate to know latest ASSURA cannot output the instance name together with the errors.

    But i not very understand your workaround. Lets take my test case as an example. Let my test case be layout A, inside my layout A, i have 3 instances A1, A2, and A3. After I run ASSURA DRC on A, the *.err file only shows the cell name A and the coordinate of the errors. So what I don't understand here is how you get the cell list for myErrorCell? 

     I have a workaround in my mind which make my program to read the errors coordinate and search the instance name at the coordinate. My instances are not overlapping each other so I think i can do that, but I hope that I can straight away get my solution through ASSURA DRC because I would like to keep my run time short.

     Regards,

    SL

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

    Hi SL

    It might be that your instances A1, A2 and A3 are quite small and hence were automatically flattened by Assura for more efficient hierarchy handling. You can disable small cell flattening by using the avFlattenCell procedure which can be accessed from the DRC form. For hierarchical drc, the names of the subcells will be included in the err file. Try using some larger subcells and I think you will be able to see their cellnames.

    I assumed that you must have already written the codes to parse through the err files for all the coordinates and cellnames. The error cell list will have to come from there.

    Since your layout only consists of non-overlapping instances, then perhaps you can also use dbGetOverlaps cmd to find the instances.

    Best regards
    Quek
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • llobak
    llobak over 15 years ago

     Hi Quek,

    Thanks for your help. I've tried the avFlattenCell but still i could not make it to not to flatten the instances that I have. my avFlattenCell procedure as below:

    procedure( avFlattenCell(cellName width height numShapes numInsts)

    prog(()

    return()

    );prog

    );procedure

    Is there anything wrong with my avFattenCell? this procedure will be added in my rsf file right?

     

    Thanks,

    SL

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

    Hi SL

    Sorry for the late reply. Your avFlattenCell procedure looks fine. It will be added to your rsf file which you can view by pressing the "View rsf" button. Would you please retry using the latest version of Assura and see if the problem still occurs? May I also have the following info?

    a. Length and width of any of your instances that was flatten
    b. Number of devices in the instance

    Thanks
    Quek

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • llobak
    llobak over 15 years ago

     Hi Quek,

     

    I can view the rsf file by pressing the button and the avFlatten function is there.

     

    For the information that you request:

    a) all of my instances are being flatten, basically all of my instances are standard cells which is quite small.

    b) number of device can be different for each cell but since it's standard cell so the device is not much.

     

    I've tested a test case and i can get the instances not flatten

    for the 600++ cells in my layout. i duplicate them( making each instance exist twice in my layout) and with this method only I'm able to make ASSURA not flatten my cells.

    it feel strange for me because it suppose to not flatten my cells even though my instance only exist once in my layout. Can you help me to resolve this? Do you know why the avFlattenCell will only works when there's more than 1 same instance in my layout?

     

    Thanks,

    SL

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

    Hi SL

    Your observations are correct. I will find out more and let you know. In the meantime, would you please use ?preserveCells cmd as a workaround? You can use "*" wildcard in the cmd.

    Best regards
    Quek

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

    Hi SL

    Unique cells will always be expanded. This can be disabled using the following:

    avParameters(
       ?expandUniqueCells nil
    )

    Best regards
    Quek

    • 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