This document is a research project report from 2009 on designing the CPU12, which is the CPU of the Motorola HC12 microcontroller, using VHDL. The author first provides background on the project, which was to design the data path unit and control unit of the CPU12 and connect them to run simple instructions. The data path unit includes register blocks, an ALU, and an address calculation unit. The control unit is designed as a state machine with 12 states. The two units were connected to run a simple addition instruction for all addressing modes and store the result in the accumulator. The report provides details on the design and methodology of the data path and control units, and presents results of a timing simulation.