| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Interchange formats for chip design.
Vlsir defines data schema for integrated circuit (IC) circuits, layouts, and simulations, using Google's Protocol Buffer schema definition language.
The name Vlsir is a merger of VLSI (very large scale integration - a way-outdated chip-world acronym) and IR (intermediate representation - the term every cool-kid copying compiler designers uses nowadays).
All of Vlsir's schema-definitions live in the protos directory.
| Schema | Description |
|---|---|
| Circuit | Circuit / Hardware Descriptions |
| Raw Layout | "Raw Polygon" IC Layout |
| Tetris Layout | "Tetris" Gridded IC Layout |
| Spice | Spice-Class Simulator Interface |
| Utilities | Shared Utilities |
Vlsir defines a data schema, which related projects use in code. Projects using vlsir can be written in any language with protobuf-compiler bindings - which includes essentially every popular programming language. Existing projects have prominently used Python, C++, and Rust. In this repository we have supported bindings for Python and Rust which can be found in bindings and downloaded from their respective package managers:
| Language | Bindings Package | Compiler |
|---|---|---|
| Python | https://pypi.org/project/vlsir/ | Google protoc |
| Rust | https://crates.io/crates/vlsir | Prost |
The Vlsir repository also serves as home for the Python-language VlsirTools package. VlsirTools is a collection of tools for working with Vlsir's schema, including:
The repository includes build scripts for Python, Rust, C++, Javascript and Julia bindings, of which only Rust and Python are actively maintained and tested. These can all be built individually with scripts/build_<your-language-here>.sh or with either of the two joint scripts:
To build, run the script below:
git clone git@github.com:Vlsir/Vlsir cd Vlsir scripts/build_<build_flavour>.sh
Ongoing, co-developed projects which use vlsir:
| Project | Description | Language |
|---|---|---|
| Hdl21 | Generator-Based Hardware Description Library | Python |
| Layout21 | Multi-Layered Layout-Programming | Rust |
| BFG | Layout Generation for Open-Source FPGAs | C++ |
| Back | FazBrowse Home | New Git URL |