Pico Computing E101

If you are in the Seattle area and you ever wanted to learn how FPGAs work or how to actually get started with putting them to a legitimate use, Dave Hulton, of Toorcon fame has been putting on a monthly workshop at Ada’s Technical Books where he teaches a handful of people the basics.  That being said, FPGAs are not exactly basic.  I recently attended his workshop in February because I had an interest in learning what makes them tick.  I ended up getting more information than I even bargained for.

The morning talk starts out with more basic overview type of stuff like “What an FPGA is” and”What tools you’ll need to work with them”.  After a bit of talking though, it was time to dig in and write some code.  Let me stop right here and say that having at least a basic understanding of C and maybe a couple other languages would be a big plus here.  That being said, you’ll also need to forget a few things that you know.  For instance, instead of thinking in terms of variables and functions, you need to be thinking in terms of registers, wires and logic blocks(low level predefined logic functions).  Under Dave’s instruction, you’ll learn how to communicate with the device over your USB port and also how to run the device in a more standalone mode.  Dave is a great instructor and explains the process very well.

Heading into the afternoon, we started to get our hands dirty and really digging into the Verilog code.  I had a great time learning how to manipulate the hardware I/O channels on the device and making the LED’s flash in sequence.  After doing a couple of variations on this, my caffeine level dropped to a dangerous low unfortunately as we moved into implementing an encryption and decryption algorithm.  I started out getting it but it was just a bit too much for me after a certain point.  Luckily I ended up sitting next to a super sharp dude who writes BIOSes for Intel for a living and he didn’t bring a laptop so we pooled our resources for most of the day.  Regardless, even though the encryption and decryption was above my head, I still got good value out of trying to port C code over to run nativley on an FPGA.

My original goal for signing up for the class was to gain a deeper knowledge of FPGA’s, how they work, why they are so good at these encryption tasks and playing with something that would otherwise have too steep of a learning curve without vast amounts of front end effort.  All in all, it was $60 WELL spent.

On top of having the workshop, Ada’s is also hosting a monthly meet up for workshop alumni.   Contact Ada’s Technical Books for more details on this event.  I have taken the liberty of attaching the class description down below.  By the time you read this, the date will probably be past but judging on the success of these classes, I have a feeling they will keep offering them for the foreseeable future.

FPGA Workshop

March 12th, 2011: 10am-6pm

Another Intro to FPGA Design workshop! The workshop will be taught again by Ada’s
co-owner, David Hulton. David has over 10 years of experience in the computer security
industry and is most recently a co-founder of Pico Computing, a Seattle based FPGA
board manufacturer specializing in embedded and high performance computing applications.
David spends most of his time breaking cryptosystems using the massive amounts of
FPGAs he has access to at work and supporting Pico’s security-related customers.
David has presented at dozens of conferences around the world and has been featured
in numerous online and print articles (most recently mentioned on the cover of Forbes
Magazine May 2010). He spends his free time running ToorCon, a San Diego and Seattle
based computer security conference and helping his wonderful wife run Ada’s Technical
Books in Capitol Hill Seattle.
The workshop will be on March 12th from 10am-6pm with an hour break at 1pm for a
catered lunch. It will cover:

-An Introduction to FPGAs

-An Introduction to Verilog

-Writing a “Hello World” bus communication example

-Toggling/Capturing LEDs and GPIO

-Implementing a basic crypto algorithm in Verilog

The cost is $60 or $360 with a Pico E101…(links removed for clarity, contact Ada’s for more information)  Or, you can come into the store to purchase. Hurry though, there are only 7 spots available and last time they sold out in less than 24 hours!