Digital semiconductor design flows predominantly use library models (typically verilog and liberty formats) for static analyses. Design sizes continue to grow and geometry continues to shrink. Demand for superior performance continue to increase. Accuracy of the library models has become more critical than ever before to enable the optimum design performance, power and noise. A library cell can be instantiated in a variety of different design context and different instances might perform differently. The idea of “one model fits all instances”, with no knowledge of design context, is a source of gap between the actual characteristics of a cell vs. those represented by the library model. A library model that is too conservative leads to over design whereas a progressive models leads to correlation issues. The EDA vendors have been struggling to provide library cell models that can represent all possible usage scenarios. At the same time traditional approaches are reaching their limits and proving to be insufficient to meet today’s design requirements.
Before we go into more details of what is lacking in library characterization softwares currently available from various EDA vendors (vs. what do today’s designers ideally need from their EDA vendors), it will be worthwhile to understand the bridge these library models create between static and dynamic analysis methods.
Dynamic analysis methods do actual simulation of the design to measure the functionality and various characteristics with high accuracy. Dynamic analysis methods however are heavy users of the compute resources and take long run times.
Static analysis methods on the other hand are inherently faster, since they avoid dynamic simulation. Instead, they use library models of the cells created by dynamic simulation. Static analysis is used for exhaustive and conservative analysis of one design metric (static timing, noise, power etc.) with no regard to design’s other metrics.
Some advantages of static analysis are:
- It exhaustively covers the whole design.
- It has ability to perform multiple modes in the same session.
- It is many orders of magnitude faster than dynamic analysis.
Some of the disadvantages of static analysis are:
- It may lead to false negatives for improperly constrained designs.
- Static results are conservative, meaning it may flag a false problem such as negative slack because of a false-path for static timing analysis.
Modern characterization softwares pay no attention to the design context i.e. how the cells are used in the design. Ignoring the design context while creating library models, is the prime source of inaccuracy in the models that eventually leads to miscorrelation and other inaccuracies in static analysis flows. There are a number of subtle nuances (parameter and methods) that a characterization software should be aware of – as depicted in Fig1.
The ideal solution is to create/interpolate models on the fly on a need basis by timing, power, noise and other analysis software. Analysis software has complete knowledge of the context it is operating in. Analysis software spawns characterization API with correct set of inputs derived from design context. Characterization API, in turn, creates and returns model for every unit during timing, power and noise analysis.
In an ideal world, this solution works perfect. However, in the world of limited resources, it runs into issues including performance degradation by many orders, large compute resources requirement, large number of software license required, and lack of incentive to analysis software providers to adopt this methodology- just to name a few. Figure 2 depicts this perfect (but highly impractical) flow with analysis, characterization and simulation, generating models with real design context.
I was impressed by Paripath’s library characterization platform that produces CAM(Context Aware Model) models that not only meets today’s designers’ accuracy needs but also uses massive distributed processing to efficiently conquer the run-time and capacity challenges. The main concept behind their solution is to allow the characterization software to study a representative design and collect set of parameters/methods suitable to design type, constraints and technology node among others. Armed with design context information, Pa!path’s characterization software uses circuit analysis and simulation to generate models as depicted in Figure 3. These models not only have knowledge of what is inside the cell, they are also aware of the context they’ll be used during static analysis methods.
Paripath’s characterization software armed with design context information is capable of generating models that are context aware. Context aware models are best equipped to address difference in philosophy and technology of dynamic analysis and static analysis methods. These context aware models aid to provide true design sign-off with good correlation of static analysis to circuit simulation. Context aware models help designers avoid the over- and under-design of designs reducing costs and saving time from design schedules.
Written by Rohit Sharma