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.
In one of the Monday presentations at the Cadence DAC Theater, Ronan Synnott from ARM talked about how ARM Software Development Tools such as DS-5 interact with the Cadence System Development Suite. I thought it would be good to provide a more detailed example of how DS-5 interacts with the Cadence Virtual System Platform.
Some time ago, we decided that Eclipse was the best infrastructure to build our software development environment for VSP. Today's DAC presentation by Ronan and this more detailed description demonstrate the true benefits of Eclipse.
First, let me say that the EDA software ecosystem is a complex web of connections, alliances, interoperability, partnerships, and coopetition. It is an environment of proprietary software and open standards where competitors often need to share software with each other for interoperability purposes. For me, the DS-5 connection with VSP is something completely new, where multiple software tools not just co-exist, but do it in such as way that it's almost impossible to tell which parts came from which vendor, and where the other vendor may not even know this is being done.
The Cadence Virtual System Platform offers an Eclipse environment for software developers working with virtual platforms. It connects directly to Cadence simulators, and provides not only the standard software debugging features you would expect from Eclipse CDT, but much more in terms of hardware awareness. This includes tracing of both hardware and software events, visualization of the system memory map, register values and fields in each hardware model, breakpoints on hardware events, and more. One goal is to make hardware-dependent software development much easier while leveraging the power and familiarity of Eclipse.
Let's take an example virtual platform running Android 4.2, also known as Jelly Bean. This virtual platform runs a Linux 3.4 kernel from source.android.com, and for this demonstration I will use a SystemC model of the Goldfish platform. This is similar to the Android emulator, but done in SystemC and used for training purposes.
By itself the VSP Eclipse environment is pretty good at working with the kernel and drivers and a good tool for Android platform work.
Next I downloaded the ARM DS-5 Community Edition so I could add the StreamlineTM performance analyzer to the environment. DS-5 easily installs as a plugin into the Eclipse I'm already running using simple instructions.
After DS-5 was ready, I installed the Android Eclipse plugin for DDMS (Dalvik Debug Monitor Server), which will also help to analyze the running Android system.
The result is a single Eclipse environment with multiple perspectives that when used together provide a powerful environment for Android platform work.
Here is a screenshot of my "open perspective" dialog that shows all of the things installed.
For Android, Streamline requires the gator daemon and device driver. These can be obtained from the Linaro git server or the ARM website. I followed the instructions to compile the driver against my Android Linux kernel and then used the Android NDK to compile the gator daemon. You can find all of the details on how to compile the driver and daemon on the ARM Infocenter. Just search for "gator daemon". The info is also on the Linaro git server.
I could have installed the driver and daemon using Eclipse also, but I did not. I used standard adb connection and command line. The virtual platform uses port forwarding to connect ports in the virtual platform to host computer ports. To set up an adb connection, I ran the following commands in the Android shell to use port 1234 of the Android system.
Then on my host machine with the Android SDK installed, I tested the adb connection to port 2345 on the host, which is forwarded to 1234 on the target.
Simple "adb push" commands can be used to transfer the gatord (daemon) and gator.ko (device driver).
Here's how I started the gator daemon on port 80:
Finally, I connected Streamline to localhost port 10080, which is forwarded to port 80 in the target, and hit the button in Eclipse to start data collection by Streamline.
Click here to see VSP debug and Streamline in the same window.
For good measure, I can also connect DDMS to see the Android activity from the Android SDK perspective.
Finally, the home screen:
There are way too many features to describe, but the point of this story is that the plug-in architecture of Eclipse provides as easy way to add plugins such as ARM DS-5 and DDMS to provide a full software development environment in which it is almost impossible to tell that the features come from different companies like ARM and Cadence. It's an encouraging story which shows how tools should actually work together.