[Libre-soc-bugs] [Bug 419] MUL pipeline formal proof needed
bugzilla-daemon at libre-soc.org
bugzilla-daemon at libre-soc.org
Fri Sep 4 00:27:53 BST 2020
https://bugs.libre-soc.org/show_bug.cgi?id=419
--- Comment #19 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
(In reply to Samuel A. Falvo II from comment #18)
> Thanks for cleaning up the code; it reads a lot better. I do have some
> questions though.
> Can you help me understand why xer_ov.ok is reset only in the default case?
> As I understand the ISA specs, xer_ov.ok should only be set when OE=1. I
> feel like I'm missing something.
OutputStage, which is *not included in the chain in this proof*, handles OE
checking.
check for yourself:
https://git.libre-soc.org/?p=soc.git;a=blob;f=src/soc/fu/mul/formal/proof_main_stage.py;h=0cf767f341668663a4f4c736af5aea5625c1c0d2;hb=HEAD#l88
is OutputStage in that chain? no it is not.
therefore trying to Assert things that *are not part of the test* is simply
never going to work, is it?
> > there does exist a Formal Correctness Proof for OutputStage, it does need
> > updating.
>
> I looked in the fu/mul hierarchy for this correctness proof, but did not
> find it.
yes. it's in the alu dir.
> Are you perhaps referring to alu/formal/proof_output_stage.py ?
yes.
if we were to include OutputStage in the chain at line 88, then the contents of
alu proof_output_stage.py would need to be duplicated in their entirety in mul
proof, wouldn't they?
which would be a waste of effort. therefore we don't do that.
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the libre-soc-bugs
mailing list