It's innovation week again at work. That means I have all week to do whatever the heck I want as long as it is fun, interesting, and results in something to show off at the end of the week.

Xilinx Spartan FPGA

This year my goal is to learn something about programming an FPGA (Field Programmable Gate Array). This is basically an integrated circuit which can be reconfigured as much as you like after manufacture. By contrast, a processor is an integrated circuit designed to execute instructions sequentially. A processor can't be reconfigured after manufacture, only the instructions given to it can be changed. For example, you could configure an FPGA to execute instructions like a processor (you can even recreate specific microprocessors inside an FPGA), or to execute very specific cryptographic operations in parallel at very high speed, or to perform multi-channel digital signal processing while talking to an external microprocessor, or actuate 25 servos controlling a robot simultaneously, etc.

My friend Getty suggested it might be fun to implement in FPGA a very well known sound co-processor, the MOS Technology SID 6581 This is a perfect application for FPGA since it is essentially a parallel digital signal processor / synthesizer. Also, I love chiptunes

So what I plan to do this week is roughly:

  1. learn as much as possible about FPGAs, Verilog, DSP
  2. familiarize with the standard development tools (ISE Design Suite from Xilinx)
  3. learn as much as possible about the MOS technology SID 6581 sound chip
  4. implement the SID 6581 in Verilog targeting a Xilinx Spartan 6 FPGA that I have acquired.
  5. implement a control and comm structure around the SID so that I can give it music to play
  6. (stretch goal) compose some new chiptunes to perform on Friday

Stay tuned...


comments powered by Disqus