Gadget Factory Blog
Hello FPGA lovers! Today’s project will be a special one that will pique the interest of FPGA lovers and music makers alike! The project is about how to build an 8 step synthesizer with an FPGA board!
The 8 step Synthesizer is a set of 8 switches with a time line that flows from left to right. A button determines the frequency (higher and lower octaves) of the note. Pressing another button can alter the frequency. This way you can build your own 8 note theme to groove to. This project is highly based upon the Tone Matrix game.
The FPGA board suggested is the Nexys 2, but you can perfectly adapt this project to fit your FPGA board. You may use this other projects as a guide to make your own 8 step synthesizer with your Papilio board. The other 2 things you will need are a speaker for output and a computer for coding/uploading. The board already has all other necessary requirements addressed.
The code for implementing this project is available from the page and it´s divided into modules. The coding language is VHDL (.vhd). I strongly suggest (and the author does it too) you also create a UCF file according to your pin assignment conveniences.
The modules are divided based on functionality and each module is crucial. The clock divider module, for instance, converts the 50 MHz cycles of the FPGA board and gives a smaller frequency which holds the note for an audible time. The square wave module organizes the notes in 8 steps from 440 Hz to 1046.5 Hz which is the scale.
The circuit diagram showing how the components are connected is provided. The significance regarding Frequency incrementing, Play and Pause, Flip Flops and the Mux-Speaker arrangement are well explained. A detailed step regarding Speaker interfacing with the FPGA board is also given in the page.
This project is very straightforward and it will be a fun experience for hobbyists and FPGA learners, for sure.