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.

function

  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.

resources

notes

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.

images

Microprocessor RTL Diagram

RTL

Expanded Microprocessor RTL Diagram

RTL