You may have heard about this "eqDRC" or "Equation Based DRC" business going around and may find yourself asking, "What exactly is this anyway?"
Why is this suddenly needed? To put it simply, the kinds of issues that cause failures during manufacturing have gotten more complex. Historically, we could safely look at individual layers and measure their local spacings, widths and enclousres. Density and antenna checking covered the two major outlieing problems. But now, we have many lithography related impacts, chemical-mechanical polish impacts, and new electrical impacts. Checking a design for these kinds of problems generally involves looking at the interactions of multiple polygons, across many layers, for larger interacting regions. Checking these properly is practically impossible and those that can be done are expensive from a performance point of view, and very difficult to debug.
The typical example we like to show is width dependent spacing checks. Yes, these have existed in DRC for a few process nodes now. So, why would eqDRC be needed here? Quite simply because the current DRC approaches do not work! The typical approach is to identify polygons of various widths. Then you apply different spacing rules between the different sets or "buckets" of widths. While this gives a little more insight, it really doesn't help the designer understand the problem. The choice on the buckets hampers the accuracy of the rules, resulting in either over-constraining the design by forcing compliance to a rule that has no physical impact, or impacting yield by allowing compliance at a level where CMP failures will still arise.
Yes, you can address this. You could bucket every polygon on a layer to to buckets that are 1database unit apart. Then you can check every bucket to every other possible bucket, with a different spacing requirement. But, this is very expensive for performance and runtime. Its also a pain in the butt to code. Worse yet, it results in thousands of rules for one issue. The poor designer who gets a failure has no idea what to do to fix the problem!
That's where eqDRC comes in. We measure the widths. We measure the spacings. We plug the widths and spacings into an equation that simulates the CMP phenomenon. We find the violations. We also plug those results into an equation that can solve for the corret width if spacing is held constant, or solve for the correct spacing if the widths are held constant. With this, the designer has some guidelines on how to fix the problem!
This is just one example, probably the simplest to comprehend. What we've found is that at 45nm and below, the number of physical failure mechanisms that cannot be adequately captured in standard DRC is growing rapidly. Having eqDRC makes it possible to code these accurately and easily and allows a new mechanism to communicate the actual physical requirements for manufaturing to the designer. In other words, it brings the true ability to design for manufaturability!
Well, that's about as much detail as I can post into a simple blog. What questions do you all have?
