Skip to main content

An open-source standard cell library characterizer

Project description

CharLib: An open-source standard cell library characterizer

  • 🔩 Supports combinational and sequential cells
  • 📈 Plots timing and I/O voltages
  • 🧑‍💻 Easy-to-use, with YAML-based configuration
  • 🐍 Implemented in Python 3 with a modified PySpice backend
  • 🌶️ Compatible with ngspice and Xyce

Introduction

CharLib is an open cell library characterizer originally based on libretto. The current version supports timing characterization of combinational and sequential cells.

Installation

CharLib can be installed from PyPI using pip:

# Install our customized version of PySpice
pip install git+https://github.com/infinitymdm/PySpice

# Install CharLib
pip install charlib

Make sure you also have a compatible circuit simulator. ngspice and xyce are currently supported.

Usage

charlib run path/to/library/config/

CharLib searches the specified directory for a YAML file containing a valid cell library configuration, then characterizes the specified cells. See yaml.md for information on constructing a config file.

The general process for using CharLib is as follows:

  1. Acquire SPICE files and transistor models for the cells you want to characterize
  2. Write a configuration YAML file for the library
  3. Run CharLib

References

[1] M. Mellor and J. E. Stine, "CharLib: an open-source characterization tool written in Python", 2023.
[2] Synopsys, "What is Library Characterization?", https://www.synopsys.com/glossary/what-is-library-characterization.html, 2023
[3] S. Nishizawa and T. Nakura, "libretto: An Open Cell Timing Characterizer for Open Source VLSI Design," IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences, 論文ID 2022VLP0007, [早期公開] 公開日 2022/09/13, Online ISSN 1745-1337, Print ISSN 0916-8508, https://doi.org/10.1587/transfun.2022VLP0007, https://www.jstage.jst.go.jp/article/transfun/advpub/0/advpub_2022VLP0007/_article/-char/ja,
[4] I. K. Rachit and M. S. Bhat, "AutoLibGen: An open source tool for standard cell library characterization at 65nm technology," 2008 International Conference on Electronic Design, Penang, Malaysia, 2008, pp. 1-6, doi: 10.1109/ICED.2008.4786726.
[5] E. Salman, A. Dasdan, F. Taraporevala, K. Kucukcakar and E. G. Friedman, "Exploiting Setup-Hold-Time Interdependence in Static Timing Analysis," IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol. 26, no. 6, pp. 1114-1125, June 2007, doi: 10.1109/TCAD.2006.885834.

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

charlib-1.0.0.tar.gz (40.4 kB view details)

Uploaded Source

Built Distribution

charlib-1.0.0-py3-none-any.whl (43.9 kB view details)

Uploaded Python 3

File details

Details for the file charlib-1.0.0.tar.gz.

File metadata

  • Download URL: charlib-1.0.0.tar.gz
  • Upload date:
  • Size: 40.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.10.13 Linux/6.5.11-263.current

File hashes

Hashes for charlib-1.0.0.tar.gz
Algorithm Hash digest
SHA256 3e091f742a8d718739129749b956a007a16691f76332aadb7064720a28d2c545
MD5 e14a5b9af11a0f18071d5e95bbfc3acf
BLAKE2b-256 55d5e10516cc813b59012f9b59f86277a1a61bc5eee42132d3b88a98b7dd3e77

See more details on using hashes here.

File details

Details for the file charlib-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: charlib-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 43.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.10.13 Linux/6.5.11-263.current

File hashes

Hashes for charlib-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 de3b18735bcbd598e37ab30234f3c13deaa9919ebd82987d1d4132371809d8fa
MD5 c6cc06b52702db06b1c8f0419628711b
BLAKE2b-256 5f829d5f6bf19d0385c0406bead59a67f718d8412ff62603d2bd1cb983d5f482

See more details on using hashes here.

Supported by

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