editor's blog
Subscribe Now

Stop Repeating Yourself

You may recall a while back – actually, a good while back – we looked at parasitic extraction tools and contrasted the field solver approach with Silicon Frontline’s random-walk approach. Reprised really briefly, with the random walk approach, rather than dividing the entire structure up into chunks and solving the whole thing, you follow lots of random paths through dielectric until you hit metal, and, statistically, you end up with the precision needed to determine the parasitics in all three dimensions.

As with all such compute-intensive jobs, the goal is to do it faster than the other guy. Hierarchy turns out to be very useful for that. And Silicon Frontline has just released a new extraction tool, H3D, that leverages hierarchy to achieve “sub-linear” performance: that is, time to completion slows down less than linearly with growth in circuit size.

The idea of using hierarchy is that, if you have a particular cell that you use lots of times, don’t re-solve it every time. If you can recognize that you’ve been there before, then you can move on.

That may sound trivial, but it’s not so simple. As much as possible, H3D uses any hierarchy present in the input file, which sounds pretty obvious. But here’s the deal: it can add hierarchy and it can drop it.

Let’s say that there’s a circuit that’s re-used several times in the design with exactly the same layout and that it’s defined as a block in the input file. The simplistic answer would be to solve it once and pass the answer around to the others. But you can’t quite do that. If one of them is laid out next to a quiet analog block and the other next to some high-drive I/Os, well, they’re no longer the same due to coupling with their neighbors.

So H3D will do some sample walks to determine whether the two instances should, in fact, be treated the same. They claim to have a mathematically rigorous way of deciding when to keep or drop the hierarchy.

By a similar method, they can sometimes identify hierarchy where none was specified in the input. In fact, they can even occasionally do that by a simpler geometric test, but usually they have to do some walks to be sure. You can imagine that if they wanted to be able to find all hierarchy in the design, that becomes a rather laborious pattern-matching problem (you would more or less have to save everything you ever solve and then search that space each time you checked out something new… even with clever techniques, that just sounds like a lot of work). Presumably that’s at least one reason why they don’t claim to take a flat file and automatically discover any inherent hierarchy for you.

Note that this doesn’t just save time in the extraction process; it also saves time in the simulations that the extraction drives.

More details in their release

Leave a Reply

featured blogs
Mar 26, 2019
Many industrial electronics OEM designers use the word “rugged” to describe their board-level interconnect needs. While rugged can mean different things to different people, it usually includes the ability to withstand high shock and vibration applications, mainta...
Mar 26, 2019
It's CDNLive! Well, not today, Tuesday and Wednesday, April 2nd and 3rd at the Santa Clara Convention Center. So I have eight things you can do to get the most out of CDNLive and go home with a... [[ Click on the title to access the full blog on the Cadence Community si...
Mar 25, 2019
Do you ever use the same constraint templates in multiple projects? Now, with PADS Professional VX.2.5, you can easily import and export constraints from one project to the next. Constraint templates enable application of complex rules to multiple nets. They help ensure a smo...
Jan 25, 2019
Let'€™s face it: We'€™re addicted to SRAM. It'€™s big, it'€™s power-hungry, but it'€™s fast. And no matter how much we complain about it, we still use it. Because we don'€™t have anything better in the mainstream yet. We'€™ve looked at attempts to improve conven...