NXP Semiconductors logo
Select site:
English
Source code library


SiMKit library

SiMKit is a simulator-independent compact transistor model library. Simulator-specific connections are handled through so-called adapters that provide the right interfacing to Pstar, Spectre and ADS. The model code and adapters are available in separate libraries. The single model library is shared between the different adapter libraries. At run-time, each of the simulators loads its corresponding adapter library and that adapter library then loads the model library.


Due to the way the adapter and model libraries interact since SiMKit 2.4, environment variables that influence the behaviour of the system loader can influence the working of the libraries. E.g. when the LD_BIND_NOW environment variable is set, the model library cannot be loaded because of an unresolved external. Be careful with using environment variables starting with LD_ in combination with SiMKit 2.4 or higher.


The SiMKit library contains the most recent versions of the NXP transistor models.


Download PDF File Read more about the most recent SiMKit.


The NXP SiMKit is related to the following circuit simulators used within NXP


Pstar, the circuit simulator from NXP
Spectre, the circuit simulator from Cadence
ADS, the circuit simulator from Agilent


For Spectre and ADS compiled versions of the SiMKit library are made available below. Pstar is always delivered with a SiMKit library included.
If you use another circuit simulator, the most efficient way to include several SiMKit models is to build your own adapter. Below you find the SiMKit source.


Pstar
Pstar is always delivered with a SiMKit library included. To set the SiMKit library, please use cadenv.


Spectre
Cadence is using several CMI config versions for different Spectre versions. Once the SiMKit is installed, the correct CMI version is set via the %M option in the CMI config file. SiMKit is available for LINUX and can be downloaded here:


simkit_3.3_pub_linux.tar.gz


You can read how to install the libraries here:


You can use the SiMKit library in 2 possible ways:


  1. Generate a .cmiconfig file in your home directory or
  2. Make use of an environment variable CMI_CONFIG which points to the configuration file containing the library information

In both cases, the file must contain the following information:


;***Start Philips_models***
load $SIMKIT_HOME/%b/libsimkit_spectre_%M.sl
load $SIMKIT_HOME/%b/libsmk_%M.sl
; Related to Cadence_ic 4.4.6:
unload libphilips.sl
; Related to Cadence_ic 5.* and Cadence_mmsim:
unload libphilips_sh.sl
;***End Philips_models***


Note that:


  • SIMKIT_HOME points to the directory where the two libraries are stated.
  • Make sure $SIMKIT_HOME is part of your library load path, e.g. by setting export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$SIMKIT_HOME:$SIMKIT_HOME/64bit
  • Since SiMKit 2.3 64 bits libraries are included for the Cadence versions that support 64 bits. If you use a .cmiconfig file(s) please remember to adjust the load statements.
  • the extension 'sl' is related to the HPUX environment and the extension 'so' is related to the SUNOS and the LINUX environment!
  • the information in the configuration file set by the environment variable CMI_CONFIG will be overruled by the information of the .cmiconfig file if available in the working home dir.

ADS


The SiMKit design kit is available, which makes it possible to use the SiMKit models in the schematic entry for ADS. The SiMKit design kit can be used on HPUX, LINUX (for ADS version 2003C via remote control), Windows or SUNOS. The libraries can be downloaded here:


Library file ADS version OS System Supported by
simkit_designkit_3.3_pub.tar.gz 2006A and higher linux NXP
simkit_designkit_3.2_pub.tar.gz 2006A and higher linux NXP
simkit_designkit_3.1.2_pub.tar.gz 2004A and higher linux NXP
simkit_designkit_3.0.3_pub.tar.gz 2004A and higher hpux, linux NXP
Download ZIP archive simkit_designkit_w2p5.zip 2004A and higher win32 NXP
simkit_ads_binaries32_25.tar.gz 2004A and higher hpux, linux, sun, win32 Agilent
simkit_ads_binaries64_25.tar.gz 2004A and higher hpux, linux, sun, win32 Agilent

On Unix systems (LINUX, HPUX and SUNOS) perform the following steps to install the SiMKit designkit. For Win32 systems, please follow the instructions here. It is assumed you use one specific ADS version (e.g. 2004A, 2005A, 2006A etc) on a specific operating system (e.g. hpux11, sun58, linux_x86 or win32). The ADS version is referred to as <ADS version>, the OS is referred to as <ADS OS>.


  1. Go to the directory where you would like to install SiMKit design kit. This directory is later referred to as $SIMKIT_HOME. Copy the installation file simkit_designkit_<simkit version>_pub.tar.Z to this directory.
  2. Use the following commands to unpack the installation file.
    compress -d simkit_designkit_<simkit version>_pub.tar.Z
    tar -xfv simkit_designkit_<simkit version>_pub.tar
  3. Only for SunOS versions of ADS additional files must be added. Copy the simkit_ads_binaries_<simkit version>.tar.gz file to a temporary empty directory and unpack the installation files:
    compress -d simkit_ads_binaries_<simkit version>.tar.Z
    tar -xvf simkit_ads_binaries_<simkit version>.tar
    When you use the MS-Windows version of ADS, move directory 'win32' and optionally 'win32_64' to $SIMKIT_HOME/simkit_designkit/<ADS version>/bin
    When you use the SunOS version of ADS, move directory 'sun58' and optionally 'sun58_64' to $SIMKIT_HOME/simkit_designkit/<ADS version>/bin
  4. Create the directory $HOME/hpeesof/design_kit
  5. Place or modify the file ads.lib in this directory. This file should contain the following information: NXPSiMKit | $SIMKIT_HOME/simkit_designkit/<ADS version> | de/ael/boot | "Version <simkit version>".
  6. Create the directory $HOME/hpeesof/config
  7. Place or modify the file hpeesofsim.cfg in this directory. This file contains the following information. DESIGN_KIT_MODEL_PATH=
    $SIMKIT_HOME/simkit_designkit/<ADS version>/bin/<ADS OS>
    It is possible to append more paths to this line for different ADS versions and operating systems. Separate the paths with semi-colons. E.g.:
    DESIGN_KIT_MODEL_PATH=$SIMKIT_HOME/
    simkit_designkit/2005A/bin/sunos58:
    $SIMKIT_HOME/simkit_designkit/2006A/bin/sunos58:
    $SIMKIT_HOME/simkit_designkit/2006A/bin/sunos58_64
  8. Add the location of the SiMKit binaries to the SIMKIT_LD_LIBRARY_PATH environment variable: export SIMKIT_LD_LIBRARY_PATH=$SIMKIT_HOME/simkit_designkit//bin/.
    For Linux enter "export SIMKIT_LD_LIBRARY_PATH= $SIMKIT_HOME/simkit_designkit/2003C/bin/linux_x86".
    Make sure to use only the path to the binaries for the OS you will be working on.
    SIMKIT_LD_LIBRARY_PATH has been introduced in SiMKit 3.1.2. If you want to use an older version of SiMKit you have to use the environment variable LD_LIBRARY_PATH, which has to be extended with the path to the binaries for the platform you are working on, e.g. for Linux enter "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH: $SIMKIT_HOME/simkit_designkit/2006A/bin/linux_x86".
  9. Note: When changing from an older SiMKit version to the most recent version of SiMKit, some files must be modified in order to make the design kit work. Change the DESIGN_KIT_MODEL_PATH variable in the following files:
    de_sim.cfg (located in the startup directory)
    de_sim.cfg (located in your project directory)
    hpeesofsim.cfg (located in your project directory)
  10. Now you can start ADS.

ADS for Windows

  1. Download the SiMKit zip file and copy it into the desired folder for installation.
  2. Start ADS.
  3. Install the SiMKit at user or system level using the menu "Install Design Kits ..." in the ADS main window. Please read the ADS manual for more information on installing designkits.

Build your own SiMKit:

The source of SiMKit is delivered in a tar file, from which you can build your own SiMKit library. If you want to use the provided examples, please make sure that you compile on a system that supports Fortran 77. With the introduction of flexible topology in SiMKit 3.0, the way the documentation is provided has changed. The SiMKit interface documentation is available in the tar file in doc/interface/simkit_interface.html.


Since SiMKit 3.0 the difference files per model, as can be found on the model pages under "Code history", are no longer provided. To make it possible to create your own difference files, we provide several versions of the source. A simple way of generating differences between all files in two directory trees is "diff -rup <dir1> <dir2>".


Release Date
simkit_3.3_pub_source.tar.gz 2009-06
simkit_3.2_pub_source.tar.gz 2008-12
simkit_3.1.2_pub_source.tar.gz 2008-07
simkit_3.1_pub_source.tar.gz 2008-05
simkit_3.0.3_pub.tar.gz 2008-01
simkit_2.5_pub.tar.gz 2007-04

Verilog-A

For some NXP compact models the Verilog-A code is available. The functionality of this Verilog-A code is the same as that of the SiMKit C-code, except for some details that are described in the documentation Download PDF File psp103p1_summary.pdf.
The Verilog-A code of MOS Model PSP van be downloaded from the ASU/NXP PSP website.


The source code is protected by Copyright © 1991, 2007, NXP.