Good day FPGA Enthusiasts! FPGAscan be used for a versatile set of applications from real time engineering solutions to building funny games. Today’s post is going to focus on the latter where we build yet another game concept using a FPGA board (you may need to adapt your own). The game in consideration is a simple version of ‘Whack a Mole’. Since the FPGA already has a segment display, Switches and LEDs the peripherals required to run the game are minimum.
The only Hardware required for building this game (you may need more parts depending on your FPGA board) is a FPGA and 3 LEDs (2 of the same color preferably red and one different color preferably white or green). Since only 3 LEDs are being used, you can simply plug them right into the FPGA without using a breadboard or jumpers as shown by the author.
The entire project uses a simple architecture that houses 5 key components which are the LFSR, Score keeper, Clock divider, LED controller and the 7 segment display. Each component significance and working principle has been detailed by the author.
The coding has been done in simple modules and each module has been shared under the corresponding architectural component explanation. The coding language used is VHDL (.vhd) and the code is easy to follow and relate to.
Though the game is fun, there are a few bugs in the code which can be corrected to make the game truly addictive and perfect.
Hello FPGA lovers! FPGAs are versatile tools that can be used for research, analysis, engineering applications and entertainment. Today’s project falls into the last category! The nine shine LED game is an interactive game that tests your sense of timing. It consists of an array of LEDs that are turned on sequentially, and you need to press a button exactly when the central LED lights up to progress in the game. The game has been organised into 10 levels by the author with increasing difficulty based on speed to make it fun and challenging.
The project uses an FPGA along with an array of LEDs. The Hardware required for the project is an FPGA Board, USB-to-Micro cable, Eight LEDs, 8 resistors and a Big Dome Pushbutton. To fabricate the setup board for LEDs, the materials required are a wooden board rubber feet, soldering iron and solder, heat shrink, drill, drill bit, hole saw, hot glue gun and insulated electrical wire.
The coding has been done in VHDL and is available in modules in step 2. The author has explained what each module does and its significance in the FPGA system in this step. Right from the FSMs to the main module, the author has gone to great lengths in explaining the code even in fine aspects such as button debouncing issues.
Hey there FPGA lovers! The human eye is far from being perfect, and this imperfection helps us in coming up with a lot of ideas and products (take the television for example!). Today’s post exploits the Human eye’s persistence of vision to build a globe of persistence using FPGA. These globes can be used to build circular LED displays using just 1 column of LEDs which make them highly cost effective and fun to build with FPGA.
The trick when it comes to the globe of persistence is to balance the RPM of the globe and the timing of the LEDs switching colour. The author has shared details regarding the hardware needed for the project in the introduction. An FPGA board (you may need to adapt yours for this project), a neopixel 12 LED strip, a 12 wire slip ring, a photo interrupter and a photo interrupter breakout board, a 12V DC motor, a micro SD card and a cross compiler for ARM processors.
The project also needs an interfacing board for the FPGA and globe which has been explained in step 2. Building the globe’s mechanical structure with the DC motor has been explained in detail in step 5, and soldering the wires in the right way has been shared by the author too.
The author has gone to great lengths to explain how to execute the project. Step 1 gives complete details about generating an FSBL file and a PDF in case you have doubts. The coding for the project has been done in Linux. But even if you are unfamiliar with Linux, the author has explained Linux for FPGA in detail in steps 3 and 4. The code has been broken down to modules, and there are clear instructions available on how to program the FPGA. Step 7 is the final step that explains how to get your globe working, and also gives details regarding building custom applications using the globe of persistence and FPGA.
Hello FPGA lovers! Today’s post is an interesting one which helps us visualize the audio spectrum with the help of your FPGA and an LED strip. Using a VGA cable, the spectrum can be visualised in a computer monitor as well. The microphone on theFPGA used (you may need to adapt this to your own board) captures the surrounding sounds and uses the FPGA to convert it into a perceivable visual output. The author has explained the principle of working in step 2. The input audio signal is stored in 2 block RAMs. The 1st RAM consists of the time domain representation which is used for display in the VGA. The 2nd RAM consists of the Frequency domain representation using FFT which is displayed both in the VGA and the LED strip.
The Hardware required for this project is a FPGA board, USB A to B micro cable, VGA cable, 30 LED Strip, VGA display (PC monitor) and 3 male to male jumper wires. The author has used the PC monitor as the VGA display for this project. However you can use a dedicated LCD screen or any other VGA display if you choose to. The hardware connections are explained in step 3.
The code is available as a zip file in step 4. The author has dedicated steps 4 and 5 towards installing and generating the program for the board. The language used is VHDL and the code has been broken down into modules. The zip file consists of the source files, a readme file explaining the code, a .tcl file to automatically build the project and the .bit and .bin files for programming the FPGA.
Greetings FPGA lovers! Today’s post is about building your own mini computer using FPGA. The project has been inspired by the first SSEM, popularly called the Manchester baby. The project resembles its inspiration in certain aspects, but being a homemade CPU with minimal components and coding, the specs are not as formidable as the SSEM.
The author has used a standard FPGA Papilo one 500k board, an 8×8 LED strip and a set of switches. The system has been designed for a total RAM of 64 bits, and the LED strip shows the RAM configuration every time data is entered at a new address. Besides this, the author has also used a rechargeable battery, charging circuit, clipper circuit to avoid excess voltage and a number of peripheral ICs.
The coding followed for FPGA is based on simple VHDL (.vhd) and being an open source project, the author has shared all VHDL code here. The CPU is programmed directly using the address and data switches. A number of values can be stored just by setting the CPU on the User mode and entering data to the addresses of the 64 bit RAM.
The system also has an adjustable clock which helps while simulating and running the code in variable clock speeds. The author has successfully demonstrated through the video that the CPU can work as a Random number Generator (from 1 to 6) and a pendulum. Besides this the CPU can also be connected to external components like an array of LEDs for clarity of output.
Though the FPGA basedC88 Homebrew CPU has limited RAM and storage capabilities, it is still a great start to create experimental modules and platforms using FPGA that can host a number of applications.
Hi there FPGA geeks! Power monitoring is a big step when it comes to analysis and subsequent models used for power conservation. The project for today is building an FSM (finite state machine) with a LED as its output and FPGA as its core to measure the power output by the LED when it is active. The IR sensor detects motion and switches on an LED, whose power is measured by the board. This FPGA LED FSM project can be extended to real life scenarios such as measuring the power of fans and other individual electric components in the house to control and conserve power consumption.
The Hardware requirements for this miniaturized model are an IR motion sensor, a LED, a transistor, a FPGA Board and jumper wires. The black box diagram for the project is given in Step3. The wiring instructions are given in Step 8, and the description for the many modules used in this project have been given in the preceding step.
The code has been segregated into modules and has been written using VHDL (.vhd). The VHDL files are available for download from Step 5 along with the XDC master file necessary for the FPGA Board Port Map implementation, you may need to adapt this to your own needs. The code has been written in modules, and can be modified to measure power of any device connected to the board provided its consumption per second is known.
This project can only be used to measure the power consumption of a device for 15 seconds due to circuit limitations. However additional displays and clocks can be used to extend this time frame provided the code has been tweaked on properly.
Hey FPGA lovers! If you have ever been a fan of arcade games, here is a chance for you to re live the glory days! The LED timer game with FPGA consists of an LED-button interfacing with FPGA. The project is really simple to implement and it is a great first project for FPGA aspirants. The game is similar to the moving light arcade game, where you press a button when a particular color LED glows. As you progress the game gets faster and harder!
The hardware requirements for the project are a FPGA board, Male to Male jumpers, 10 LEDs (9 of which are the same color) and breadboards. The project has been coded by the author for a 10 LED version. The wiring details are given in step 7. However you can extend this to any number of LEDs once you go through the code.
Though any board can be used for this project, the author has shared VHDL codes for Nexys 3. So here you have a good challenge adapting the given code to your FPGA. Another interesting aspect is that you may need to adapt the implementation of the button that is required for the game. So the hardware interfacing not only involves connecting LEDs to FPGA, but thinking a bit outside of the box to get around this minor drawback.
The pieces of software required for this project are Xilinx and Adept. The code has been broken into modules and explained well in step 5. The code consists of a number of modules in VHDL (.vhd) that consists of using the primary button for playing, Display for keeping score and LEDs for driving the game.
The author has done a great job in providing clear instructions and the codes have been written following simple logic. Another major factor is the flexibility in scale of the project where you can implement this game to cover 10 LEDs or even 100s of them. Game on!
Hello FPGA fans! Today’s project is going to be a great domain for you to have a bit of fun (once you’ve completed it) and learn more aspects about FPGA and applications in shift registers and button interfacing with FPGA. The project is based on a bit runner game, and for those unfamiliar with what the game is, you can follow the link here for a detailed understanding. In this version however, all you can do will be to dodge the LED lights flowing down as described in the project.
You will need a FPGA board and for this project, any Papilio board with LogicStart MegaWing is compatible. The other peripherals that you will need include a handful of LEDs (9 if you are going to follow this project as it is), a push button, a few jumper wires and a breadboard. The author has given a detailed description of interconnects in the 2nd step, and a number of snapshots that you can easily follow.
Xilinx Design Suite has been used to code and assemble this project in the software aspect. The codes have been broken into modules and each line’s significance has been commented right next to it. The coding has been done in VHDL (.vhd) and has been broken into 8 parts of instructions to follow easily.
Two suggestions by the author to upgrade this game are to use a DAC and speakers for audio outputs when you play in the form of beeps when you successfully dodge. Another thing you can do is to add an LCD display instead of LEDs. A suggestion that I have is to use a clock booster as you progress into the game to make the frequency of obstacles higher and thereby make the game more challenging.