You are on page 1of 5

Neuromorphic Engineering II Lab 2, Spring 2014 1

Lab 2 March 4, 2014

Spectre transient simulations

The objectives of this lab are to:

Learn how to use Cadence Spectre for transient (time-stepping) circuit simulations.
Unlike AC simulations, which are linearized around a DC operating point, transient
simulations use the full nonlinear device model. As a result they are much slower
but can reveal large signal and transient (e.g. startup) behavior. They are also the
only device-level simulations possible for unstable or multistable circuits like clock
generators, neuron circuits, or flip-flops.

Simulate an integrate and fire neuron circuit.

This week, we will use Cadence schematics editor to enter schematics and the circuit sim-
ulator Spectre to run transient circuit simulations.

2.1 Reading

Read the lecture notes and familiarize yourself with the concepts behind transient simula-
tions.

2.2 Prelab

1. Using the neuron circuit in Fig. 2.1, reason what happens to the membrane potential,
Vmem, when a DC input current is injected in the node Vmem itself, and charges up
the membrane. Also explain how the spike output Vout of the circuit behaves.

2. Create a schematic view for a cell called myaxonhillock. Draw the circuit in Fig 2.1
in the schematic view. Use the nfet and pfet cells from the AMS 0.18 device
library : cmhv7sf for the transistors. Choose sensible W and L values for the tran-
sistors. Use the ratios in Fig 2.1 as a guideline. Use the Metal-Insulator-Metal(MIM)
capacitor cell cmim from the cmhv7sf library for the capacitors.
Neuromorphic Engineering II Lab 2, Spring 2014 2

Figure 2.1: Axon Hillock circuit.

2.3 Simulation using Spectre

We will use Spectre to simulate the neuron circuit in Fig. 2.2. This is the first VLSI
integrate-and-fire circuit that was proposed by Carver Mead and colleagues in the late
eighties.

2.4 Experiments

You will run the Spectre transient simulations from within the analog design environment
(ADE). Launch ADE from the schematic window by selecting Launch - ADE L. Open
the Select analysis type window and choose transient simulations. Specify the end time
for the transient simulation. Select waveforms and currents for plotting using the outputs
- to be plotted - select on schematic menu option in ADE.

Experiment 2: Simulating the axon-hillock circuit

When you run simulations from ADE, Cadence automatically generates a netlist file which
is a text description of the schematic being simulated. In addition, the netlist file contains
information about the selected analysis type: ac, dc, transient, .. etc. The netlist file is
passed to Spectre for simulation. The netlist file can be explicitly created by selecting
Simulation - Netlist - Create in the ADE window. You can view the netlist file by selecting
Simulation - Netlist - Display.

You are requested to take notes of the simulations and hand-in a report in which you print
all the answers to the questions below and include the plots requested.

1. Display the netlist file and note how the circuit is described and how the sim-
Neuromorphic Engineering II Lab 2, Spring 2014 3

ulation type and simulation parameters are specified. What are the values of
the simulator parameters iabstol, vabstol, reltol, and gmin? What do
these parameters mean?(You may wish to consult the Spectre reference under
/opt/vlsi/cadence/installs/MMSIM72/doc/spectreref/spectreref.pdf).

2. By default, a DC analysis is run before the transient simulation to find the DC op-
erating point of the circuit. This DC operating point is then used as an initial point
for the transient simulation. Explain why this is problematic for the neuron circuit in
Fig. 2.2. (Hint: Does the circuit have a stable DC operating point?)

3. Run a Spice simulation, and study the output. Are the output waveforms like you
expect them to be from the pre-lab? Explain why (or why not).

4. Different options exist for the DC analysis that runs before the transient analysis.
Open the transient simulation options menu. Go to the algorithm tab and set
the skipdc option to rampup. Rerun the simulation. Set the skipdc option to
sigrampup. Run the simulation again. What is the difference in simulation results?
(You may want to check the Spectre reference to get a better idea of what these
options do)

5. If you want more control over the electrical conditions at the start of your simulation,
you can also use initial conditions to set nodes to defined voltages. These are accessed
in the ADE L under Simulation, Convergence Aids, Initial Condition. What
node should you set to what initial value for correct operation?

6. Re-run the simulations after setting iabstol to 1e-15 and gmin to 1e-15. You can
do that in the Simulations - options - analog menu in the ADE environment. How
do the simulation results differ? Why are these parameters especially important when
simulating subthreshold circuits with very small currents?

7. Change the value of the feedback capacitor and experiment with values ranging from
10fF to 500fF. Run the simulations for at least 3 different value settings. What
changes in the simulations? Can you eplain why?

8. Change the input current and re-run the simulation until you get 10 spikes in total.
Produce a plot of the waveforms on separate windows, with a zoomed version of just
2 spikes (and include it as a figure in the report).

9. What effect does the vpw voltage source in the circuit have on the neuron spikes?
Change vpw and generate a plot that shows how it affects the spike waveform.

10. We want to measure the average current that passes through the first inverter during
a simulation run. In the ADE, select Tools - Calculator. The calculator has many
functions that can be applied to voltage and current waveforms. We are interested
in finding the average of a current waveform obtained through transient simulation.
Select it in the calculator then click on the pin of one of the transistors in the first
inverter. Then select the average function. You now have an expression that calculates
the average value of the first inverter current. Right click in the output pane in ADE.
Select edit. click new expression. Then click the get expression button to get the
current expression in the calculator. Rerun the simulation in which you got 10 spikes
then note the value of the average current and put it in the report.
Neuromorphic Engineering II Lab 2, Spring 2014 4

Figure 2.2: Axon Hillock circuit.

11. Find out how to measure the average power dissipated through the Vdd voltage
source, re-run the simulation, and print in the report the result obtained. What per-
centage of the total power budget is dissipated by the first inverter? (hint: use the
current measurement made above to compute it).

Experiment 3: Low-power silicon neuron

Here you will run simulations on a new silicon-neuron circuit, and compare its power dis-
sipation with the one of the standard axon-hillock circuit.

1. Copy the axonhillock into a new cell (e.g. soma lowpower).

2. Modify the new cell, and create a circuit as shown in Fig. 2.3.

3. Run the simulation and verify that the circuit works as a silicon neuron.

4. Find the value of the input current that produces the same number of spikes used in
the axonhillock simulations, where you computed the average power dissipation .

5. Measure the average power dissipation of this circuit.

6. How does this power dissipation figure compare to the one of the axon-hillock cir-
cuit? What is the reason for this behavior? Explain this in the report.

Congratulations, you have done your first transient simulation in Spectre. Perhaps now you
can understand why people both love and hate simulators. Never forget that this is only a
simulation, and even the best transistor models dont capture everything that is important
for analog (or even digital) circuit performance.
Neuromorphic Engineering II Lab 2, Spring 2014 5

Figure 2.3: Axon Hillock circuit.

2.5 What we expect

How to use Spectre to run transient simulations? How to control the way in which spectre
handles the initial DC simulation that runs before the transient simulation? What are the
crucial accuracy parameters to watch out for in low current circuits? What are the limita-
tions of circuit simulators? What characteristics of circuits do they not model? What makes
a low-power silicon neuron so low-power?

2.6 Next Week

Layout creation and editing.

You might also like