With the command processor implemented, an Interface was developed to accept input bytes to form an instruction. With this implemented, we were able to draw more complicated objects using the raspberry pi as a host computer.

With the command processor implemented, an Interface was developed to accept input bytes to form an instruction. With this implemented, we were able to draw more complicated objects using the raspberry pi as a host computer.
With the display engine, frame buffer, and line drawing algorithm implemented, next a command processor was designed to parse instructions and send data to their proper places. This processor takes a 71-bit input data stream and outputs the data to other modules depending on the opcode provided.
The next objective of this project was to implement a module that functioned as a Bresenham’s Line Drawing State Machine. Given any two input coordinates, the module would output discrete coordinates for each point along the line to be inserted into the frame buffer, with high efficiency. Due to our single clock domain system, we reached a near-perfect efficiency of 1 pixel write per clock cycle, wasting only a single cycle at the beginning of each line drawn.