A module that implements registers in a CPU.
There are 8 registers R0 – R7. Each register is 32-bits wide. Each register has an input port with 32-bits of write data and a write enable. All the register outputs are available as module outputs
To write into a register, its write data input must have the value to be written, and its write-enable must be pulsed for one clock.
The module also has these inputs: clock and reset. On reset, all registers are cleared to 32 bits of zeroes.