This is an old revision of the document!
Made by: Mason del Rosario, Evan Dorsky, Rahil Dedhia, Jamie Gorson, Jack Fan
This is a catchy sentence followed by a paragraph or two. The intended audience should include people that aren’t necessarily versed in Computer Architecture, but are technically competent. Even the MechEs should be able to understand this portion.
For our final project, we built simple keyboard using an FPGA. A user can turn on multiple notes at the same time using seven of the switches on the FPGA
A paragraph or so about why the project you chose is worthwhile and interesting.
This portion can assume an audience that has taken Computer Architecture, but don’t get burdened by buzzwords. A sure sign of a bad engineer is over reliance on acroynms.
Include everything necessary to pick up where you left off. This should include:
1. Download Xilinx ISE design tools at http://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/design-tools.html.
2. Clone github repo: https://github.com/mdelrosa/cafinalproject
3. Create a new project in Xilinx (follow instructions from http://tinyurl.com/ca-fpga-13; these next steps outline the process described in the tutorial)
4. Add piano.v as a source
5. Right click on piano.v, click on add source, and add piano.ucf
6. Click on the Green arrow that says “Implement Top Module”; this should synthesize your top level module and implement the design constraints set by the ucf file
7. Double click on “Configure Target Device”
In order to have all of our GPIO pins play their notes through the same speaker, we needed to construct a circuit that added the signals together. To accomplish this, we created a simple analog signal-adding circuit. This circuit uses an inverting amplifier to amplify the summed signal.
The seven GPIO pins which generate the notes' frequencies are each attached to a 1kΩ resistor. These seven resistors are all attached to the noninverting input of the op amp. Note that the op amp pictured is not the one which we opted to use; while we used a TL081, it is fine to use most any op amp.
This should all be in zip file(s) on your wiki page.