Skip to main content

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.

Metadata

Release files for charlib 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for charlib 1.0.0
File Size Uploaded
charlib-1.0.0.tar.gz 40.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for charlib 1.0.0
File Interpreter ABI Platform
charlib-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 84.3 kB

Release files / charlib-1.0.0.tar.gz

Download URL charlib-1.0.0.tar.gz
Size 40.4 kB
Tags Source
SHA-256 checksum
How to use checksums
3e091f742a8d718739129749b956a007a16691f76332aadb7064720a28d2c545
BLAKE2b-256 checksum
How to use checksums
55d5e10516cc813b59012f9b59f86277a1a61bc5eee42132d3b88a98b7dd3e77
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.7.1 CPython/3.10.13 Linux/6.5.11-263.current

Release files / charlib-1.0.0-py3-none-any.whl

Download URL charlib-1.0.0-py3-none-any.whl
Size 43.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
de3b18735bcbd598e37ab30234f3c13deaa9919ebd82987d1d4132371809d8fa
BLAKE2b-256 checksum
How to use checksums
5f829d5f6bf19d0385c0406bead59a67f718d8412ff62603d2bd1cb983d5f482
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.7.1 CPython/3.10.13 Linux/6.5.11-263.current

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

0.9.4

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page