Reply to topic  [ 3 posts ] 
Giving a DE0-Nano some wings 
Author Message

Joined: Wed Nov 28, 2012 2:48 pm
Posts: 58
Real Name: Dan
A while ago when I decided to play with FPGAs I looked pretty seriously at two different boards: DE0-Nano and the Papilio boards. I ended up getting the DE0-Nano because it is a larger chip (can hold more circuitry) and has more user-accessible pins to play with.

Nonetheless, I really love Papilio's idea of 'wings.' Basically, all of their user pins (GPIOs) are broken out into groups that follow a standard format. That way, it's possible to make little boards that fit the format of the pin group and you can basically plug or unplug different parts and pieces. It's pretty much an FPGA version of Arduino's shields.

To get the best of both worlds, I decided to make my own 'wing' sockets for my DE0-Nano. The DE0-Nano already breaks out pins into three headers, so I made some converter boards to break their pins into smaller groups that would give me an interface for plugging in small dedicated purpose boards.

Here's a picture of how things turned out. Two of the expansion headers have been broken out into the standard pin groups (3 groups per side). Later, I may make a 7th socket group using some pins on the underside of the board in the back (along with one group that has a different format to access the on-board ADC).

So far, I've only made one wing, which is a VGA socket (512 possible colors). Once I had the circuit worked out, it's nice to just be able to plug the VGA port into the board, rather than having to use a breadboard to wire up the lines every time. I'm hoping to keep making more little add-on boards to play with as well. So far, ones I'm considering (more or less in order) are:

  • a buttons/lights wing
  • a 7-segment (x4) wing
  • a PS/2 keyboard/mouse wing
  • a Wii accessory wing (for hooking up nunchuks or classic controllers)
  • a speaker & microphone wing (would plug into the ADC port to come later)
  • an SD card wing
  • a USB wing (both host and device eventually)
  • an Ethernet jack wing
  • lots of other possibilities: LCD (graphical or character), GPS, motors, RFID, composite video encoder/decoder, phoneline jacks, etc....

In any case, it should keep me busy having fun and learning about circuits for a while.

(For those who are curious, the breakout sockets each have 12 user-controllable GPIOs, plus 4 power pins: a 5v, 3v3 and 2xGND pins)

You do not have the required permissions to view the files attached to this post.

Mon Sep 23, 2013 10:37 pm
User avatar

Joined: Wed Jun 06, 2012 9:30 pm
Posts: 334
Real Name: Randy
Very nice Dan! Hope to dig into the FPGA one of these day! Would love to learn more about how the VGA was made to work. I figure I may even be able to do it between you and Bob.



Mon Oct 07, 2013 9:35 pm

Joined: Wed Nov 28, 2012 2:48 pm
Posts: 58
Real Name: Dan
I'd say go for it. Getting VGA working was actually surprisingly easy. It's a perfect fit for FPGAs. Basically, all you have to do is drive three analog lines (one each for red, green and blue) and two digital lines (one for horizontal sync and one for vertical sync). In a microcontroller getting the timing correct would be terrible. On an FPGA, it's basically just a counter.

Driving the analog lines gets slightly interesting, because FPGAs are digital. It's not a huge issue either, though. You can either hook it up to a fast digital-to-analog converter chip, or just use a resistor ladder. I've been using a resistor ladder so far, and it works fine for simply playing around. The DAC chips would be more general purpose, though, and would make it easier to get more colors on the screen.

Fri Oct 11, 2013 6:35 am
Display posts from previous:  Sort by  
Reply to topic   [ 3 posts ] 

Who is online

Users browsing this forum: No registered users and 1 guest

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software