[Libre-soc-bugs] [Bug 604] ISACaller simulator needs RADIX MMU support

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Fri Apr 16 19:13:54 BST 2021


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

--- Comment #39 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
(In reply to Luke Kenneth Casson Leighton from comment #38)
> Tobias Platen <libre-soc at platen-software.de>

> This needs to be
> def _new_lookup(self, data, r_shift, v_shift):
> assuming that r_shift and v_shift are not identical.
> I'll investigate that by reading the microwatt source code.

the way that VHDL works, variables get used/created/substituted.  walking
it through:

    begin
        v := r;

that makes a copy of r into v.  r is the "old" shift amount.


            -- set v.shift to rts so that we can use finalmask for the segment
check
            v.shift := rts;

this is now the new shift amount, set to rts, however the FSM then goes
round another loop and that value goes into r.shift.

yes, agreed: both segment_check and _new_lookup need the "old" value of shift
as an extra argument.

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


More information about the libre-soc-bugs mailing list