A recent commit to tracegen.scala introduced a call to BitPat() which
seems to mess up the subsequent call to Lookup(). (This function
seems undocumented so I'm not sure what's going on.) As a fix, I've
removed the call to BitPat() and replaced Lookup() with MuxLookup().
The emulator now requires an ELF file even when running ground tests.
(The ELF contains the tohost and fromhost addresses for communication
with the FESVR.)
A step towards moving the tracegen scripts from rocket-chip to
groundtest. I will raise an issue requesting that the scripts are now
removed from rocket-chip by someone with write access.
I have updated the README to account for the move.
This commit includes a bugfix from @mwachs5 (with slight mods by me)
relating to potential division by zero in toaxe.py.
Remove occurrences of ../scripts/ and instead state that it must be in
your PATH. Also drop the content introducing the isit script as
tracegen+check.sh subsumes this.
(1) Introduce tracegen.py, a script that invokes the emulator (built
with TraceGenConfig), sending a SIGTERM once all cores are finished.
(2) Update toaxe.py to gather some statistics about the trace.
(3) Introduce tracestats.py, which displays the stats in a useful way.
(4) Introduce tracegen+check.py, a top-level script that generates
traces, checks them, and emits stats. If this commit is pulled, it
should be done after pulling my latest groundtest commit.