Macro Processor

Responsive image

Custom processor made with logic gates.

Made by 3 students

Processors internals are too often compared to black magic. That’s why our “MacroProcessor” project started. With two friends, we build an almost complete computer. We only used logic gates (AND, OR, NOT, etc.) to make our own processor from scratch. We've mad a RISC processor whith 3 bit long data and 32 bit-long instructions.

We used a pre-made memory chip as RAM, its inputs being Address/Data/ReadWrite, and it outputed data only. As we can handle 13 bit long memory address and this RAM is very large compared to our system, we could afford to implement display capabilities. To do so, a part of this RAM is monitored by an Arduino which then transmit those data to a computer screen.

Responsive image
Our IDE to code using our assembly language.

Conceiving, Simulating, Soldering.

Then debugging, debugging, debugging.

We used several softwares to develop our hardware. First is Logisim (see pic): it’s a small logic simulator that enabled us to test the behavior of our logic-gate arrangements. Then comes Eagle, which is a semi-professional electronic CAD software. It enabled us to produce PCB designs to use with our pre-sensitized circuit boards.

Responsive image

Responsive image
Responsive image

A solid test bench

Smashing bugs with automated tests

The project was aiming to make a small real-time graphical video game with our system. While working for this, we encountered a few bugs that were far from trivial to solve. When we weren’t sure whether it comes from the hardware or the software, our automated test bench was quite handy.
This bench consist of a series of tests uploaded to an Arduino, which feeds the corresponding inputs to the tested system, while checking its outputs. The test report is then downloaded by the computer.

Responsive image
Responsive image


Projects