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?
Hi SLUnfortunately, 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) ;foreachprintf("Instances %L has drc error xyz\n" instList)Best regardsQuek
In reply to 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.
In reply to llobak:
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)
Is there anything wrong with my avFattenCell? this procedure will be added in my rsf file right?
Hi SLSorry 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 flattenb. Number of devices in the instanceThanksQuek
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?
Hi SLYour 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 regardsQuek
Hi SLUnique cells will always be expanded. This can be disabled using the following:avParameters( ?expandUniqueCells nil)Best regardsQuek