[Libre-soc-bugs] [Bug 742] MultiCompUnit wrmask relies on sync ok
bugzilla-daemon at libre-soc.org
bugzilla-daemon at libre-soc.org
Sat Nov 6 13:14:05 GMT 2021
https://bugs.libre-soc.org/show_bug.cgi?id=742
--- Comment #2 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
http://lists.libre-soc.org/pipermail/libre-soc-dev/2021-November/004086.html
https://git.libre-soc.org/?p=soc.git;a=commitdiff;h=809cf2faa4450901779045cfaa89e69f70ed9f42
(In reply to Cesar Strauss from comment #1)
> On https://bugs.libre-soc.org/show_bug.cgi?id=336#c75, I said:
>
> "It seems that MultiCompUnit depends on the ALU *.ok output fields being
> held valid long enough into the write phase. In the test ALU, I tried
> holding *.ok valid just for the duration of the ALU valid_o, and it didn't
> work. I ended up instead directly decoding the input operation,
> combinatorially, into the *.ok, so they do stay valid during the entire
> instruction cycle."
>
> Maybe related?
sounds right.
the issue is that wrmask goes directly into the write release, and it should
have triggered the relevant latches at (and only at) the time that the ok
occurs, which, of course, is when the n.i_valid occurs.
that the ok has to be set and stay set *after* i_valid is a serious problem
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the libre-soc-bugs
mailing list