Skip to content

build: Replace morty with the bender slang pickle#110

Open
DanielKellerM wants to merge 1 commit into
develfrom
build/bender-pickle
Open

build: Replace morty with the bender slang pickle#110
DanielKellerM wants to merge 1 commit into
develfrom
build/bender-pickle

Conversation

@DanielKellerM

@DanielKellerM DanielKellerM commented Jun 10, 2026

Copy link
Copy Markdown
Collaborator
  • bender pickle (bender >= 0.32.0, slang frontend) replaces morty for all pickling: no sources.json indirection, no cf_math_pkg concat hack, ~25x faster.
  • Morty HTML docs and DOT hierarchy graphs are retired, along with their Sphinx references, the Graphviz CI step, and the morty CI installs.
  • Pickle output path stays target/morty for downstream compatibility; rename planned as a follow-up.
  • Verified: all 11 pickles compile clean in Questa 2023.4; module coverage is a superset of morty's for every top.

Merge before #111 (adjacent hunks in the same workflow files).
Follow-ups planned: target/pickle rename, bender script --top trimmed compile scripts, --ast-json-based doc graphs, db_dir dependency caching.

bender >= 0.32.0 pickles via its vendored slang frontend: no sources.json
indirection, no cf_math_pkg concat hack, and roughly 25x faster. Morty's
HTML doc and DOT graph outputs are retired together with their Sphinx
references, so morty and graphviz drop out of the prerequisites entirely.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR migrates iDMA’s “pickling” (single-file SystemVerilog extraction) flow from Morty to Bender’s pickle (slang frontend), simplifying the build pipeline and removing the Morty/Graphviz-based documentation artifacts and CI setup while keeping the existing target/morty output path for downstream compatibility.

Changes:

  • Switch idma.mk pickling from morty + sources.json + cf_math_pkg concatenation hack to bender pickle.
  • Remove Morty-generated HTML/DOT graph references from Sphinx sources and drop Graphviz/Morty installs from GitHub Actions workflows.
  • Bump required/installed Bender version to 0.32.0 and remove Morty from prerequisites/ignore lists.

Reviewed changes

Copilot reviewed 8 out of 9 changed files in this pull request and generated no comments.

Show a summary per file
File Description
README.md Updates prerequisites to require newer Bender and drops Morty requirement.
idma.mk Replaces Morty-based pickling and graph/doc generation with bender pickle; updates clean targets accordingly.
doc/src/midend.rst Removes Morty doc/graph references; keeps brief midend description.
doc/src/index.rst Removes Morty-generated documentation links and embedded hierarchy images.
doc/src/frontends/descriptor_fe.rst Removes Morty doc/graph references for the descriptor frontend section.
.gitignore Stops ignoring a top-level morty binary since CI no longer installs it.
.github/workflows/docs.yml Removes Graphviz and Morty install steps; installs Bender 0.32.0.
.github/workflows/deploy.yml Removes Morty install step; installs Bender 0.32.0.
.github/workflows/build.yml Removes Graphviz and Morty install steps; installs Bender 0.32.0.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants