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
We’ve all heard that functional verification takes 60 to 70 percent of the design cycle, but what’s not often discussed is what, exactly, takes up all that verification time. For a growing number of design and verification teams, the biggest single bottleneck is the time spent diagnosing and fixing bugs. That also happens to be the part of the verification process that is the least automated, and the most lacking in any sort of formalized methodology.
Mike Stellfox, distinguished engineer at Cadence, has an interesting perspective on what’s making the debug bottleneck worse. The “problem” is that the coverage-driven verification methodology pioneered by Verisity, and now provided by Cadence, has made it easy to find lots of bugs. As a result, Mike said, engineers “are good at finding bugs to the point that they’re finding way more bugs than they can possibly debug.”
Prior to coverage-driven verification, Mike noted, verification teams used a lot of manual, directed testing. The primary bottleneck was the time it took to write all those tests. With automated pseudo-random test generation, it suddenly became possible to quickly generate tests and run thousands of tests in parallel. As a result, “there’s lots of automation for bug finding, but nothing significant is done to automate the debugging process,” Mike commented.
The debug cycle is actually fairly involved. According to Joe Hupcey III, director of product marketing for enterprise and functional verification and a frequent Cadence blogger, it includes these five steps:
Various point tools exist to help engineers with the debug cycle – including waveform viewers, source code debuggers, and transaction debuggers. But much of the work is manual, ad-hoc, and based on guesswork. There is no formalized methodology comparable to the Open Verification Methodology (OVM) for debug.
So what needs to happen? Mike sees the need for several improvements. One involves bringing debugging to a higher level of abstraction, with correlation down to the signal level. Another would improve multi-language debugging. A third imperative is to provide a consistent debug environment for simulation, formal verification, and emulation.
Cadence is looking into ways to automate the debug cycle. Specifics will have to wait for the future, but for now, what’s needed is an awareness of the problem, and an industry discussion around a growing challenge that’s so far been relegated to the sidelines.