ESC Silicon Valley Tutorial: A novel hands-on approach to learning FPGA design
I just heard from my chum Jason Pecor at Alorium Technology. Jason and his colleague, Bryan Craker, will be giving a 2-hour tutorial at ESC Silicon Valley 2016. Titled A Novel Hands-On Approach to Learning FPGA Design, this session will take place from 1:00 p.m. to 3:00 p.m. on Tuesday December 6.
Just to make sure we're all tap-dancing to the same drumbeat; let's remind ourselves that the FPGA-based XLR8 ("Accelerate" -- get it?) has the same physical footprint as an Arduino Uno. By default, the XLR8 behaves just like an Uno, right down to its timing and 16 MHz clock. However, the XLR8's clock frequency can be changed, and various functions -- like the PWMs -- can be implemented using XBs ("acceleration blocks") inside the FPGA.
The XLR8 FPGA-based Arduino-compatible development board
This is really rather interesting, because the folks at Alorium recognized that their XLR8 development board provides a great platform for teaching FPGA design. As you can see in this teaser video, attendees will first create a Verilog representation of a pseudo random number generator function based on a linear feedback shift register (LFSR). They will then use a Verilog wrapper to interface this function to the microcontroller, both of which will subsequently be uploaded into the XLR8's on-board FPGA.
Following synthesis and re-imaging the FPGA via the Arduino IDE (I have no idea how this works, but I can’t wait to find out), attendees will run a simple sketch (the Arduino's name for a program) that will demonstrate the successful performance of the new LFSR XB.
The first 30 attendees will receive an XLR8 board. In order to participate in the hands-on aspect of this session, attendees -- who must first register for the tutorial portion of the conference (see passes and pricing) -- will need to come prepared with the following items:
- A laptop running Windows or Linux (the Intel/Altera tool is not supported on Macs).
- The Arduino IDE and the FPGA Development tools installed on the laptop as described in these OpenXLR8 instructions.
- A USB Mini cable for connecting the laptop to the XLR8 development board.
This tutorial is of particular interest to me for a number of reasons, not least of which being that I love Arduinos, FPGAs, and LFSRs (see also my LFSR Tutorial Part 1, Part 2, and Part 3). I tell you, there are so many interesting sessions taking place at ESC, I just know that I'm not going to be able to fit them all in. This is the part I hate, having to pick between multiple presentations, all of which tempt me in different ways. I know, I know; it's a hard life, but someone has to do it (LOL). Hopefully I'll see you there.