Earlier this year we were introduced to Breker, a company that generates C tests for stressing SoC architectures and verifying that things work even with bizarre corner code that someone writing directed tests might not think to create.
The original version supported a single CPU along with all of the surrounding circuitry. They have recently announced their multicore version. While this might sound like simply a matter of being able to run their previous tests on multiple CPUs, it’s far from that.
Multicore brings with it a whole slew of new things to go wrong. There may be bus clashes as multiple CPUs decide they’re in charge. You have resource contention and race conditions. There’s cache coherency – a deceptively complex architectural element required only for multicore.
All of these potential issues require tests that simply don’t exist for a single-core system. So moving to multicore is more than just about adding another CPU; it means developing a whole new set of test scenarios. So beyond just handling multiple CPUs, the new Breker tool version covers these multicore-specific issues.
You can find out more in their release.