Hello FPGA enthusiasts! Today’s project takes you back to school where you learned the binary system. The author has designed a decimal to binary conversion game using FPGA. It is time to see if you did pay attention in class! The game uses a random number generator which generates any number between 0 and 255. Using the 8 switches on the FPGA, the player needs to guess the binary value right, following which the LEDs glow green. If you do go wrong, the LED matrix glows red showing you guessed incorrectly.
The FPGA board used for this project is the Nexys2 (you may need to adapt yours). It has an LED display, 8 switches and 8 LEDs which are perfectly suited for this project. Besides this some PMOD connectors, an 8×8 LED matrix, resistors, wires, daisy chain wires and 2 breadboards are the other hardware required. Steps 3, 4 and 5 of the project deals with understanding and connecting the hardware used for the project. Since the FPGA has a set of switches and a display, the extra hardware required is less for this project.
The programming language used by the author is VHDL. The program to run on the FPGA is available in step 9 as a zip file. The code has been broken down into modules for ease of understanding. Assigning the pins has been explained in detail in step 10, and the process of creating the bit file to run on the FPGA has been explained in step 11.
It’s well known that FPGAs can be difficult to get started with, to the point of being downright intimidating. We’re always on the lookout for information that can help make the learning curve a little less… curvy. Today we’ve got an easy-to-follow information compilation for understanding FPGAs and how they work, courtesy of FPGAhacker. Let’s just call it some background info that everyone who is looking to get into FPGA hacking will need to understand.
Some of the key knowledge for learning FPGAs includes Boolean algebra, circuitry, combinational logic, and all the binary you can handle. Thankfully, FPGAhacker has addressed each of these concepts and how they are used in an FPGA as a whole. Even if you are a veteran FPGA hacker, it’s still worth a quick review session.
A Field Programmable Gate Array is a Gate Array ASIC that has a matrix of metallization laid out already on the silicon, but the connections between the stripes of metal aren’t electrically connected yet. There are a number of ways these connections can be made, and the exact nature is going to be proprietary. The act of making these connections is called programming, as you may have gathered from the name. Depending on the type of the FPGA, the act of programming can be a permanent one time act. More often, the connections are temporary, and the FPGA makes use of a memory such as SRAM or flash, to store the connection information (referred to as the FPGAs configuration).