[libre-riscv-dev] daily kan-ban update 11jun2020

Cesar Strauss cestrauss at gmail.com
Thu Jun 11 22:02:18 BST 2020


Ongoing:

* Work on the parallel test concept in
src/soc/experiment/test/test_compalu_multi.py.

Recently:

* Implement proper ready / valid signaling on the test ALU at
src/soc/experiment/alu_hier.py

Today:

* Looking into compldst_multi.py's unit tests to confirm that they are
properly functional
* (off-project): git bisecting systemd due to getting system freezes
after an upgrade. Fun.

Interesting tools and readings, to share:

* Pipelined Skid Buffer

http://fpgacpu.ca/fpga/Pipeline_Skid_Buffer.html

The circuit itself is useful, for meeting timing on long pipelines. But,
specially, I find it a nice example of the Finite State Machine (FSM)
technique, from requirements, concept and diagram, to design and
implementation. Doesn't cover unit tests and formal proofs, though.

* GTKWave package, from the PyVCD module

https://pyvcd.readthedocs.io/en/latest/vcd.gtkw.html

While used in a limited way by nMigen itself, for pre-filling traces in
a GTKWave window, it can do much more: comments, blank separators, trace
colors, scale, etc.

* Synchronous Resets? Asynchronous Resets? I am so confused! How will I
ever know which to use? by Clifford E. Cummings

http://www.sunburst-design.com/papers/CummingsSNUG2002SJ_Resets.pdf

* Clock Domain Crossing (CDC) Design & Verification Techniques Using
SystemVerilog, by Clifford E. Cummings

http://www.sunburst-design.com/papers/CummingsSNUG2008Boston_CDC.pdf

In particular, see section 5.8.2: Multi-bit CDC signal passing using
1-deep / 2-register FIFO synchronizer.

* Understanding Latency Hiding on GPUs, by Vasily Volkov

http://www2.eecs.berkeley.edu/Pubs/TechRpts/2016/EECS-2016-143.pdf

Nice introductory chapter on internal GPU architecture.

Regards,

Cesar



More information about the libre-riscv-dev mailing list