editor's blog
Subscribe to EE Journal Daily Newsletter

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
Oct 16, 2017
Here we conclude the blog series and highlight the results of Mediatek 's use of Cadence Perspec™ System Verifier for their SoC level verification. In case you missed it, Part 1 of the blog is here , and Part 2 of the blog is here . One of their key objectives was i...
Oct 13, 2017
With our last web update, we brought you several new additions to our on-site search, a new Microelectronics web experience, and our new 2017 product overview guide. In September, the updates to search came to a close (for now), we’ve added a few new content pages, and ...
Sep 12, 2017
Torrents of packets will cascade into the data center: endless streams of data from the Internet of Things (IoT), massive flows of cellular network traffic into virtualized network functions, bursts of input to Web applications. And hidden in the cascades, far darker bits try...
Sep 29, 2017
Our existing customers ask us some pretty big questions: “How can this technology implement a step-change in my specific process? How can Speedcore IP be integrated in my SoC? How can you increase the performance of my ASIC?” We revel in answering such questions. Ho...