CACE is a set of python scripts that take an input file in the CACE 4.0 format and uses the information found there in combination with CACE-compatible testbenches and analysis scripts to characterize a circuit and to produce a datasheet showing the circuit performance.
You'll need the following:
- Python 3.8 or higher with PIP and Tkinter
CACE can be installed directly from PyPI:
$ python3 -m pip install --upgrade cace
Prerequisite design tools:
- xschem: https://github.com/stefanschippers/xschem
- ngspice: git://git.code.sf.net/p/ngspice/ngspice
- magic: https://github.com/RTimothyEdwards/magic
Some of the measurements require:
- octave: https://octave.org/
If installed as Python package, CACE can be started from the command line using:
$ cace
Or to start the GUI:
$ cace-gui
Information on how to use CACE can be found in the documentation at cace.readthedocs.io.
Important
You may need to set up a Python virtual environment.
To install the dependencies for CACE, run:
$ make dependencies
To build the Python package, run:
$ make build
To install the package, run:
$ make install
To install the package in editable mode, run:
$ make editable
To build the documentation, run:
$ make docs
To host the docs, run:
$ make host-docs
To automatically refresh the docs upon changes, run:
$ make auto-docs
Note
The latest documentation can be viewed online at cace.readthedocs.io.
The following repositories contain example circuit designs, each having a "cace/" subdirectory with a specification input file in the format described below, and a set of testbench schematics which are used by CACE to measure all specified electrical and physical parameters, generate results, and analyze them to determine circuit performance over corners.
Note
Example repositories, like CACE itself, are currently a work in progress.
All repositories are rooted at: https://github.com/RTimothyEdwards/.
Example circuit repositories:
- sky130_ef_ip__instramp Instrumentation amplifier
- sky130_ef_ip__rdac3v_8bit 8-bit resistor ladder DAC
- sky130_ef_ip__samplehold sample-and-hold circuit
- sky130_ef_ip__driveramp Rail-to-rail driver amplifier
- sky130_ef_ip__ccomp3v Rail-to-rail continuous comparator
- sky130_ef_ip__rc_osc_500k R-C oscillator, 500kHz nominal output
- sky130_ef_ip__xtal_osc_16M Crystal oscillator, 4 to 15MHz
- sky130_ef_ip__xtal_osc_32k Crystal oscillator, 32kHz
Each of these repositories contains a circuit designed with the SkyWater sky130 process open PDK, and contains schematics, layout, and CACE characterization.
Note
These repositories are a work in progress, and may not exist yet or may not have a characterization setup for CACE.