17 breaking releases
new 0.18.0 | Apr 14, 2025 |
---|---|
0.16.0 | Apr 11, 2025 |
0.15.0 | Feb 14, 2025 |
0.12.0 | Nov 19, 2024 |
#232 in Hardware support
1,500 downloads per month
Used in topstitch
41KB
956 lines
slang-rs
Parse SystemVerilog with Slang using a Rust API.
Note: the API is currently under development and is subject to frequent changes.
Prerequisite
First install the Slang parser. We recommend building it from source.
curl -LO "https://github.com/MikePopoloski/slang/archive/refs/tags/v6.0.tar.gz"
tar xzvf v6.0.tar.gz
cd slang-6.0
cmake -B build
cmake --build build -j8
This will take a few minutes. Then set an environment variable to specify the location of the Slang binary:
export SLANG_PATH=`realpath build/bin/slang`
Installation
Install Rust if you don't have it already:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Then clone this repository:
git clone https://github.com/xlsynth/slang-rs.git
To run the tests:
cd slang-rs
cargo test
Development
We use pre-commit as part of our CI pipeline.
If you haven't already installed pre-commit
, you can do so with:
pip install pre-commit
Then install the pre-commit hooks for this repository with:
pre-commit install
The pre-commit hooks will run automatically when you attempt to commit code. You can also run pre-commit checks on-demand with:
pre-commit run
Dependencies
~7–18MB
~284K SLoC