I've only just learnt that 'midstate' is deprecated, which this code requires. Perhaps I can work towards adding that feature (later, when I work out what this code is doing!).
The test hash I used was already in the code;
uut.data_buf = 512'h000002800000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000002194261a9395e64dbed17115;
uut.nonce = 32'h0e33337a - 256; // Minus a little so we can exercise the code a bit
I didn't completely understand your example hashes. Am I correct in thinking you've provided data:nonce pairs, where one is correct? Or are they all correct? Obviously I'll need to calculate the midstate myself if this is the case.
Thanks for your help! I finally feel like I'm getting somewhere.
They are ALL correct solutions for a single hash, just it makes it easier to test the code, instead of only having one hit point, specifically because you can test your communications algo. to see how it handles multiple nonce hits.
Sometimes when running a simulation, it destroys valuable results when you have to restart it to re-hit the 'nonce' on a single nonce solution.