Skip to content

Clean up FastSimulation's handling of slice (s) LogicNets for ~15% speedup.#494

Open
fdxmw wants to merge 1 commit into
UCSBarchlab:developmentfrom
fdxmw:sim
Open

Clean up FastSimulation's handling of slice (s) LogicNets for ~15% speedup.#494
fdxmw wants to merge 1 commit into
UCSBarchlab:developmentfrom
fdxmw:sim

Conversation

@fdxmw

@fdxmw fdxmw commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

The previous implementation often generates slice code with unnecessary shifts and bitmasks. Slices are very common, so avoiding these unnecessary operations results in noticeably faster FastSimulation steps, using PyrtlNet as a benchmark.

This also cleans up some string formatting code, replacing slower string concatenations with faster f-strings. This results in a ~10% speedup for instantiating FastSimulation for PyrtlNet.

Add some type annotations.

…15% speedup.

The previous implementation often generates slice code with unnecessary shifts
and bitmasks. Slices are very common, so avoiding these unnecessary operations
results in noticeably faster FastSimulation steps, using PyrtlNet as a
benchmark.

This also cleans up some string formatting code, replacing slower string
concatenations with faster f-strings. This results in a ~10% speedup for
instantiating FastSimulation for PyrtlNet.

Add some type annotations.
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