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
There is a strong movement in the industry to move to create Virtual Prototypes of systems, prior to RTL coding. These Virtual Prototypes are being used for early software development and architectural analysis. Since there are typically many blocks in a design, the development of a Virtual Prototype can be unwieldy. While you might have a goal of creating one, you may be dazed at the number of components that need to be created or acquired (multiple CPU's, DSP's, MPEG engines, multiple memory sub-systems, DMA's, etc.). Companies are realizing that they can successfully achieve productivity gains y working with sub-systems instead of full systems. After all, this is how many high-level design and verification tasks are done today (ie sub-system simulation on emulators, sub-system c models created for reference models, etc.). But what is the difference between a sub-system and a full system?
A sub-system generally is a well defined entity in your design. There are CPU sub-systems, memory sub-systems, disk sub-systems, etc. This systems are very complex in their own right and usually contain some form of processing unit (CPU, DSP, micro-controller, etc.). Below is a table that suggests some characteristics of a a sub-system vs a full-system:
The first advantage to creating a sub-system is that there are a smaller number of blocks to create or acquire. Looking at the table, you can see there are other advantages. Typically minimum performance requirements are lower then a full system. That is because lower level software is being executed, meaning less instructions, allowing reasonable simulation speeds will lower performance. Secondly, you will probably model sub-systems that you are most concerned about, which are the ones that you are creating. Therefore most of the models will be created rather then acquired. If you are using a TLM Driven flow (in which TLM models are the golden source for synthesis), then the TLM models for the platform need to be created anyway. If you aren't, then you should look at the productivity that such a flow provides.
Full system Virtual Platforms provide the ability to exercise complete functionality of a system. Creating one can take time in acquiring models, porting operating systems, developing applications, and making sure simulations speeds are fast enough to be productive. Sub-systems Virtual Platforms require less effort to create (less blocks, reuse TLM Design models), address a smaller problem (sub-system programming or analysis), and are less demanding on performance.