[Libre-soc-bugs] [Bug 760] New: calculate signal values in a Topological Ordering
bugzilla-daemon at libre-soc.org
bugzilla-daemon at libre-soc.org
Thu Dec 23 18:33:19 GMT 2021
https://bugs.libre-soc.org/show_bug.cgi?id=760
Bug ID: 760
Summary: calculate signal values in a Topological Ordering
Product: Libre-SOC's second ASIC
Version: unspecified
Hardware: Other
OS: Linux
Status: CONFIRMED
Severity: enhancement
Priority: ---
Component: source code
Assignee: wielgusmikolaj at gmail.com
Reporter: programmerjake at gmail.com
CC: libre-soc-bugs at lists.libre-soc.org,
wielgusmikolaj at gmail.com
Blocks: 665
NLnet milestone: ---
https://libre-soc.org/irclog/%23libre-soc.2021-12-23.log.html#t2021-12-23T18:22:12
if you just have a single combinatorial circuit without feedback loops, you
should be able to calculate a topological ordering of the signals, such that
you don't need a simulate loop cuz it can always calculate all signal values in
a single step by calculating them in that specific ordering. this should
greatly simplify the produced c code and make it run faster cuz you don't need
the whole signal change tracking system.
https://en.wikipedia.org/wiki/Topological_sort
that would also help locate combinatorial loops (which is something not done at
the moment, at all, in nmigen Simulation, and it's a pain)
the only thing being a pain in the neck, that sort takes place across an entire
swathe of modules/fragments/processes
Referenced Bugs:
https://bugs.libre-soc.org/show_bug.cgi?id=665
[Bug 665] very basic nmigen-to-c compiler needed
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the libre-soc-bugs
mailing list