Optimize design databases by deleting duplicate data

By James Paris – Mentor, A Siemens Business

Are you suffering from data inefficiency? Learn how you can remove data duplication and optimize your design database for greater accuracy, faster runtimes and more efficient resource use.

So, I hear you’re working on a new SoC design. Multiple teams all humming along, creating and iterating through their block designs like a hive of busy bees. At the same time, you’ve probably got IP coming in from both internal and external suppliers. I will bet you there is also a lot of data duplication in that SoC database, some of it intentional, some not. But all of it is contributing to overall database inaccuracy and inefficiency. You don’t want that, do you?

The intentional duplication is easy to understand. All those teams are trying to keep track of their own blocks, and ensure they don’t get changed by anyone else along the way. So they give them unique names, even though the contents may be exactly the same as many other blocks in the SoC. Unintentional duplication is, by its nature, a little less obvious. Typical examples include via cells or pcells that are duplicate references of the same cell placed within the same parent, at the same location. These duplicates are often “hidden” because the designer is viewing a two-dimensional layout.

But hey, how many of these duplicates can there be in a single database? Well, would you believe that the typical design database contains thousands to tens of thousands, but databases with millions of duplicates are not unheard of? No matter how many, and no matter what the cause, all these duplicates should be identified and de-duped (given a single name throughout the SoC layout) as early as possible. By doing so, you ensure you’re sending the most accurate database possible to the foundry, as well as gaining the side benefits of making it more concise and efficient. For example, de-duping IP before they are used can help contain the spread of inefficient data that could negatively impact the design flow all the way up to tapeout.

Now, you can try to do this manually, or write in-house scripts that have to be maintained and updated constantly. Or, you could adopt an automated approach with the Calibre toolset that combines the power of the Calibre nmDRC platform with the capabilities of the Calibre DESIGNrev layout editor that enables you to quickly find and rename duplicates throughout a database, and check IP as it arrives to remove duplicates right away. Wait, wait, let me guess which method you prefer!

If you can’t wait to get started, just download a copy of our white paper, Optimize design databases by eliminating duplicate data. It has all the details you need to begin cleaning those databases for a more accurate, streamlined tapeout.

Leave a Reply