WIP: add a simulator #3

Draft
programmerjake wants to merge 36 commits from adding-simulator into master

36 commits

Author SHA1 Message Date
Jacob Lifshay 4422157db8
WIP adding enums to simulator
All checks were successful
/ deps (push) Successful in 23s
/ test (push) Successful in 5m17s
/ deps (pull_request) Successful in 13s
/ test (pull_request) Successful in 5m19s
2024-12-02 21:06:23 -08:00
Jacob Lifshay d3f52292a1
test doc tests in CI
All checks were successful
/ deps (push) Successful in 16s
/ test (push) Successful in 5m16s
/ deps (pull_request) Successful in 13s
/ test (pull_request) Successful in 5m18s
2024-12-01 20:21:26 -08:00
Jacob Lifshay fd45465d35
sim: add support for registers
All checks were successful
/ deps (push) Successful in 19s
/ test (push) Successful in 5m1s
/ deps (pull_request) Successful in 14s
/ test (pull_request) Successful in 5m0s
2024-12-01 20:14:13 -08:00
Jacob Lifshay 5e0548db26
vcd: single bit signals have no spaces in their value changes 2024-12-01 20:12:43 -08:00
Jacob Lifshay 12b3ba57f1
add some ExprCastTo supertraits to ResetType to make generic code easier 2024-12-01 20:10:25 -08:00
Jacob Lifshay 965fe53077
deduce_resets: show more debugging info on assertion failure 2024-12-01 20:09:17 -08:00
Jacob Lifshay 3abba7f9eb
simulating circuits with deduced resets works
All checks were successful
/ deps (push) Successful in 15s
/ test (push) Successful in 4m58s
/ deps (pull_request) Successful in 14s
/ test (pull_request) Successful in 4m58s
2024-11-27 23:52:07 -08:00
Jacob Lifshay 6446b71afd
deduce_resets works!
All checks were successful
/ deps (push) Successful in 18s
/ test (push) Successful in 4m56s
/ deps (pull_request) Successful in 13s
/ test (pull_request) Successful in 5m0s
2024-11-27 23:24:11 -08:00
Jacob Lifshay d36cf92d7f
make ToReset generic over the reset type 2024-11-27 23:19:55 -08:00
Jacob Lifshay d744d85c66
working on deduce_resets
All checks were successful
/ deps (push) Successful in 16s
/ test (push) Successful in 4m57s
/ deps (pull_request) Successful in 13s
/ test (pull_request) Successful in 5m3s
2024-11-27 01:31:18 -08:00
Jacob Lifshay 358cdd10c8
add more expr casts 2024-11-27 01:30:28 -08:00
Jacob Lifshay 9128a84284
Merge remote-tracking branch 'origin/master' into adding-simulator
All checks were successful
/ deps (push) Successful in 15s
/ test (push) Successful in 4m55s
/ deps (pull_request) Successful in 14s
/ test (pull_request) Successful in 4m58s
2024-11-26 21:28:22 -08:00
Jacob Lifshay 546010739a
working on deduce_resets
Some checks failed
/ deps (push) Successful in 15s
/ test (push) Has been cancelled
/ deps (pull_request) Successful in 13s
/ test (pull_request) Successful in 5m1s
2024-11-26 21:26:56 -08:00
Jacob Lifshay 9b5f1218fd
make ClockDomain and Reg generic over reset type
All checks were successful
/ deps (push) Successful in 15s
/ test (push) Successful in 4m57s
/ deps (pull_request) Successful in 13s
/ test (pull_request) Successful in 4m55s
2024-11-26 20:47:03 -08:00
Jacob Lifshay 89d84551f8
add ResetType to the list of recognized type bounds 2024-11-26 18:52:03 -08:00
Jacob Lifshay 7851bf545c
working on deduce_resets.rs
All checks were successful
/ deps (push) Successful in 19s
/ test (push) Successful in 4m53s
/ deps (pull_request) Successful in 13s
/ test (pull_request) Successful in 4m52s
2024-11-26 00:07:11 -08:00
Jacob Lifshay 3e3da53bd2
working on deduce_resets
All checks were successful
/ deps (push) Successful in 16s
/ test (push) Successful in 4m54s
/ deps (pull_request) Successful in 13s
/ test (pull_request) Successful in 4m53s
2024-11-25 00:01:02 -08:00
Jacob Lifshay fa50930ff8
update petgraph dependency to include UnionFind::new_set() 2024-11-25 00:00:26 -08:00
Jacob Lifshay 9516fe03a1
increase rust version in CI too
All checks were successful
/ deps (push) Successful in 15s
/ test (push) Successful in 4m57s
/ deps (pull_request) Successful in 14s
/ test (pull_request) Successful in 5m1s
2024-11-24 14:46:25 -08:00
Jacob Lifshay 52ab134673
increase rust version to support omitting match arms with uninhabited types
Some checks failed
/ deps (push) Successful in 17s
/ test (push) Failing after 1m18s
/ deps (pull_request) Successful in 13s
/ test (pull_request) Failing after 1m17s
2024-11-24 14:41:39 -08:00
Jacob Lifshay 698b8adc23
working on deduce_resets pass
Some checks failed
/ deps (push) Successful in 16s
/ test (push) Failing after 1m30s
/ deps (pull_request) Successful in 13s
/ test (pull_request) Failing after 1m32s
2024-11-24 14:39:32 -08:00
Jacob Lifshay 59be3bd645
WIP working on implementing deduce_resets pass
Some checks failed
/ deps (push) Successful in 18s
/ test (push) Failing after 1m31s
/ deps (pull_request) Successful in 13s
/ test (pull_request) Failing after 1m31s
2024-11-24 03:44:31 -08:00
Jacob Lifshay 913baa37e9
WIP adding deduce_resets pass
All checks were successful
/ deps (push) Successful in 19s
/ test (push) Successful in 4m46s
/ deps (pull_request) Successful in 13s
/ test (pull_request) Successful in 4m45s
2024-11-22 16:07:18 -08:00
Jacob Lifshay 11ddbc43c7
writing VCD for combinatorial circuits works!
All checks were successful
/ deps (push) Successful in 15s
/ test (push) Successful in 4m46s
/ deps (pull_request) Successful in 13s
/ test (pull_request) Successful in 4m45s
2024-11-20 22:53:54 -08:00
Jacob Lifshay c4b5d00419
WIP adding VCD output 2024-11-20 22:53:54 -08:00
Jacob Lifshay 09aa9fbc78
wire up simulator trace writing interface 2024-11-20 22:53:54 -08:00
Jacob Lifshay 288a6b71b9
WIP adding VCD output 2024-11-20 22:53:54 -08:00
Jacob Lifshay 0095570f19
simple combinatorial simulation works! 2024-11-20 22:53:54 -08:00
Jacob Lifshay f54e55a143
Simulation::settle_step() works for simple modules 2024-11-20 22:53:54 -08:00
Jacob Lifshay a6e40839ac
simulator WIP: use petgraph for topological sort over assignments 2024-11-20 22:53:54 -08:00
Jacob Lifshay 3106a6fff6
working on simulator... 2024-11-20 22:53:54 -08:00
Jacob Lifshay f338f37d3e
working on simulator 2024-11-20 22:53:54 -08:00
Jacob Lifshay 277d3e0d4d
working on simulator 2024-11-20 22:53:54 -08:00
Jacob Lifshay b288d6f8f2
add missing copyright headers 2024-11-20 22:53:54 -08:00
Jacob Lifshay 479d59b287
WIP implementing simulator 2024-11-20 22:53:54 -08:00
Jacob Lifshay 6f904148c4
WIP adding simulator 2024-11-20 22:53:54 -08:00