[Libre-soc-bugs] [Bug 491] MMU Function Unit needed

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Wed Dec 8 00:25:41 GMT 2021


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

Luke Kenneth Casson Leighton <lkcl at lkcl.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |cestrauss at gmail.com

--- Comment #11 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
(In reply to Luke Kenneth Casson Leighton from comment #3)
>         majorop := unsigned(f_in.insn(31 downto 26));
>         if f_in.fetch_failed = '1' then
>             v.valid := '1';
>             -- Only send down a single OP_FETCH_FAILED
>             if r.decode.insn_type = OP_FETCH_FAILED then
>                 v.valid := '0';
>             end if;
>             v.decode := fetch_fail_inst;
> 
> 
> also, like interrupts, if a fetch fails run a new op (microcode style)

fetch_failed notification is raised HI and left HI by the I-Cache until
the MMU lookup of the required PTE is added. therefore some "blip"
detection is needed.

problem is, PowerDecoder2 is entirely combinatorial so this has to
be done slightly differently in LibreSOC, e.g. by TestIssuer detecting
it and creating the blip (a FSM).  edge-trigger detection, basically.

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


More information about the libre-soc-bugs mailing list