Building a Multi-Cycle Processor
Today, Jason Acheampong is exchanging knowledge from his recent “Computer Hardware” class. The class started as low as the transistor and worked its way up from there.
On a single-cycle processor, every operation happens within 1 clock period and are therefore. Whereas a multi-cycle processor divides the time into multiple periods and operations can run for different periods of time.
Jason completed his initial design (pictured) and “build” of his processor using hardware design language. The specific language is Verilog
Data memory and Instruction memory are stored independently, with a separate portion reserved for each. Each cycle of the clock, data and instructions are handled and operation advances through the instruction list. The resulting output data is moved through the multiplexers based on the shift-ops that are supplied.
Jason then took us through the simulation studio, Vivado, (pictured) and the test cases he had written in Assembly (pictured).