TA Page Home

Accessing vlsicad

CAD Tools Setup

Design Flow

Selected Links

CAD tools demos

HSPICE tutorial

How to Simulate the Netlist Extracted from PEX on HSPICE

After performing PEX you will get the following netlist files:

·         Main HSPICE netlist "NAND2.pex.netlist" contains only the intentionally designed devices.
Filenames with the extensions ".pex" and ".pxi" files are included in the "NAND2.pex.netlist"

  • The .pex file (actually called "NAND2.pex.netlist.pex") contains one subckt per net: each subckt containing the RC tree structure modeling the net.
  • The .pxi file (actually called "NAND2.pex.netlist.NAND2.pxi") contains the connections between the parasitic networks i.e. containing the instance calls to the net model subckts along with the coupling capacitors connecting between these net model instances.

The NAND2.pex.netlist is as shown below

* File: NAND2.pex.netlist

* Program "Calibre xRC"

* Version "v2006.1_19.20"

*

.include "NAND2.pex.netlist.pex"

.subckt NAND2  GND! Z VDD! A B

*

* B      B

* A      A

* VDD!           VDD!

* Z       Z

* GND!           GND!

MM1 X N_A_MM1_g N_GND!_MM1_s N_GND!_MM1_b NMOS_VTL L=5e-08 W=9e-08

MM0 N_Z_MM0_d N_B_MM0_g X N_GND!_MM1_b NMOS_VTL L=5e-08 W=9e-08

MM2 N_Z_MM2_d N_A_MM2_g N_VDD!_MM2_s N_VDD!_MM2_b PMOS_VTL L=5e-08 W=9e-08

MM3 N_Z_MM2_d N_B_MM3_g N_VDD!_MM3_s N_VDD!_MM2_b PMOS_VTL L=5e-08 W=9e-08

*

.include "NAND2.pex.netlist.NAND2.pxi"

*

.ends

*

*

The netlist has a NAND sub-circuit defined in the following definition

“.subckt NAND2  GND! Z VDD! A B”

Here the NAND gate has name NAND2 and has inputs and outputs named GND!, Z, VDD!, A and B.

In order to be able to simulate the NAND2 gate in HSPICE we need to perform the following modification (Given in RED)

* File: NAND2.pex.netlist

* Program "Calibre xRC"

* Version "v2006.1_19.20"

*

.include "NAND2.pex.netlist.pex"

.subckt NAND2  GND! Z VDD! A B

*

* B      B

* A      A

* VDD!           VDD!

* Z       Z

* GND!           GND!

MM1 X N_A_MM1_g N_GND!_MM1_s N_GND!_MM1_b NMOS_VTL L=5e-08 W=9e-08

MM0 N_Z_MM0_d N_B_MM0_g X N_GND!_MM1_b NMOS_VTL L=5e-08 W=9e-08

MM2 N_Z_MM2_d N_A_MM2_g N_VDD!_MM2_s N_VDD!_MM2_b PMOS_VTL L=5e-08 W=9e-08

MM3 N_Z_MM2_d N_B_MM3_g N_VDD!_MM3_s N_VDD!_MM2_b PMOS_VTL L=5e-08 W=9e-08

*

.include "NAND2.pex.netlist.NAND2.pxi"

*

.ends

*

*****************************ADD THE FOLLOWING LINES****************************

.OPTION POST

.include ‘/opt/cadence/FreePDK45/ncsu_basekit/models/hspice/hspice_nom.include’     ** INCLUDE THE MODEL FILE

x1 GND! Z VDD! A B NAND2                 ** Instantiation of NAND2. “x1” is name of the instance and should always start with an “x”

Vsupply  VDD!  GND! DC 1.1V                ** Input supply voltage of 1.1 Volts

VA      A GND! PWL (0s 0V 10ns 0V 10.020ns 1.1V 20ns 1.1V 20.020ns 0V 30ns 0V)    ** Input “A” waveform

VB      B GND! PWL DC 1.1V                                                                                              ** Input “B” waveform

.tran 1ps 50ns                                                                                                                           ** Transient analysis

.end

 

Now you will be able to run the netlist in in HSPICE using the following command:

~> hspice NAND2.pex.netlist