Skip to main content

Circuit Automatic Characterization Engine

Project description

CACE

Circuit Automatic Characterization Engine

License: Apache 2.0 GitHub Actions Status Badge Documentation Build Status Badge Python 3.8 or higher Code Style: blue

Invite to the Open Source Silicon Slack

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.

Installation

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:

Usage

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.

Development

Dependencies

[!IMPORTANT] You may need to set up a Python virtual environment.

To install the dependencies for CACE, run:

$ make dependencies

Python Package

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

Documentation

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.

Examples

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cace-2.1.10.tar.gz (320.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cace-2.1.10-py3-none-any.whl (150.5 kB view details)

Uploaded Python 3

File details

Details for the file cace-2.1.10.tar.gz.

File metadata

  • Download URL: cace-2.1.10.tar.gz
  • Upload date:
  • Size: 320.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for cace-2.1.10.tar.gz
Algorithm Hash digest
SHA256 ca0ce5f93029019c88d66174318bb7668d74b45c4f7681a776be52cacfbf1ba0
MD5 ce4c37b545fa78f2c7759e3dfad87b6c
BLAKE2b-256 953d935c47a13849605465416ac6e1b57537220c3866d043b2d2abed146bd15e

See more details on using hashes here.

File details

Details for the file cace-2.1.10-py3-none-any.whl.

File metadata

  • Download URL: cace-2.1.10-py3-none-any.whl
  • Upload date:
  • Size: 150.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for cace-2.1.10-py3-none-any.whl
Algorithm Hash digest
SHA256 a9768930db34c559eff22018ccb9129eb66fd395743c239d985f16a2f3cb10bd
MD5 3754ec38536721bce17c08b3102efa8b
BLAKE2b-256 07048318cf8384de1b9573b07f5799ded5edd347d74de3941a84af02c55ffd36

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page