4 ms·
It's interesting you have the perspective that hardware has realtiveley few states. It can be the case, but there are very complex interactions between function
by tails4e 4y ago
It's interesting you have the perspective that hardware has realtiveley few states. It can be the case, but there are very complex interactions between functions also. A million gate design is realatively modest by modern standards, and there can but tens to hundreds of interacting state machines in that. Of course to mange this we do try define clean boundaries and interfaces between blocks, but this clean approach can be taken in SW also. Fuzzing is a bit different in that actually tries to execute different code paths by changing the input, so it's more of an exploration of the code state space. Constrained random is more trying to create inputs that randomly cover the valid input space. It does not introspect the internal state to determine the next input. Perhaps thats an enhancement hardware testing could take from the SW world.
- pclmulqdq 4y agoI have seen functional-coverage-driven constrained random verification of hardware, which does what you describe. Someone beat you to it!