[Libre-soc-dev] Simple-V svp64 draft spec

Luke Kenneth Casson Leighton lkcl at lkcl.net
Sat Jan 30 13:09:06 GMT 2021


On Sat, Jan 30, 2021 at 1:41 AM Luke Kenneth Casson Leighton <lkcl at lkcl.net>
wrote:

> this was done consistently right across the board, because it turns out
that all placement of RS into in3_sel leaves in1_sel empty in all entries
in decode1.vhdl

"done consistently" was a clue.  i just checked:
https://github.com/antonblanchard/microwatt/blob/master/decode1.vhdl

        --          unit     internal      in1         in2          in3
        38 =>       (LDST,   OP_STORE,     RA_OR_ZERO, CONST_SI,    RS,
NONE,

this is not altered (microwatt-libresoc consistent for RS) and neither were
any other LD/STs.

        --          unit     internal      in1         in2          in3
        26 =>       (ALU,    OP_XOR,       NONE,       CONST_UI,    RS,
RA,

this *was* altered - and anything else that had RS in in3, where in1 was
NONE, were *consistently* moved from in3 to in1.  Logical, Shift,
sign-extend, the lot.

consequently, a simple algorithm when loading the CSV files can be deployed:
    if in1==RS and in3==NONE:
        in1=NONE, in3=RS

and we're good :)

l.


More information about the Libre-soc-dev mailing list