Graph-based netlist analysis tool for SKY130 post-synthesis netlists
Project description
netlist-graph
Graph-based netlist analysis tool for SKY130 post-synthesis netlists.
Installation
cd scripts/netlist_graph
uv sync
Usage
Search for nets
uv run netlist-graph search <netlist.v> <pattern>
Trace drivers (backwards)
uv run netlist-graph drivers <netlist.v> <net> [-d depth]
Trace loads (forwards)
uv run netlist-graph loads <netlist.v> <net> [-d depth]
Find path between nets
uv run netlist-graph path <netlist.v> <source> <target>
Generate trace configuration
Generate signal type and driver information:
# Simple output
uv run netlist-graph trace <netlist.v> <signal1> <signal2> ...
# Generate JSON for programmatic use
uv run netlist-graph trace <netlist.v> ibus__cyc rst_n_sync.rst --json
Generate watchlist file
Create a JSON watchlist for signal monitoring:
uv run netlist-graph watchlist <netlist.v> <output.json> <signal1> <signal2> ...
Example:
uv run netlist-graph watchlist design.v watch.json ibus__cyc rst_n_sync gpio_out
Interactive mode
uv run netlist-graph interactive <netlist.v>
Commands in interactive mode:
d <net>- find driversl <net>- find loadsp <src> <tgt>- find paths <pattern>- search netsc <net>- cone of influenceq- quit
Examples
# Find what drives the ibus_cyc signal
uv run netlist-graph drivers tests/timing_test/minimal_build/6_final.v "ibus__cyc" -d 8
# Trace reset synchronizer path
uv run netlist-graph drivers tests/timing_test/minimal_build/6_final.v "rst_n_sync.rst"
# Find path from reset input to CPU
uv run netlist-graph path tests/timing_test/minimal_build/6_final.v "gpio_in[40]" "ibus__cyc"
# Generate watchlist for debugging
uv run netlist-graph watchlist tests/timing_test/minimal_build/6_final.v watch.json \
ibus__cyc rst_n_sync.rst gpio_out[0] gpio_out[1]
Signal Types
The tool classifies signals based on their drivers:
reg- Driven by a flip-flop (dfxtp, dfrtp, etc.)mem- Driven by SRAMcomb- Combinational logic (gates, buffers)
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file netlist_graph-0.1.0.tar.gz.
File metadata
- Download URL: netlist_graph-0.1.0.tar.gz
- Upload date:
- Size: 21.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5c4089f2027a687ef875cdf8f847ea319748468668473564182ba2a6b39861fb
|
|
| MD5 |
6d0e5437b6ee1e46aa93c771a7158822
|
|
| BLAKE2b-256 |
cac7de29673129b32c7febfbb4adb2f7c620265a76c707dd6279c246906b992a
|
Provenance
The following attestation bundles were made for netlist_graph-0.1.0.tar.gz:
Publisher:
publish-netlist-graph.yml on gpu-eda/Jacquard
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
netlist_graph-0.1.0.tar.gz -
Subject digest:
5c4089f2027a687ef875cdf8f847ea319748468668473564182ba2a6b39861fb - Sigstore transparency entry: 1935616645
- Sigstore integration time:
-
Permalink:
gpu-eda/Jacquard@d9f8e4741ae5cf188d54cc14ffcfe2e0f30b4809 -
Branch / Tag:
refs/tags/netlist-graph-v0.1.0 - Owner: https://github.com/gpu-eda
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-netlist-graph.yml@d9f8e4741ae5cf188d54cc14ffcfe2e0f30b4809 -
Trigger Event:
push
-
Statement type:
File details
Details for the file netlist_graph-0.1.0-py3-none-any.whl.
File metadata
- Download URL: netlist_graph-0.1.0-py3-none-any.whl
- Upload date:
- Size: 18.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9c508128a3be31b72c5ea54a709d374d141c9ddd8018ab3b9207787bb9700642
|
|
| MD5 |
118b8b5f22fc8647c78316a6742f1ccb
|
|
| BLAKE2b-256 |
2b5999dcafa3547dec1a52866b2e9a0ea97a60169534fe38da1bbaa5ca3eb798
|
Provenance
The following attestation bundles were made for netlist_graph-0.1.0-py3-none-any.whl:
Publisher:
publish-netlist-graph.yml on gpu-eda/Jacquard
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
netlist_graph-0.1.0-py3-none-any.whl -
Subject digest:
9c508128a3be31b72c5ea54a709d374d141c9ddd8018ab3b9207787bb9700642 - Sigstore transparency entry: 1935616683
- Sigstore integration time:
-
Permalink:
gpu-eda/Jacquard@d9f8e4741ae5cf188d54cc14ffcfe2e0f30b4809 -
Branch / Tag:
refs/tags/netlist-graph-v0.1.0 - Owner: https://github.com/gpu-eda
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-netlist-graph.yml@d9f8e4741ae5cf188d54cc14ffcfe2e0f30b4809 -
Trigger Event:
push
-
Statement type: