[Libre-soc-bugs] [Bug 421] TRAP pipeline formal correctness proof needed
bugzilla-daemon at libre-soc.org
bugzilla-daemon at libre-soc.org
Tue Jul 21 10:58:29 BST 2020
https://bugs.libre-soc.org/show_bug.cgi?id=421
--- Comment #21 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
(In reply to Samuel A. Falvo II from comment #19)
> (In reply to Luke Kenneth Casson Leighton from comment #18)
> > https://git.libre-soc.org/?p=soc.git;a=blob;f=src/soc/fu/trap/formal/
> > proof_main_stage.py;h=48221f2945dd115b31bf34dfc7fb5b3919c1d601;hb=HEAD#l28
> >
> > should that be +1 on 63-start i.e. 64-start because python slice?
>
> Yes, thank you. Good catch.
committed (see comment #20)
> I'm noticing that the trap logic does not drive o.msr.ok; should it?
> According to the SC pseudo-code, MSR is updated, along with SRR0 and SRR1.
err... err... ah.
https://github.com/antonblanchard/microwatt/blob/master/execute1.vhdl#L621
yep: a trap does not actually modify MSR. iinteresting.
even for exceptions (which also write NIA and SRR1) they're still not
modifying MSR, it's *SRR1* that contains the modifications (setting
one of the trap bits as defined in section 6.5.9 book III)
if exception occurs write *SRR1*:
https://github.com/antonblanchard/microwatt/blob/master/execute1.vhdl#L1037
how was this not caught by the trap unit test? moo? :)
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the libre-soc-bugs
mailing list