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:
- Acquire SPICE files and transistor models for the cells you want to characterize
- Write a configuration YAML file for the library
- 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3e091f742a8d718739129749b956a007a16691f76332aadb7064720a28d2c545 |
|
MD5 | e14a5b9af11a0f18071d5e95bbfc3acf |
|
BLAKE2b-256 | 55d5e10516cc813b59012f9b59f86277a1a61bc5eee42132d3b88a98b7dd3e77 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | de3b18735bcbd598e37ab30234f3c13deaa9919ebd82987d1d4132371809d8fa |
|
MD5 | c6cc06b52702db06b1c8f0419628711b |
|
BLAKE2b-256 | 5f829d5f6bf19d0385c0406bead59a67f718d8412ff62603d2bd1cb983d5f482 |