Many undergrad computer architecture courses have CPU prototype project. The better CPU prototypes use FPGA.