[libre-riscv-dev] daily kan-ban update 20jul2020
Cesar Strauss
cestrauss at gmail.com
Mon Jul 20 20:14:46 BST 2020
Yesterday:
* Finished an example of a FSM-based Shifter:
src/soc/experiment/alu_fsm.py
https://bugs.libre-soc.org/show_bug.cgi?id=417
* Started investigating a difference in simulation results between pysim
and cxxsim, with regards to the Shifter example.
It was established that cxxsim probably has a bug.
https://github.com/nmigen/nmigen/issues/439
Today:
* Continue investigating the potential bug in cxxsim.
I think the test case can be simplified by taking out the SHIFT state
and keeping just the handshake states (IDLE and DONE). This would imply,
in turn, that a one bit register should be enough to trigger the problem.
Will add my findings to nMigen #439.
* Fix alu_fsm.py to work in pysim again.
Next:
* Shave an extra cycle from the Shifter, by short-circuiting IDLE and
going straight to SHIFT, when valid_i is already high at DONE. Most
likely, will do it in a new Shifter, to keep this one as simple as possible.
* Thinking about implementing an almost-free exponential speedup, by
shifting by 1,2,4,.. in sequence.
* Simplify my half-finished parallel test case in
src/soc/experiment/test/test_compalu_multi.py, which is too detailed.
Just test for functionality, leave correctness to formal proofs.
* Investigate the possibility to generate useful, structured, commented,
color-formatted gtkw templates in test cases, using the vcd.gtkw module
from pyvcd (which is already a dependency of nMigen).
Cesar
More information about the libre-riscv-dev
mailing list