Skip to content

script: filter out unreachable files#297

Open
fischeti wants to merge 5 commits intomasterfrom
fischeti/filter-script
Open

script: filter out unreachable files#297
fischeti wants to merge 5 commits intomasterfrom
fischeti/filter-script

Conversation

@fischeti
Copy link
Copy Markdown
Contributor

@fischeti fischeti commented Apr 2, 2026

script

Similar to the pickle command, the script command gains a new --top flag (can be specified multiple times), that will filter out all unreachable files from said top modules.

bender-slang

Changes resp. fixes the behaviour for duplicate defined symbols. The previous behaviour was actually wrong (also in the pickle command) because it was first-one-wins. Now it is last-one-wins which is also what all EDA tools do afaik.

Further, it adds a slang diagnostic language whenever a module name already exists. The diagnostic is slang style and reuses slang infrastructure for this.

Tests

Integration tests

There are now integration tests for script flist output to check for existence of files (or the lack thereof). The pickle repo test suite is extended for that with an example of a duplicate module definition.

Real-world tests

Tested in cheshire for vsim and vcs target here, pipeline passes. Reduces file list from 670 to 444.

Also tested in FlooNoc for vcs and synopsys (elaboration), where it even discovered a duplicate file in the bender manifest🤓

TODOs

  • Bump bender-slang once approved

@fischeti fischeti force-pushed the fischeti/filter-script branch 6 times, most recently from 0d4580e to 7930fa6 Compare April 2, 2026 14:10
@fischeti fischeti force-pushed the fischeti/filter-script branch from 7930fa6 to 4967432 Compare April 9, 2026 13:32
@fischeti fischeti force-pushed the fischeti/filter-script branch from 4967432 to c36b891 Compare April 9, 2026 15:31
@fischeti fischeti marked this pull request as ready for review April 9, 2026 16:26
@fischeti fischeti requested a review from micprog April 9, 2026 16:26
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.

1 participant