In a previous post, I discussed using the dedicated Pmod IP cores that we now have for over 25 of our Pmod modules. These IP cores, plus our written tutorial, make it quick and relatively painless to add Pmods to your Digilent FPGA or Zynq board using MicroBlaze. In that post, I discussed some of the benefits of adding a soft processor, such as MicroBlaze, to your FPGA. Now I’d like to augment the list of benefits by including the ability to add WiFi, quickly turning your Digilent FPGA board into a powerful IoT platform!
This is so exciting just tell us how it’s done!
Fair enough. We feel the same way! To explain in detail here would be an exceptionally long post, so I will point you in the direction of our various resources and outline some important points of each.
1. Hardware and Software
To add WiFi to your FPGA board following our methods, you will need a Pmod WiFi, Pmod SD (unless you’re using a board that has an on-board microSD card slot) and the appropriately sized SD card. In terms of software, you will need Xilinx Vivado 2016.X and Xilinx SDK (same version as your Vivado installation).
You should also install the board support files which describe GPIO interfaces on your board and make it easier to select your FPGA board and add GPIO IP blocks. We’ve written a tutorial, Vivado Board Files for Digilent 7-Series FPGA Boards, to make it easy. You will also need access to our library files which you can find on the Digilent Github.
2. Using Pmod IPs
Using Pmod IPs is a generic tutorial we’ve written that walks step by step through how to implement Digilent’s Pmod interfaces in a MicroBlaze or Zynq design in Vivado. And don’t worry, if you’re new to MicroBlaze or Zynq, we also have Getting Started with MicroBlaze and Getting Started with Zynq tutorials.
When followed, the Using Pmod IPs tutorial will lead you through getting started with the software to having a working design for any Pmod that has an IP core. In the case of the Pmod WiFi, you will also need to add the Pmod SD card reader to your design if using any Digilent FPGA board, except those listed above. To do this, simply repeat step four of the tutorial (this also goes for adding any other additional Pmods to the design).
3. Video Tutorial
Although a generic tutorial is helpful, nothing is more helpful than a specific example. That’s what you’ll find in our Pmod Monthly video titled, “Adding WiFi to Your Digilent FPGA or Zynq Board.” In this video we use an Arty FPGA board, Pmod WiFi and Pmod SD card slot. The same steps are detailed in the Using Pmod IPs tutorial, and additionally, we walk through the Digilent network IP stack and HTTP server.
At the end of the video tutorial you will be able to toggle GPIO pins on your FPGA or Zynq board wirelessly!
4. Additional Resource
If you are interested in learning more about the HTTP server or the network stack, you can take a look at this PowerPoint presentation. This presentation was given at Microchip Master’s 2015 by the designer, our own Keith Vogel, and is very lengthy and detailed regarding the fundamentals of network topology, the DEIPck network stack, HTTP and HTML.
If you have questions regarding any of the information discussed here, don’t hesitate to ask in the comments below or on the Digilent Forum!