Circuitry

Keyboard Synthesizer

With a small group, I assembled and programmed a full MIDI keyboard synthesizer for a class, ES4 Intro to Digital Logic. We used an FPGA processor and VHDL programming language to link our components. The input comes from a MIDI keyboard. A signal is read through a MIDI breakout board and processed through the FPGA. From there, the signals transfer through an I2C analog to digital converter into a speaker that outputs the sound of the given frequencies. The process of completing this project was tedious, to say the least. In researching the project, we figured out a way to use Verilog to control our system. Though, our ultimate goal was to use VHDL. We worked to translate the program from Verilog to VHDL, making many formatted adjustments. Some commands within the Verilog library don't exist in VHDL, so we needed to figure out how to implement certain commands in VHDL. In particular, there is a portion of the program that requires the use of a shift register. Unlike Verilog, which has a method to implement such, we needed to create our own function-type protocol for implementing the register.

A good deal of my work on the project was debugging and systems testing. At each phase of the project, I attempted to create a visible output, based on what signals were being translated. For example, to test the system clock output, I implemented an LED and a counter variable that would activate/ deactivate the LED after some set number of clock cycles. To test that our system was receiving input from the keyboard, I followed a similar process. Mainly, before implementing our speaker, I used an LED to display when a single key on the board was being pressed. Initially, the system was unreliable, only activating the LED irregulary upon being pressed. We were able, as a result, to implement certain functions that clarify the signal so that it is more predictable. We also used a seven-segment display to demonstrate the current value of the modulation. In the end, after our arduous debugging, we were able to successfully create and consistently operate our MIDI keyboard synthesizer.