User Tools

Site Tools


2014:fpga_guitar

This is an old revision of the document!


Abstract

For our final project in Computer Architecture we decided to build an FPGA Guitar. We used 8 buttons on the FPGA, and defined the first seven as notes, each one corresponding to different frequencies, and the eight button being the “strum” button, that triggers the corresponding notes one want to play. The frequencies varied from approximately 200Hz to 440Hz (note “A”).

Control Signal Generation

We created a controlSignalGen() module that determined the control signals generated. We followed a one-hot-encoding pattern, where the inputControl switches are 7-bit numbers that determine a 3-bit ControlSignal, at every edge of the strummer button. The strummer button is going to change the control signal, every time it switches from 0 to 1, or vice versa, and a one-hot-encoding exists. Initially, if several switches are “on” or none, no signal is transferred and no sound is heard from our system.

Frequency Generator

The frequencyGen() module is a module that assigns certain parameters to specific frequency values. We are taking into account a clock with a period of 25MHz. Our goal was to construct the frequency required, given the clock frequency. We define a variable called clkDivider that counts the number of positive edges for which the amplitude of the new signal will remain high. Therefore, we create the desired frequency signals of the notes we want to play, depending on what the ControlSignals say.

2014/fpga_guitar.1418709857.txt.gz · Last modified: 2014/12/16 01:04 by flymperopoulos