Our Final Project was a simple one-level Tetris game with block stacking and line clearing with 3 different block types: vertical rectangle, horizontal rectangle, and square blocks. It takes in two push button inputs to move and place blocks across the board, with debouncing methods in place to make the movement more like the real game. Collision detection exists so that there is no possibility for overlap between blocks, and the block being controlled cannot move into another block, horizontally or vertically. As for code design, we used Wrapper.v as a wrapper module to hold all of the necessary modules, including our VGAControllerTetris and our Processor. The VGAControllerTetris module holds much of the logic including construction of the game grid, assignment of pixels for VGA display, and movement of blocks. External modules were created to decode a random 2 bit number generated by the processor and debounce button inputs to allow for easy debugging.