Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

How can you use Mentor Calibre to flatten a hierarchical DRC database?

Status
Not open for further replies.

majd229

Member level 2
Joined
Jul 21, 2017
Messages
44
Helped
0
Reputation
0
Reaction score
0
Trophy points
6
Activity points
392
Hello,

When I run DRC -hier, I get a rule violation markers database hierarchically. The DB shows exactly in which subcells each violation is in, along with properties such as the rotation factor, x/y shift, how many times they occur, etc, that you would need to use to promote the violation marker into the topcell.

Now, I want to use calibre to read this database, run some commands, and print out a new database flattened. This means that the new database will contain ALL the violation in the topcell.

For example, in the DRC -hier report,let's say for RuleX I get violations:
RuleX......5(24)

This means that i have 5 violations hierarchically, and 24 violations flat.

I want to take the hier DRC database which contains just the 5 violation markers (with their properties and subcells), and convert it to a flat one, that contains all 24 markers in the topcell.

Is that possible?

I tried:
set L [layout create DRC_RES_hier.db -preserveProperties -dt_expand]
$L rdbout flattened.rdb -cell myTopcell -layers [$L layers] -properties

(note, for the second command I am not using the -hier option, which ignores the hierarchy). The output of these commands is an RDB with MANY MANY more markers, however, they all repeat for some reason. At the end, it still only contains the 5 markers only, but the DB have them repeated multiple times for some reason, so im still not getting my 24 markers.

Please help!

thank you!
 

Try this DRC Runset option
*drcCellName: 0
 

Try this DRC Runset option
*drcCellName: 0

I'm the tech file? I'll check it out soon but that still will only give me a DB with hier count markers (ie. Not the flat DRC marker count).

I want both DBs, flat and heir, not just one of them. But I also don't want to RUN DRC twice (ie. Separate hier and flat runs).
 

Setting drcCellName to 0 is probably going to cause only one instance of a hierarchical cell to be reported (but yes, using top-cell coordinates). Probably not what you want.

For the batch command approach, you probably don't want to use -dt_expand with a results file. The manual describes it as " The -dt_expand argument ensures each layer and datatype combination is mapped to a different layer in the new layout. " Each of the results is going to count as a layer/datatype combo, I suspect. I asked someone more knowledgable than me and he said he was surprised it doesn't error out and "what it does to the output is anybody's guess."

What happens if you stick to the options listed for "layout create (ASCII RDB)" in the DESIGNrev manual?
 

Setting drcCellName to 0 is probably going to cause only one instance of a hierarchical cell to be reported (but yes, using top-cell coordinates). Probably not what you want.

For the batch command approach, you probably don't want to use -dt_expand with a results file. The manual describes it as " The -dt_expand argument ensures each layer and datatype combination is mapped to a different layer in the new layout. " Each of the results is going to count as a layer/datatype combo, I suspect. I asked someone more knowledgable than me and he said he was surprised it doesn't error out and "what it does to the output is anybody's guess."

What happens if you stick to the options listed for "layout create (ASCII RDB)" in the DESIGNrev manual?

Hi, you're right. With the -dt expand, my result rdb had MANY MANY more markers but all at the same location of the original 4 markers.

When i turned off that option, my result rdb now is flattened, but the count is now exactly 4 (the actual hierarchical count), it didnt multiply them and output the flattened count. Any idea what to do from here? The original DRC DB has information about the flat count, mirroring, shifting, etc. Why doesnt it use that information to expand all the hier markers to flat count markers?

EDIT:::
My bad, i was using a wrong DRC DB for input.
My output rdb is still the same as my original post, when i turned off -dt_expand. It outputs about 1000 markers now, all which overlap to make the 4 hierarchical markers only.
 
Last edited:

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top