[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