I wanted to have some custom built hardware that I could interface to with
the FPGA. At first, I thought I will build a controller, but in the end I
decided that an old NES gamepad would look much better.

Since the FPGA can handle 3.3V at most, and the gamepads need 5V, a logic
level shifter was needed. For this purpose I decided to design a PCB.

The conversion from 3.3V to 5V and from 5V to 3.3V is done by 74HCT4066 and
74LCX125 respectively. NES sockets are hard to come by, so we had to buy a
2-to-4 expander and scavenge the ports from it. A reset button and piezoelectric
buzzer were also added to the board, which is connected to the development
board using a Hirose FX2 expansion header.

More details, including schematic and board layout can be found in the
dissertation.