Analog Insydes/Cadence ADE Integration

Overview

The Analog Insydes/Cadence ADE integration package allows the user to create native Analog Insydes netlists directly out of an ADE session, including all operating-point, small-signal, and device model data generated or used by the selected simulator (usually Spectre) during the last simulation run. The resulting netlists can be imported into Analog Insydes 2.1 via the ReadNetlist command.

Prerequisites

To use the Analog Insydes/ADE integration, you must have access to the following software packages:

  • Cadence Design Framework II v5.x with these license features:
    • Analog Design Environment (aka “Analog Artist”)
    • Spectre
    • OASIS Runtime Environment
    • SKILL Development
  • Analog Insydes 2.1
  • Mathematica 3.0 or later

A Brief Description of the ADE Integration Package

The Analog Insydes/Cadence ADE integration package contains the following modules:

  • Analog Insydes netlister and GUI code (programmed in SKILL/Lisp)
  • Analog Insydes simInfo extensions for Cadence’s analogLib (programmed in SKILL)
  • Demo materials (circuit schematics, ADE states, device models, Mathematica notebooks)

The Analog Insydes netlister is based on the OASIS Direct Netlister. It attaches to an existing ADE session from which it can read the operating-point, small-signal, and device model data from the last simulation run. Thus, the Analog Insydes netlister can create a native netlist from the current design including all numerical data needed for symbolic and numerical analyses with Analog Insydes 2.1.

To create an Analog Insydes netlist from a Cadence schematic, your symbol libraries must be equipped with simulator information (simInfo) for the tool AnalogInsydes. Therefore, the package contains a modified version of Cadence’s analogLib with simInfo sections for some devices (not yet complete). There is also a SKILL file analogLib_AnalogInsydes.il that shows how to add the required simInfo sections programmatically, i.e. without using Cadence’s graphical CDF editor.

Downloading the ADE Integration Package

You can download release packages from the aidc project page at SourceForge.net. In addition, you can check out the development code from the Subversion repository (see section “Code” on the project page for instructions on how to access the repository). The ADE integration package is provided as Free Software under the terms and conditions of the GNU General Public License.

Package Installation

To install the ADE integration package, download the tar archive and unpack the file in your Unix/Linux home directory. This should create a directory ~/aicds-(VERSION) containing the complete code and examples. Next, follow the instructions in ~/aicds-(VERSION)/INSTALL to set up and run the Analog Insydes netlister.

Preparing Your Cadence Environment (First Time Only)

Before running the Analog Insydes netlister for the first time, you must register Analog Insydes as target simulator in your Cadence DFII environment. This requires creating two empty files in your Cadence installation tree using the following Unix commands:

touch $CDSINSTALL_PATH/local/hnl/AnalogInsydes.ile
touch $CDSINSTALL_PATH/local/si/caplib/AnalogInsydes.ile

Note that super-user privileges may be required to execute these commands.

Running the Analog Insydes Netlister

Go to the directory ~/aicds-(VERSION)/aicds and source the file aicds.bash or aicds.csh (depending on your shell) , then run icfb.

. aicds.bash
icfb &

Make sure that icfb autoloads the file

     ~/aicds-(VERSION)/aicds/.cdsinit

In case it does not, load the file manually from within the CIW:

    load “.cdsinit”

Now start the Library Manager and open one of the demo schematics. Launch an ADE session with Spectre and load the state spectre_aicds (from cellview). Run the Spectre simulation, then click on the ADE banner menu item “Tools -> Analog Insydes ...”:

This will open the following form:

Click on Create to create an Analog Insydes netlist out of your current ADE/Spectre session. The resulting netlist file is named input.m; it is located in the subdirectory symbolic below the simulation run directory of your current ADE session. The default run directory is

    $HOME/simulation/<cell>/spectre/<view>/netlist

Refer to the Mathematica notebook ainl.nb in the notebooks folder to see how to proceed with the netlist in Analog Insydes.

Limitations

The Analog Insydes simInfo sections for analogLib are not complete. Therefore, the netlister does not support all schematic symbols yet.

Recent Changes

October 29, 2007 (Release 2.0)

  • Release 2.0 published on SourceForge.net.
  • Support for Analog Insydes 2.0 dropped. You must use Analog Insydes 2.1 (demo notebook updated).
  • In addition to 'dcOp and 'ac parameters, the netlister can now write 'output parameters to InstanceParameters sets (marked with the suffix $ip).
  • Support for OCEAN scripting added (use the new command ainlNetlistCurrentSession() to create an Analog Insydes netlist from within an OCEAN session).
  • Various bugs fixed.

February 15, 2005 (Release 1.0)

  • Version 1.0 of integration package released together with Analog Insydes 2.1, which provides full support for the Cadence link.
  • New GUI layout.
  • More types of independent sources from analogLib supported (e.g. exp, pwl, ...)
  • Support for PDK-specific device model mapping.

March 21, 2004 (Release 0.2eh)

  • Output simulation information to netlist (Jochen Hoffmann, ITWM)
  • Make mechanism for compiling the distribution (Tim Wichmann, ITWM)
  • No more output of “Indeterminate” values in OP/AC data.
  • Improved mapping of instance names.
  • User-definable print precision for floating-point numbers.
  • Many other small bugfixes and improvements.

November 2, 2003

  • GUI code improved; application form now keeps its state when closed and re-opened.
  • More elements from analogLib supported: vsin, isin, ccvs4, cccs4, vcvs, vccs.

December 8, 2003

  • GUI code back-ported to Cadence DFII v4.4.6 (I had used some IC5.0-specific features without checking the code on 4.4.6 — sorry!).

To Be Done

  • Improve documentation.

Credits

Thanks to Dr. Jochen Broz (ITWM) and Dr. Tim Wichmann (formerly ITWM) for contributing to the project.

Feedback?!

If you find the Analog Insydes/Cadence ADE integration package useful, if you have suggestions for improvements, or if you want to contribute to the package’s further development, I would like to hear from you.

Cheers,

Eckhard Hennig <aidev@kaninkolo.de>