[libre-riscv-dev] [Bug 336] ALU CompUnit needs to recognise that RA (src1) can be zero

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Mon Jun 1 13:01:22 BST 2020


https://bugs.libre-soc.org/show_bug.cgi?id=336

--- Comment #44 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
(In reply to Cesar Strauss from comment #41)
> I updated the unit test to deal with rdmaskn.
> 
> For how long rdmaskn must be held valid?

the entire time (the entire busy cycle)

> If I assert it for only one cycle,
> together with issue_i, it doesn't work. rel still rises on the next cycle.
> 
> Shouldn't it be latched, as with zero_a and imm_ok?

hmmm hmmm that's a really good point.  actually... it should be generated
from the Decoder2 information (Decode2Execute1 in power_decoder2.py),
and brought in via the CompXXXOpSubsets.

if it came in via those, it would be part of oper_i and would automatically
be latched.

it's *different* information depending on which Function Unit
is used, based on the regspecs which are collected together in
soc/fu/compunits/compunits.py (from soc/fu/*/pipe_data.py)

i'll need to think about it - can you set it manually for now and hold
it set for the duration of busy_o == True?

btw it should not be necessary to set the entire mask to all 1s, because
there does not exist an FU which takes zero operands.

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


More information about the libre-riscv-dev mailing list