Design Quality Checks

What are design quality checks and who needs them?


Today’s DRC decks are made by the foundries representing each foundry’s own knowledge of its process limitations as can be affected by physical design. The foundry’s view is design-agnostic: it does not make assumptions on design goals, but rather is focused on keeping the minimum design rules that ensure no obvious yield issues are created.

Many design organizations have a broader and more complex view of physical design objectives, based on their specific product, specific design style and specific design goals and experience. Typical examples are: designers of analog and mixed-signal devices, high performance or low power products, custom circuits, logic libraries and custom IP designers.

Each such design organization can have a set of specific guidelines and additional considerations that they need to observe in physical design to minimize variability, ensure specific power and performance goals and avoid issues that are specific to their product and design style. “Design Quality Checks” refers to all such custom rules and checks that may be added as an additional layer of rules and checks by a design organization, formalizing their collective experience and knowledge of what it takes to achieve high quality physical design for their product space.

These design organizations need a quick and automated method for both capturing such rules clearly and formally, as well as implementing them as checks for their physical design team. iDRM with its GUI based, no-programming rule capture enables designers and CAD teams to quickly define and capture design quality rules and automatically create correct-by-construction checks for them.

Defining each rule takes only a few minutes and does not require any programming:

  • You draw the layout example you are interested in (or clip it from existing layout)
  • You add parameters to the drawing: e.g. distances, widths, separations, etc. and give them names
  • You write an expression using these parameters to define the required rules.

That’s it: the rule is defined and the check is ready to use!