Categories
Tool

Shifter Adiabatic Analysis Software

Overview

“Adiabatic analysis” is a structuring method for ngspice scripts that allows a user to create an adiabatic circuit simulation file. This version of the adiabatic analysis software supports shift registers.

Files will have the following sections:

  • A command line
  • A netlist with the circuit under test
  • A line that includes a fairly large software framework or test harness: .include saa.cir

The file saa.cir can be used for multiple circuits. The features of the test harness include:

  • DC supply voltages GND and Vp on 70 and 71
  • 8-phase clocks on 110-117, responsive to parameters for frequency and fine control of waveform shape
  • A power measurement subsystem that creates plots 1 and 2
  • Waveform plots 3 and 4, plotting signals wv3_nn and wv4_nn, nn = 00..23 generated by the circuit under test
  • A an ability to perform parameter sweeps

Setup Instructions

The following files must be present in the working directory:

  • saa.cir (this file): The main file, yet just containing a “test harness”; the user will run one of the main programs below:
  • sS2.cir: Static 2-Level Adiabatic Logic (S2LAL) shift register circuit, with .include saa.cir at the end
  • sQ2.cir: Quiet 2-Level Adiabatic Logic (Q2LAL) shift register circuit, with .include saa.cir at the end
  • snR.cir: nMOS Reversible Energy Recovery Logic (nRERL) shift register circuit, with .include saa.cir at the end
  • nn.cir: Note note prototype quantum computer control circuit, with .include saa.cir at the end

The following must be available:

  • The working directory must have a gp subdirectory. The software deposits output files in the subdirectory to reduce clutter
  • An ngspice installation. This file was tested with version 36. A gnuplot installation allows more sophisticated plots [ngspice 36, section 18.7.1].
  • modelcard.nmos and modelcard.pmos: device models for BSIM4 from ngspice distribution (optional)
  • ps_nsoi1_uni.58.scs and ps_psoi1_uni.58.scs: device models for the undisclosed SOI transistor undisclosed SOI
  • Sky130 PDK, see notes below (optional)

Simulation code is in the circuit file saa.cir in the github repository https://github.com/erikdebenedictis.

Categories
Tool

Adiabatic Analysis Software

The zip files below comprise the AA (Adiabatic Analysis) ngspice software. The software is licensed under Apache 2.0. There is no repository for changes at this time.

Version of 3:05 PM 3/13/2022

This release comprises eight .cir files. Installation instructions are in comments towards the end of aa.cir.

Supports multiple devices:

  • (MD=2) Compatibility check with e.cir, which uses the built-in BSIM3 model with default parameters.
  • (MD=3) Built-in BSIM3 model with default parameters.
  • (MD=4) BSIM4 test modelcards from the ngspice distribution. You must manually move the modelcard files; see comments in aa.cir.
  • (MD=5) Sky130. You must install the Sky130 PDK and “uncomment” some lines.
  • (MD=6) [undisclosed SOI]. Not for general use at this time.

Supports the following circuits:

  • Q2LAL shift registers
  • S2LAL shift registers
  • Two versions of a quantum computer controller based on Q2LAL
  • A CMOS work alike for one of the quantum computer controllers

Learning about the code and regression testing:

  • Running aa.cir with no modifications will produce the same output as running e.cir. This is a regression test.
  • The top of aa.cir contains a series of control lines of similar format. For purposes of identification, they start with *.param or .param. All but one of these lines should be commented out, meaning the one that is not commented out will control the run.
  • Each run will produce some plots and append a summary line to Adia.csv and CMOS.csv. (The current version of this software also appends a second line with the simulation run time.) You can open .csv files with Excel.
  • Summary lines have been incorporated into aa.cir immediately following the .param line that controlled run, forming another type of regression test. The summary lines include the energy dissipated during initialization and the remainder of the simulation run. If your run’s dissipation is the same (to five decimal places) as the one incorporated in aa.cir, the software is probably running correctly.
  • The summary lines in aa.cir have been manually edited so the last field contains the time and date of the run, the run time in seconds, and the name of the computer in the developer’s office that executed the run.
  • The scripts in this software are intended to be changed by the user. Some friendly advice is to run regression tests frequently and keep a lot of backup files because ngspice scripts are hard to debug.

The following zip file contains password-protected files for the convenience of the developer. You should not need these files because they are available on the Internet.