[Libre-soc-bugs] [Bug 419] MUL pipeline formal proof needed
bugzilla-daemon at libre-soc.org
bugzilla-daemon at libre-soc.org
Sun Aug 30 11:06:24 BST 2020
https://bugs.libre-soc.org/show_bug.cgi?id=419
--- Comment #16 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
(In reply to Samuel A. Falvo II from comment #15)
> (In reply to Luke Kenneth Casson Leighton from comment #13)
> > oink.
>
> Fixed!
>
> > xer_ov.ok and o.ok are crucial signals that tell the regfiles to actually
> > write the result.
>
> Right. That's what I thought, but wasn't 100% sure.
ok you implemented something slightly differently, checking the OE flag
(this is output_stage.py's job, which is not part of the chain). we
chained these together:
pipe1 = MulMainStage1(pspec)
pipe2 = MulMainStage2(pspec)
pipe3 = MulMainStage3(pspec)
where in fu/mul/pipeline.py you can see that OE checking is handled here:
out = DivMulOutputStage(self.pspec) # do CR, XER and out-invert etc.
so any Assertions involving OE would be erroneous.
the xer_ov.ok flag (and o.ok flag) are quite simple, they just tell the
Register Files, "results are available if you want them".
there does exist a Formal Correctness Proof for OutputStage, it does need
updating.
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the libre-soc-bugs
mailing list