Recently element14 ran a promotion on FPGAs, and we were very excited to see some of Digilent’s boards featured in one of their learning modules!
The module focuses on introductary FPGA users, and by the end users are able to complete the following objectives:
Describe hardware description languages (HDL) such as Verilog and VHDL
Explain the difference between an FPGA and other digital systems such as PLA, SPLD, CPLD, and Programmable SoCs
Discuss the characteristics and benefits of different types of FPGAs
Understand how FPGAs are used in various applications
After a brief overview of the concepts necessary to understand and utilize FPGA, the module delves into some applications. This includes a example with Digital Signal Processing via the XADC Block Usage with the Basys 3. This application uses the internal temperature sensor to demonstrate processing an analog signal with FPGA.
The next application is a Home Alarm System using either the Basy 3 or the Arty. The way this project works is outlined below:
Each window and door has a proximity sensor working as follows: if someone steps in front of the sensor, it provides output of logic level 0. Otherwise, the output of the sensor is at logic level 1. Besides these sensors, we can also add a movement (PIR) sensor and sound detector to the home alarm system. The output of the movement sensor is at logic level 0 when no movement is observed. If the sensor detects a movement, its output goes to logic level 1. If the sound detector detects a sound higher than its sensitivity value (threshold), then its output goes to logic level 0. Otherwise, its output stays at logic level 1.
The third example includes solving a Car Park Occupied Slot Counting System, where there is a car park with 16 slots and we would like to know how many are occupied at a given time. This project also makes use of the Pmod STEP and can even be used as a simple Android application.
The final project is the Translator, where the user creates a digital system to translate voice commands from English to Spanish and then display them on a 16X2 LCD.
These projects do an great job of demonstrating the many applications and overall power of FPGA, as well as giving new users a place to get started! If this module seems interesting to you please make sure to go check it out at element14’s website!