Python port of the Genesis2 Chip Generator (see
https://github.com/StanfordVLSI/Genesis2). Replaces the Perl runtime
with a pure-Python implementation while preserving the hierarchical
template schema (now .vpy / .svpy). Configuration is JSON; legacy
Genesis2 .xml configs convert via the bundled genesispy-xml2json
helper.
The repo ships shell launchers in bin/ (bin/genesispy, bin/gvpy)
that set PYTHONPATH to the sibling src/ and exec
python3 -m genesispy.cli. No build step, no pip -- just run from a
checkout:
./bin/genesispy --input top.vpy --top top --json config.jsonTo "install" to a destination, copy bin/ and src/ together (the
launchers resolve src/ as ../src relative to their own directory):
DEST=/path/to/install-dir
mkdir -p "$DEST"
cp -a bin src "$DEST/"
export PATH="$DEST/bin:$PATH"pip install -e .
# or
pip install --target /path/to/install-dir .After pip install -e .:
pytest tests/Without installing -- use the in-tree source via PYTHONPATH:
PYTHONPATH=src pytest tests/- doc/user-guide.md --
.vpysyntax, walkthrough, CLI reference forgenesispyandgvpy, migrating from Genesis2. - doc/code-structure.md -- pipeline, dedup, control surfaces.
- doc/interfaces.md -- frozen module-boundary contracts.
- doc/genesis2-incompatibilities.md -- non-obvious behavior differences from Perl Genesis2.