[Libre-soc-bugs] [Bug 449] FU unit tests checking output one cycle too late

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Wed Aug 5 17:58:30 BST 2020


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

--- Comment #4 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
(In reply to Cole Poirier from comment #3)

> Do you think in the future Managers for ready/valid signalling should be
> added into the unit test? 

they already are: they're called compunit tests, and they're in
soc/fu/compunit/test.

> If so what is blocking this? 

nothing because they already exist.

> Do the Managers need to be formally verified first

soc/fu/compunits/formal/proof_fu.py

it needs to be completed.

> so we don't introduce an unrelated point of
> failure into the DIV and MUL unit tests?

indeed.  however given that there are 8+ pipelines using MultiCompUnit, and
after 4+ months of work by both myself, cesar and michael we are reeeeasonably
confident it's stable.

the formal proof proof_fu.py - if written correctly - gives us 100% confidence
rather than "empirical evidential" confidence.


> > as long as the test_*_compunit.py functions correctly it's fine.
> > 
> > this is precisely why we have unit tests at every integration level.
> > 
> > i think we're good on this one.
> 
> Or is it that these unit tests will be integrated into future higher-level
> unit tests?

absolutely not.  they are designed specifically to be absolutely 100%
separate and distinct.

i've said this before a number of times:

1) test_pipe_caller.py tests the functionality of the *pipeline*

2) test_*_compunit tests the *MANAGEMENT* of the pipeline

3) test_core.py tests the integration of pipelines with *register* files

4) test_issuer.py tests the allocation of instructions *to* pipelines.

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


More information about the libre-soc-bugs mailing list