Another computer architecture implementation, but this time it’s VHDL-flavored! A lot of it is based on nand2tetris which is based on the Elements of Computing Systems book.


  1. A fully working programmable 16-bit microprocessor based on the HACK computer architecture.
  2. Features a whopping 64Kx16-bit RAM and 64Kx16-bit ROM for programming. Wow!

what i learned

  1. Further solidifying the fundamentals of VHDL that I know.
  2. A deeper understanding of computer architecture.
  3. The overall VHDL design process.



I’ve always been interested in the intricacies that goes within a computer architecture. I’ve done nand2tetris before but I never got to finish it because I wasn’t a fan of the ‘fake’ HDL that they had and that the tests were all done for you. I’ve also played a game aimed to recreated nand2tetris in a friendlier format but I found that too quick because all of the testing is done for you. So, in spirit of that, I implemented the same computer architecture on VHDL. There were a lot of blanks left as an exercise to the reader presented in the source book which leads to a lot of room for creativity to make it work.


Microprocessor RTL Diagram


Expanded Microprocessor RTL Diagram