ZSPICE Project Home Page

http://sourceforge.net/projects/mot-zspice

!!!!!!!!!!DRAFT!!!!!!!!!!!!!

Introduction

The goal of the ZSPICE project is to show how to write in xml a simulator interface for adms.

(version 1.21.0 of adms required.)

In short ZSPICE is a simple reconfigurable spice simulator.

ZSPICE has its own device interface through which new verilog-ams device models can be implemented.

Its device library is automatically generated using adms, a software tool available on SourceForge.net.

Limitations:

The intend of ZSPICE is to illustrate how to build adms interfaces for simulators

ZSPICE is used to test the performance/robustness of new compact models, not to simulate complex circuits

Once a compact model has been tested using ZSPICE it can be implemented in SPECTRE or ADS

ADMS interfaces are available for SPECTRE and ADS

More on Zspice can be found at: http://legwww.epfl.ch/ekv/mos-ak/crolles/06_ll_mos-ak03.ppt

Diagram (requires Internet Explorer!)

verilog-ams module

zspice netlist

zspice h file

zspice c file

cc

admsXml

zspiceZkt_dc.xml

zspiceModuleH.xml

zspiceModuleC.xml

zspiceBasic.h

zspiceMath.h

zspiceInterface.h

zsp library

zspice

results in zspice format

results in SVG format

svg.pl

SVGviewer displays the results inside a web browser

Download and Installation

Only binaries for Windows are available.

Use link: http://sourceforge.net/projects/mot-zspice

Basic Options

If you run:

How to implement new modules into ZSPICE

The ZSPICE API interface consists of four files (it is created by zspice -i):

If you want to add a new module into ZSPICE you need to write a bench of c code that follows the rules of the ZSPICE API interface. (see header files above, I am still writing a documentation on the header files.)

This solution is tedious. It requires to calculate partial derivatives by hand.

A better solution to introduce a new compact model into Zspice is to use adms , a multi-purpose code generator, and code the new model in verilog-ams.

More specifically, if you want to add mextram you have to execute the following commands:

Examples of Implemented Modules

Dynamic libraries for windows200

verilog-ams source code

description

netlist created by zspiceZkt_dc.xml

SP

not provided

Surface Potential Model developed at Penn State University

sp_dc.zkt

MEXTRAM

mextram.va

Philips Bipolar Compact Model

mextram_dc.zkt

BSIM4

not implemented

Berkeley MOS model

VBICSELFT

vbicselft.va

Vertical Bipolar Intercompany Model

vbicselt_dc.zkt

R3

r3.va

Three Terminal Resistor

r3_dc.zkt

Note:

I wish to thank Colin McAndrew, Prof G. Gildenblat, Prof. Slobodan Mijalkovic who gave me the permission to post VBICSELFT, SP and MEXTRAM respectively.

Running a simulation using VBICSELT

In this section we run a simulation using vbciselft and display the result using the Adobe SVGViewer.

Steps:

Related project

http://sourceforge.net/projects/mot-adms

Auto-Validation | feedback

Valid XHTML 1.0!

Valid CSS!