Cadence Innovus Tutorial

Overview

In this tutorial, we will learn how to get started with Cadence Innovus software on the Rescale platform using a flat implementation flow which can be applied to chip level designs as well as blocks. We will use the block implementation Rapid Adoption Kit (RAK) from Cadence Innovus which is also available on the Cadence support website for licensed software users.

The Innovus design in this example is a Leon processor. The Leon design is a block level design with 35K instances, 4 memories, and 1200 IO pins. The library used is a Cadence Generic 45nm library using 9 routing layers.

Innovus creates three files for storing commands and their output. Each of these files will
have a number at the end of the name which is incremented with each session.

innovus.cmd – Contains list of commands executed during the session. This file
can be used to create scripts to automate the execution of the commands and learn
what text commands correspond to commands executed through the GUI.
innovus.log – Contains basic information output from the executed commands. The
commands in the file are preceded with in the file.
innovus.logv – Similar to innovus.log but contains a more verbose amount of output. Useful for debugging

Cadence Innovus can be easily run by either using a batch job using the Rescale command line or interactively using Rescale Workstations. See the tutorial steps below.

Batch job

You can access and directly launch the sample job (flat implementation flow) by clicking the Import Job Setup button or view the results by clicking the Get Job Results button below.

Steps to run a batch job on Rescale:

Select input file

Upload your job files ( Innovus block implementation, compressed files). These will be loaded automatically when you select Import Job Set Up above.

Tip: It is recommended to edit the .tcl file to match the CPU count to the number of cores expected in the batch run to distribute the job. In this case we have edited the runLab.tcl to support 8 cores, by modifying the line setMultiCpuUsage -localCpu 8. This job should complete the run in under 20 minutes for the solving part.

Select Software

For this tutorial, we will use the latest version of Cadence Innovus at the time of writing (22.11-s119) 

For a typical batch job, you can directly modify the pre-populated CMD line with all the commands to run in a linux terminal. See the example below for how we will run this job.

Note: The Rescale platform understands compressed files and they are automatically uncompressed to the ./work/shared/ directory

cd ./RAK_18.1_blockImplementation/
innovus -files ./SCRIPTS/runLab.tcl -batch

Firstly, extract the RAK database and change directory to the work directory. Then, launch Cadence Innovus from command line in batch mode and run the script to run the solver.

Once you have specified the software and the command line to execute the example, next specify the License to use. The Rescale platform can provide License as a Service or point to an existing License server in your on-prem or Cloud environment. For the specific license server, please check with your Organization Administrator or Rescale Solutions Architect / Customer Success Engineer

Select Hardware

On the next page, you will find the options to choose hardware for your analysis:

For this example, we shall use an Emerald coretype with 8 cores which is fairly efficient for this workload. For more complex examples, it is recommended to use Performance Profiles and benchmark your workloads for optimal performance / cost ratio.

Also note that your choice on the number of Cores may be limited by the License provided by Cadence. Please validate this with Cadence based on the license agreement you have.

Now you are ready to click ‘Submit’ and launch the analysis. As you can see, with just a few mouse clicks, users can run Cadence Innovus jobs through batch jobs on Rescale.

Job Monitoring

Once the job launches, you can monitor all the files using the ‘Live Tailing’ feature or the built-in web based SSH. Note that there is a process_output.log additionally created that can tell you Rescale specific info on where the job is at.

With just a few mouse clicks, users can run Cadence Innovus jobs with CPUs through batch jobs on Rescale. Although we can access the SSH console in the batch job workflow, the visualization ability during the batch job run is limited. 

In the next section, we walk through the steps to run a Cadence Innovus job. interactively.

Interactive Workflow

You can access and directly launch the sample Interactive Workstation (flat implementation flow) by clicking the Import Job Setup button or view the results by clicking the Get Job Results button.


Select the Workstations job type. The input file, software selection, and hardware settings are the same as batch job workflow.

Once the Workstation is running, open the terminal through the Connect button on the top of the screen to enter into the desktop. This is using the Web-based NiceDCV client or a local NiceDCV client that supports up to 4K resolution.

Once the Workstation is launched, you will have access to launch Cadence Innovus GUI.

A good way to launch this is in the terminal so you can monitor your iterations and the GUI at the same time. To do this, Open the Terminal.

  • Go to the working directory by using command
    • cd ./work/RAK_18.1_blockImplementation
  • Run command innovus to launch Cadence Innovus

Once in Innovus context, run command: 

source ./SCRIPTS/runLab.tcl

Now, you can see your iterations and GUI side by side.

Summary 

Through interactive jobs (Workstations), users can develop and monitor the model and also do post-processing within one job. This supports visualization and other tools while making it easy to develop and prototype your model on a virtual workstation with the latest choice of hardware on Rescale. 

We hope that this tutorial helped you get started running Cadence Innovus on Rescale. As you can see, you can run your Cadence Innovus workflow through a Rescale batch job or interactively on a Rescale Workstation. Rescale and Cadence make it possible to  develop, monitor, train, and post-process simulations on a virtual workstation.

References