[libre-riscv-dev] [Bug 114] reservation station "feedback" for further processing (FP64)

bugzilla-daemon at libre-riscv.org bugzilla-daemon at libre-riscv.org
Fri Aug 16 19:44:04 BST 2019


--- Comment #1 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
Investigating for several days, the combinatorial MultiIn/Out code was being
used, and is not working.

The reason it turns out is because when used for ReservationStations, the multi
in/out code only needs to send a single value.

Unfortunately, for pipelines, the "valid" signal travels with the data, but the
"ready" signal is sent on the PREVIOUS cycle.

Therefore if the ready is sent to one multi-in sender but on the next cycle the
"in" is flipped to a higher priority input, the data from the sender to which
the "ready" was sent is irretrievably lost.

The solution therefore is to have latches on every input, and to have the
multiplexer read first from those then go back to combinatorial routing.

It *might* be possible to buffer just the one data set, because only one input
will have been told that it was ok to send data.

You are receiving this mail because:
You are on the CC list for the bug.

More information about the libre-riscv-dev mailing list