To demonstrate some HDL coding and test bench techniques I made a very simple CPU and a test bench. The code is available on github. The code demonstrates the use of the two process method. The test bench demonstrates the use of a self testing test bench with a test sequencer, bus functional models and logging.