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
Nov 16, 2018
If you aren'€™t from the packaging world, then chances are likely you might think '€œpacking'€ refers to objects being placed in to a box instead of packaging integrated circuits (IC'€™s) on a substrate. Packaging has advanced since it began, and as with many areas i...
Nov 14, 2018
  People of a certain age, who mindfully lived through the early microcomputer revolution during the first half of the 1970s, know about Bill Godbout. He was that guy who sent out crudely photocopied parts catalogs for all kinds of electronic components, sold from a Quon...
Nov 13, 2018
Podcast Interview with the authors of The Hitchhikers Guide to PCB Design eBook by Mike Beutow with PCB Chat....