Circuit Analysis of NMOS Inverters : Circuit Analysis of NMOS Inverters

Requires: S-Pisces/MixedMode
Minimum Versions: Atlas 5.22.1.R

This example uses the MixedMode module in Atlas to simulate the circuit performance of two NMOS inverters in series. The first inverter is simulated using Atlas, the second inverter using SPICE level 1 models. This simulation shows how to:

  • Create an NMOS structure using Atlas syntax
  • Calculate the initial DC state in circuit mode
  • Simulate the DC transfer curve of the inverters.
  • Simulate the transient switching curve of the inverters.

The input file consists of four separate runs, each starting with the statement go atlas. The first one uses the Atlas syntax to construct an NMOS transistor. The mesh, regions and electrodes are specified as coordinates in the syntax. It is compulsory to use electrode names (and not just numbers) when the structure is used in MixedMode. The doping distribution for the device is constructed from several gaussian and uniform analytical functions. The final structure is saved for later use.

The second run calculates the initial operating point of the circuit. The syntax for this run is split into two parts. The first is a SPICE-like circuit description and control cards. This part is bounded by .begin and .end . The second is device parameter syntax. The circuit netlist is written using standard SPICE syntax. This example has two inverters composed of an NMOS transistor and resistor connected in series feeding into a capacitor.

The two NMOS transistors are defined is different ways. The first labeled an is to be simulated in Atlas. The syntax specifies the structure file name from the previous run, and also connects the circuit nodes to electrode names. The other NMOS transistor labeled 'mn' is simulated using using SPICE level 1 model labeled 'simple'.

After the .end statement the device parameter syntax is given. This sets the models, material and contact parameters for the Atlas device.

The second run solves a single DC operating point as the initial guess to the third run. The third run uses the command .dc to set a DC ramp of the input voltage 'vin' from zero to 5.0V in 0.25V steps. The currents and voltages for each node are stored in the file specified in the .log statement.

The final run uses the .tran statement combined with a time dependent definition of 'vin' using the PULSE parameter to set up a switching transient. The PULSE syntax specifies that the pulse of 'vin' has a peak value of 5.0V, a rise and fall time of 50ps, and a time at peak value of 1ns. On the .tran statement, 1ps specifies the initial timestep only. All other timesteps are automatically calculated by Atlas. This differs from the .tran card in standalone SPICE programs. The maximum simulation time is set to 3ns.

To load and run this example, select the Load example button in DeckBuild. This will copy input file and any support files to your current working directory. Select the run button to execute the example.