2.1 KiB
- Tasks
- File IO and test
- Stop exploding the heap with logs :DDD
- Fix DONE instruction for VM termination
- Add assembler
- Chisel tester
- Add LF
- Redo colors in fansi. ANSI fucks up string formatting
- Columnize log events
- Chisel test log evaluator
- Create giftWrapper script
- Better sourceinfo stuff
- Test options
- ish Step counter, pretty print VM log, including final memory state
- More programs
- Merge in LF changes
- Breakpoints
- Calculate steps needed
- Unmangle derailed traces
- Fix DONE instruction
- Hazard generator
- Semantic logging
- Interactive stepping
- Maybe
Tasks
DONE File IO and test
DONE Stop exploding the heap with logs :DDD
DONE Fix DONE instruction for VM termination
DONE Add setting instructions
DONE Add assembler
DONE Chisel tester
DONE Add LF
DONE Redo colors in fansi. ANSI fucks up string formatting
DONE Columnize log events
DONE Chisel test log evaluator
DONE Create giftWrapper script
DONE Better sourceinfo stuff
Good enough
DONE Test options
DONE How much NOP pad?
DONE Verbosity?
DONE Which tests?
DONE ish Step counter, pretty print VM log, including final memory state
TODO More programs
DONE Real programs
TODO Basic programs
Needs more
DONE Merge in LF changes
TODO Breakpoints
TODO VM breakpoints
TODO Record breakpoints in chisel tester
TODO Chisel breakpoints
TODO Freeze processor to record state
TODO Record breakpoints in chisel tester
TODO Draw breakpoints in the printer
TODO Calculate steps needed
TODO Unmangle derailed traces
With incorrect designs the trace printer ends up printing a lot of diveregent unsychnronizable blocks
DONE Fix DONE instruction
DONE Parse error
DONE Use DONE address
DONE Hazard generator
good enough
TODO Semantic logging
Currently logging is quite awkward, a combination of fansi and regular strings. Ideally a markdown format such as HTML should be used. There are already plenty good scala libraries for this, such as liyaohi's stuff (big shoutout!)
TODO Interactive stepping
This one is a pretty big undertaking, but it could be very useful to run the circuit in an interactiv environment. https://venus.cs61c.org/ is a good example of how useful this can be for a virtual machine. This task requires pretty good understanding of chisel.
Maybe
DONE Move instruction recording to IMEM rather than IF?
Only care about what IF gets, won't have to deal with whatever logic is in IF.
DONE Figure out why loading instructions backwards made shit werk
Not as funny as you'd think. The issue was overwriting the last written instruction with 0