TDT4255/TODO.org
2019-06-07 19:54:18 +02:00

2.1 KiB

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