Cadence® system design and verification solutions, integrated under our System Development Suite, provide the simulation, acceleration, emulation, and management capabilities.
System Development Suite Related Products A-Z
Cadence® digital design and signoff solutions provide a fast path to design closure and better predictability, helping you meet your power, performance, and area (PPA) targets.
Full-Flow Digital Solution Related Products A-Z
Cadence® custom, analog, and RF design solutions can help you save time by automating many routine tasks, from block-level and mixed-signal simulation to routing and library characterization.
Overview Related Products A-Z
Driving efficiency and accuracy in advanced packaging, system planning, and multi-fabric interoperability, Cadence® package implementation products deliver the automation and accuracy.
Cadence® PCB design solutions enable shorter, more predictable design cycles with greater integration of component design and system-level simulation for a constraint-driven flow.
An open IP platform for you to customize your app-driven SoC design.
Comprehensive solutions and methodologies.
Helping you meet your broader business goals.
A global customer support infrastructure with around-the-clock help.
24/7 Support - Cadence Online Support
Locate the latest software updates, service request, technical documentation, solutions and more in your personalized environment.
Cadence offers various software services for download. This page describes our offerings, including the Allegro FREE Physical Viewer.
Get the most out of your investment in Cadence technologies through a wide range of training offerings.
This course combines our Allegro PCB Editor Basic Techniques, followed by Allegro PCB Editor Intermediate Techniques.
Virtuoso Analog Design Environment Verifier 16.7
Learn learn to perform requirements-driven analog verification using the Virtuoso ADE Verifier tool.
Exchange ideas, news, technical information, and best practices.
The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information.
It's not all about the technlogy. Here we exchange ideas on the Cadence Academic Network and other subjects of general interest.
Cadence is a leading provider of system design tools, software, IP, and services.
Get email delivery of the Cadence blog featured here
Formal verification can be a powerful tool for low-power design optimization, according to a paper authored by Cadence and Freescale and presented at the recent DVCon conference. The paper showed how formal property checking can validate whether retention flip-flops are controllable, and identify those that might need to be replaced with clock-state independent (CSI) flops.
Titled "Optimizing Area and Power Using Formal Methods," the paper was co-authored and presented by Alan Carlin, microcontroller verification engineer at Freescale. The other co-authors were Anuj Singhania of Freescale and Chris Komar of Cadence. The paper describes a flow used at Freescale in connection with the Kinetis K40 microcontroller. This and other archived papers will be available at the DVCon web site April 18.
In his presentation, Carlin noted that when chips power down, the design state should normally be restored as quickly as possible at power-up, so the "design picks up right where it left off." State-retained power gated (SRPG) flip-flops provide an easy way to do that.
Clocking Presents a Problem
While SRPGs provide a good solution for state retention, there's a potential problem to consider - the state of the clock at the point of retention. If there's a clock edge on the flop at the instant of retention, what state will actually be preserved? For this reason, the basic SPRG cell requires that the clock be inactive when changing states. If this cannot be guaranteed, SPRG flops may need to be replaced with CSI flops, which, unfortunately, consume more area and power.
Freescale's goal, therefore, is to identify all uncontrollable SPRG flops in the system-on-chip, and determine whether they need to be replaced with CSI flops. Of course, the goal is to use as few CSI flops as possible. They use Cadence Incisive Formal Verifier (IFV) to run this check. Carlin noted that Freescale engineers use a script that looks at the design and generates assertions for each unique hierarchical clock.
Complex assertions are not needed. Basically, if there's a posedge clock tree, the clock must be low when the retention signal is asserted. If there's a negedge clock tree, the clock must be high when the retention signal is asserted. However, as Carlin noted, it may be necessary to check hundreds of thousands of clocks.
If the formal tool issues a "pass," no CSI flop is needed. If it's a "fail," a CSI flop may be needed. If it's an "explore," some work is required to get a more conclusive result. As described in the paper, cutpoints can prune the cone of influence by creating a virtual primary input to the design at a specific hierarchical location.
The final steps involve placing CSI flops in the netlist, running synthesis, and using a static checker such as Cadence Conformal to ensure that the implementation has CSI flops on all required instances.
A Manageable Effort
While formal tools can hit a memory and capacity bottleneck, Carlin observed that "it is very practical to run thousands of assertions at the SoC level." For the Kinetis K40 microcontroller, he said, engineers ran 3,000 assertions in an 8-hour run time, with only about a dozen "explores." In answer to a question, however, he noted that it's not totally a push-button process, and that some amount of debugging is involved.
"One real benefit of formal analysis," Carlin said, "is that when assertions pass, they really pass. No stone is left unturned. When formal analysis is complete, you're done. When simulation is complete, it just means the regression is finished."
A video interview with Chris Komar of Cadence, co-author of the paper, is available in a Functional Verification blog post by Joe Hupcey III.