Get email delivery of the Cadence blog featured here
You might have gone through our previous blog on Cadence Liberate MX Memory Characterization, Reuse to Recharacterize - Improve Productivity with Liberate MX, which describes reusing the already characterized data while recharacterizing a few additional/failed arcs. Liberate MX can be used to characterize various types of memories like SRAM, ROM, TCAM, register files, and so on.
In this blog, I will cover some aspects of constraint probing in Liberate MX.
During my customer interactions, I am asked often about how Liberate MX characterizes the constraint arcs or which flow should be used for characterizing the constraint arcs.
Memory designers would know how tedious is the job of writing measurements for each constraint arc. This not only involves a lot of manual effort but may be error-prone as well.
Well, Liberate MX does automatic probing for constraint arcs and finds out the worst-case probes. This save both, time and effort, making Liberate MX an efficient and user-friendly memory characterization solution. For a typical 12nm design, Liberate MX probes close to 100+ locations for each arc and chooses the worst-case probe.
In the automatic constraint characterization flow, the tool performs combinational/sequential probing. This flow involves circuit analysis that is based on connectivity to determine the valid location for each constraint arc. The tool identifies the locations where the propagation of the clock and data are intersecting at the same circuit partition and computes the constraint value from each of the valid probing locations. This is generally done using Spectre XPS, a FastSPICE simulator. Using the worst-case probing location, a dynamic partition is created. This partition is used to characterize the arc values for all the slews and loads that the Liberty file needs. This step generally uses Spectre APS, a true SPICE simulator.
Having said that, there may be some scenarios based on your design where you would like to control probing in a certain way. Let us now review the various ways to do so.
During automatic constraint probing, Liberate MX considers various probe locations or the different intersection levels between the data and clock within a sequential element.
Additionally, to suit your design, Liberate MX provides you with the flexibility to control probing in the following ways:
Additionally, in case you want flexibility in controlling automatic probing and how the probe locations are picked up by the tool, the methods explained below can help you discard an unwanted probe or manually specify the required probes.
You can check some files for additional data on probing as well. For example:
That’s pretty much all that I wanted to share in this blog about constraint probing. Easy to understand and implement, right?
Stay tuned for our upcoming blogs on characterization!
Understanding and Controlling Liberate MX Constraint Probing
Liberate MX Memory Characterization Reference Manual
Liberate Characterization Portfolio Command and Parameter Support Matrix
Library Characterization Tidbits is a blog series aimed at providing insight into the useful software and documentation enhancements in the LIBERATE release. In addition, this series would broadcast the voices of different bloggers and experts, who would share their knowledge and experience about all the tools in Liberate Characterization Portfolio. To receive notifications about the new blogs in this series, click Subscribe and submit your email ID in the Subscriptions box.