Home > Community > Forums > Custom IC SKILL > how to generate ASSURA DRC error report that shows which instance has error?

Email

* Required Fields

Recipients email * (separate multiple addresses with commas)

Your name *

Your email *

Message *

Contact Us

* Required Fields
First Name *

Last Name *

Email *

Company / Institution *

Comments: *

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

Last post Tue, Jun 15 2010 4:37 AM by Quek. 8 replies.
Started by llobak 30 May 2010 09:43 PM. Topic has 8 replies and 2956 views
Page 1 of 1 (9 items)
Sort Posts:
  • Sun, May 30 2010 9:43 PM

    • llobak
    • Top 500 Contributor
    • Joined on Fri, Aug 21 2009
    • Melaka, Melaka
    • Posts 19
    • Points 320
    how to generate ASSURA DRC error report that shows which instance has error? Reply

    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

    • Post Points: 20
  • Sun, May 30 2010 11:20 PM

    • Quek
    • Top 10 Contributor
    • Joined on Wed, Oct 14 2009
    • Singapore, 00-SG
    • Posts 1,083
    • Points 16,480
    Re: how to generate ASSURA DRC error report that shows which instance has error? Reply

    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

    • Post Points: 20
  • Mon, May 31 2010 6:20 PM

    • llobak
    • Top 500 Contributor
    • Joined on Fri, Aug 21 2009
    • Melaka, Melaka
    • Posts 19
    • Points 320
    Re: how to generate ASSURA DRC error report that shows which instance has error? Reply

     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

    • Post Points: 20
  • Tue, Jun 1 2010 4:43 AM

    • Quek
    • Top 10 Contributor
    • Joined on Wed, Oct 14 2009
    • Singapore, 00-SG
    • Posts 1,083
    • Points 16,480
    Re: how to generate ASSURA DRC error report that shows which instance has error? Reply

    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
    • Post Points: 20
  • Mon, Jun 7 2010 12:14 AM

    • llobak
    • Top 500 Contributor
    • Joined on Fri, Aug 21 2009
    • Melaka, Melaka
    • Posts 19
    • Points 320
    Re: how to generate ASSURA DRC error report that shows which instance has error? Reply

     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

    • Post Points: 20
  • Fri, Jun 11 2010 7:16 AM

    • Quek
    • Top 10 Contributor
    • Joined on Wed, Oct 14 2009
    • Singapore, 00-SG
    • Posts 1,083
    • Points 16,480
    Re: how to generate ASSURA DRC error report that shows which instance has error? Reply

    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

    • Post Points: 20
  • Mon, Jun 14 2010 5:55 PM

    • llobak
    • Top 500 Contributor
    • Joined on Fri, Aug 21 2009
    • Melaka, Melaka
    • Posts 19
    • Points 320
    Re: how to generate ASSURA DRC error report that shows which instance has error? Reply

     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

    • Post Points: 20
  • Tue, Jun 15 2010 1:22 AM

    • Quek
    • Top 10 Contributor
    • Joined on Wed, Oct 14 2009
    • Singapore, 00-SG
    • Posts 1,083
    • Points 16,480
    Re: how to generate ASSURA DRC error report that shows which instance has error? Reply

    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

    • Post Points: 5
  • Tue, Jun 15 2010 4:37 AM

    • Quek
    • Top 10 Contributor
    • Joined on Wed, Oct 14 2009
    • Singapore, 00-SG
    • Posts 1,083
    • Points 16,480
    Re: how to generate ASSURA DRC error report that shows which instance has error? Reply

    Hi SL

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

    avParameters(
       ?expandUniqueCells nil
    )

    Best regards
    Quek

    • Post Points: 5
Page 1 of 1 (9 items)
Sort Posts:
Started by llobak at 30 May 2010 09:43 PM. Topic has 8 replies.