DDR with LabVIEW FPGA

 

If you haven’t heard of Dance Dance Revolution, you may want to read this.

 

Customers checking out the demo at Embedded Systems Conference 2006 in San Diego

 

Most trade show demos for embedded design products aren’t too flashy. Enter the “Intelligent DAQ (data acquisition) Dance Revolution” demo, conclusive proof that our FPGA design tools can handle anything, even the complexity of a fully-working video game, completely implemented in hardware (down to the gates). This was my vision even before I started working at National Instruments, which I was fortunate enough to be able to realize there.

 

After designing the inner-workings of the demo, and proving to Marketing and some interested colleagues that it could really work, 4 of us went to work on it, getting something nice and polished after 2 months or so, on top of our regular jobs.

 

The first public demonstration was at the Embedded Systems Conference in San Diego, as pictured above. It was a wild success there, after which it was independently replicated in several other cities in the US and used for trade shows and recruiting efforts there. It has also been replicated in or shipped to 6 other countries (that I know of), including Spain, Portugal, Italy, France, Japan, and China. It is also used at many internal, company-wide events for contests and recreation, and has been a great tool to generate sales leads for our products at our last two world-wide company conferences. Because of this publicity it has been written about in magazines and journals, and blogged about extensively. Google returns most of these references.

 

I was fortunate enough to get to speak about the demo in front 2,000 people at the keynote for our 2006 company conference. The video is here (requires Windows Media Player, I’m speaking during the last half).

 

Happy people enjoying the demo

 

My coworkers

 

Customers at our yearly conference

 

Me and a friend playing (I’m at right)

 

A booth staffer explaining how it works to customers

 

The Chinese copy of the demo

 

The Chinese copy of the audience

 

French keynote presentation on the demo

 

 

Some technical details

 

System block diagram

 

The demo system consists of a computer running a real-time OS, and the FPGA prototyping card, linked across an industrial PCI bus called a PXI bus. The real-time system is used effectively as an external RAM for the FPGA, to store the 120MB video that serves as the back-drop for the game-play, and the audio data for the available songs. The FPGA is the meat, handling the playing of raw audio, generating video signals to sync up to a VGA monitor, and computing the colors required at each pixel in each frame to make what’s seen on the display look like a video game. It also uses several state machines to track the players’ score and progress throughout the game, and implements a custom digital protocol to interface with the dance pads.

 

Game menu

 

Frame of background video. I modeled the 3d environment, and rendered the fly-through sequence for the game.

 

Another frame