A question I posted on SO some time back may be of interest, it solves a similar problem using an LCG (generating a shuffled range of numbers with no repeats):
It's really simple to program in ASM or using ISE/Verilog. going to a low tech approach it can be done on graph paper.
No reason why it's specific..Simple, 'easy to port'. I was doing a little bit of research about a theory I had but when I figured out enough I never fully completed that little project.+2 years prior.
A question I posted on SO some time back may be of interest, it solves a similar problem using an LCG (generating a shuffled range of numbers with no repeats):
http://stackoverflow.com/questions/464476/generating-shuffle...