Learning FPGA’s at kwartzlab

FPGA programming at kwartzlab 009

Catherine Holloway of kwartzlab coordinated a Verilog FPGA programming class on Saturday at the lab.  I’ve always wanted to learn this stuff, occasionally driven by the limitations in I/O lines or speed that I’ve hit in some applications using Arduinos and the like.  Altera, the FPGA chip maker, supported this class with free-no-pay instruction and in-class use of gear like this demo board (above).  It was a great class and I’m looking forward to part two next weekend.

Big thanks to Catherine and to Mike Cardoso of Altera (who volunteered his time) for making it happen, and high-five to kwartzlab for hosting.  A marginally-unreasonable number of shots follow…

FPGA programming at kwartzlab 005

Catherine Holloway is a physics grad student with of my favourite local physics shops, IQC.  I asked what her motivation was for facilitating the class and she described how FPGAs are employed in her work.  Some of the quantum physics studies at IQC involve a rig that receives and records single photons of light.  That record requires very fast and accurate timestamps and that’s where the FPGA comes in.  So far, any changes to this particular FPGA at IQC have been done by a fellow in Germany and then Catherine loads the new binary on the FPGA here in Waterloo.  Wouldn’t it be cool if Catherine herself just made those changes, right here?  Yeah, for sure. 

FPGA programming at kwartzlab 001

My motivation was to expand my toolbox for art installations.  Lots of I/O lines and fast logic could make for some interesting applications controlling a lot of small actuators.  Think: Daniel Rozin’s amazing work.

FPGA programming at kwartzlab 012

Mike Cardoso (above), Senior Staff Product Field Application Engineer with Altera, was our instructor, and he rocked it.  Getting everyone up and running with software tools across both Windows and Linux, sorting out USB issues, and hooking up the demo boards was reminiscent of the start of every LAN party I’ve ever attended.  Mike was cool as a cucumber and had all 15 of us up and running in no time.  He’s a UW grad, if linkedin is to be believed, works out of Cambridge, and has been with Altera for about 8 years.

FPGA programming at kwartzlab 062

Mike is part of an internal Altera group called the Altera Makers which “helps promote Altera and the concept of using FPGAs for any project, large or small, within the Maker community.”  It’s pretty cool to think that vendors are starting to recognize the potential in the make-o-sphere and carve off some resources to get in there.  Particularly important because it makes emerging tech accessible to makers at lower price points and more accessible form factors.  Fifteen years ago, we could readily get relatively-giant through-hole parts to build our circuits and fly-wire them together.  Those have since been supplanted by tiny surface mount parts that necessitate PCBs and sharp eyes for soldering.  Getting this new functionality all cooked into a board, *and* breaking out the I/O lines on 0.100” header pins is sort of the best of both worlds for makers.  Some of you may remember parallel and serial ports we makers used to leverage on PC’s to hook up our circuits. Those have since been replaced by USB, which mercifully is found on almost all demo boards now, providing not only comms to your laptop, but also a 5V power rail.

FPGA programming at kwartzlab 039

Setting up.  Hey, there’s John Wynen in green who, like me, works at BlackBerry by day.

FPGA programming at kwartzlab 019

I teamed up with Catherine…

FPGA programming at kwartzlab 028\

to share one of the kits *and* a Windows laptop as there were a couple challenges with some of the Linux laptops.

FPGA programming at kwartzlab 107

Good deck from Mike.  Crazy colours courtesy of the projector scanning and my fast shutter.

FPGA programming at kwartzlab 044

FPGA programming at kwartzlab 104

As usual with new tech, the “hello world” simple intro involves lighting up LEDs.  Very reassuring.

FPGA programming at kwartzlab 048

OT: there’s always cool stuff to see at kwartzlab.  This must be some of Meg Leslie’s workshop output.

FPGA programming at kwartzlab 059

Some more instruction…

FPGA programming at kwartzlab 064

Get switch input into the mix.

FPGA programming at kwartzlab 066

Chris (left) and this other guy I should know were bombing ahead animating the 7-segment LEDs using counters and lookup tables.


FPGA programming at kwartzlab 070

FPGA programming at kwartzlab 096

Zoe (left) joined our group.

FPGA programming at kwartzlab 072

Best t-shirt, and a glimpse of the output from the Bob Ross painting workshop.


FPGA programming at kwartzlab 074

Chris Bruner (left) chatting while Tesla looks on from the background.

FPGA programming at kwartzlab 076

Checking comms between the real board and this virtual board.

FPGA programming at kwartzlab 091

FPGA programming at kwartzlab 078

FPGA programming at kwartzlab 093

Catherine tackled the LCD…

FPGA programming at kwartzlab 079

and won.

FPGA programming at kwartzlab 098

FPGA programming at kwartzlab 106

Checking the datasheet.

FPGA programming at kwartzlab 101

This is totally motivating me to do something with that big haul of green 7-segment LED modules that Dan and I pried out of old computers in the dumpster that used to sit outside East Campus Hall.

FPGA programming at kwartzlab 087

Well, kwartzlab, you’ve done it again.  Tech + learning + making + social => win.


This entry was posted in event, kwartzlab and tagged , . Bookmark the permalink.