Musical Keyboard

As a final project for Advanced Digital Design, my partner and I created a musical keyboard utilizing a Xilinx FPGA with an XStend and XS40 board. The XStend board had a 20-bit stereo codec, which we used to output a selectable square or triangular wave for 22 different octaves. The keys Q through I in the first row, A through K in the second row, and Z through N in the third row each played a different frequency when pressed (ranging from 220 to 1480 Hertz). The frequencies corresponding to each key can be seen in the Final Report.

Our musical keyboard had volume and balance control, both being represented visually through LEDs. Volume was controlled by the + and - keys; balance was controlled by the < and > keys. Pressing the spacebar on the keyboard would alternate between the square and triangular wave output.

VHDL was used to program the Xilinx FPGA. Some of the VHDL components used were comparators, counters, multiplexors, registers, a codec, a datapath, and a keyboard to frequency converter.

Some of the VHDL components (in PDF format):

Other project files (also PDF format):

All source material for © Roger Grayson. Contents may not be cited or reproduced, in whole or in part, without prior written consent of the author. Powered by PHP! Valid XHTML 1.0 Transitional Valid CSS!