3 ms·
It's kind of interesting that BOOM had the second-lowest number of found bugs, considering that it's the only out-of-order core out of the six CPUs. I suppose
by camel-cdr 3y ago
It's kind of interesting that BOOM had the second-lowest number of found bugs, considering that it's the only out-of-order core out of the six CPUs.
I suppose BOOM got more scrutiny, but CVA6 is quite comparable in popularity.
- thesz 3y agoThe complexity of OoO CPU is such that you scrutiny correctness of every instruction you implement. Also, OoO behavior depends on the commands preceding and following one to be tested, so you have to have more indirect tests for OoO implementation of CPU commands.
- _chris_ 3y agoLooks like from Appendix D that only 2 bugs were found in BOOM: > 1. Inaccurate instruction count when minstret is written by software I don't know what that means, but having minstret written by software was definitely not something I ever tested. In general, perf counters are likely to be undertested. > 2. Static rounding is ignored for fdiv.s and fsqrt.s A mistake was made in only listening to the dynamic rounding mode for the fdiv/sqrt unit. This is one of those bugs that is trivially found if you test for it, but it turns out that no benchmarking ever cared about this and from all of the fuzzers I used when I worked on BOOM, NONE of them hit it (including commercial ones...). Ooops. Fixed here: https://github.com/riscv-boom/riscv-boom/pull/629/files https://github.com/riscv-boom/riscv-boom/pull/629/files