[libre-riscv-dev] Scoreboards

Luke Kenneth Casson Leighton lkcl at lkcl.net
Mon May 20 05:07:56 BST 2019


https://libre-riscv.org/3d_gpu/6600scoreboard/

samuel hi, i've started a page documenting the modifications needed,
in particular, the one that requires an addition of a "RD_REQ_REL"
signal is critical.

without that signal, when there are no outstanding read hazards, the
big NOR gate will generate a PERMANENT always-on condition that, in
turn, causes *IDLE* Function Units to confuse the priority picker.

to fix this, just as there is a write release-request there *must*
also be a *read* release-request.

watch out for combinatorial loops: yes, Go_Read goes in to the
Computation Unit, comes out after ANDing with Busy, goes through to
the priority picker which then feeds *BACK* into the Computation
Unit(s).

doesn't matter that there's only one of the Go_Read signals selected,
it's still a loop, so those Computation Unit latches must be made
clock-synchronous (replace with something based on a DFF)

l.



More information about the libre-riscv-dev mailing list