I'm currently in the process of designing a simple CPU in VHDL using Xilinx ISE and ISIM. The design portion is going remarkably well, but I can't seem to figure out a way to do verification in a consistent manner.
Right now I have a VHDL test bench that I update to test the function I'm working on at any particular moment. This is very ad-hoc, and it does not help me to catch regressions and cannot be used to verify compliance with specification/instruction set.
I've thought about developing an extensive test suite, but the problem is that the potential state of a general purpose part as a CPU is huge compared less generic components.
I am looking for a method that allows me to perform design and testing in a more controlled manner. Some sort of "hardware TDD" if you will. Does such a thing exist? Can it be applies relatively easily to general purpose parts such as a CPU?