The term project for SUTD’s 50.002: Computation Structures, which introduces the architecture of digital systems, starting from the lowest level of circuit designs and gradually increasing in abstraction.

This was an interesting project. We were tasked with designing and building a game “from scratch”. Basically, almost everything you see above was built, coded, and assembled by hand, from nothing.

The project was run on a Mojo FPGA development board, and the game logic was programmed in Lucid, which seems to be a homebrew version of Verilog. Why the school decided to focus on such a strange spinoff language instead of the more widely accepted Verilog? Probably because of its supposed simplicity, but otherwise, I have no clue.

The code is found on the corresponding Github page, but it is pretty sparse and uninspiring. Maybe the showcase video would be better, or the logbook where I documented my journey through 50.002 (for at least the major projects).

Anyway, here are some pictures: 50.002-pic1 50.002-pic2 50.002-pic3