[libre-riscv-dev] multi-in. multi-out pipeline

Luke Kenneth Casson Leighton lkcl at lkcl.net
Wed Mar 27 15:13:22 GMT 2019


okaaay i have the multi-output pipeline class working.  this turned
out to be a hell of a lot simpler, as it's merely a matter of using a
multiplexer ID to select which one of the output ready/valid/data
array items to "activate", and all the others have to have their
o_valid output set to zero.

errr... that's it :)

the unit test has four outputs with associated receiver functions
(recv(0), recv(1).... 3) added to the simulation, each of them can
stall deliberately for a random period, which changes in the duration
it is applied for so that there is occasional periods of no-stalling
and occasional periods of long-stalling.

also the sending can also randomly, so that testing of as many of the
possible conditions of input or output stalling and being occupied is
covered.

again this is entirely a combinatorial block: i am utterly confused as
to how it works :)

https://git.libre-riscv.org/?p=ieee754fpu.git;a=blob;f=src/add/multipipe.py;hb=HEAD

l.



More information about the libre-riscv-dev mailing list