MASSA C HUSE TTS IN STIT UTE OF T E CHNOLOGY 6. 11 1 I N TR ODUCTOR Y D I GI T A L SY STEMS LABORA TOR Y SPR I N G 2 0 06 DR UM MACHINE ABSTRACT This document describes the design, implementation, testing, and final results of a digital drum machine. The drum machine allows the user to compose percussive rhythms from a sound bank of audio samples. The user can determine which sounds to play at which points in time by using a series of switches to program a drum loop. This drum loop is played through the labkit speakers and visualized on a Video Graphics Array (VGA) display. The drum machine was coded in verilog in a Xilinx Integrated Software Environment and implemented on a Xilinx Field Programmable Gate Array (FPGA). HANA L. AD A N IY A SHIR LE Y S . FUNG MA Y 1 8 , 20 066.111 Final Project DRUM MACHINE Adaniya, Fung Page i CONTENTS Abstract ...................................................................................................................................................................................... 1 1 Design Overview ............................................................................................................................................................. 1 2 Design Strategy................................................................................................................................................................. 2 3 Module Description and Implementation ................................................................................................................... 3 3.1 Synchronizer/Debouncer......................................................................................................................................... 4 3.2 Digital Clock Manager (DCM) ................................................................................................................................ 4 3.3 Beats Per Minute (BPMenable) ............................................................................................................................... 4 3.4 Parameters................................................................................................................................................................... 6 3.5 Display – VGACount, Displaynames, Letterdisplay, Letterselect, Binary8toBCD, Playstopdisplay, Blocks, and FFT Display..................................................................................................................................................... 7 3.5.1 VGAcount.v ..................................................................................................................................................... 8 3.5.2 Displaynames.v................................................................................................................................................. 8 3.5.3 Letterdisplay.v................................................................................................................................................... 8 3.5.4 Letterselect.v ..................................................................................................................................................... 8 3.5.5 Binary8toBCD.v............................................................................................................................................... 8 3.5.6 Playstopdisplay.v .............................................................................................................................................. 9 3.5.7 Blocks.v ............................................................................................................................................................. 9 3.5.8 FFTdisplay.v ..................................................................................................................................................... 9 3.6 Major FSM – enableminors.v................................................................................................................................... 9 3.7 Audio – Minor FSMs/memory interface (snarefsm.v, countersnare.v) & Audio.v ........................................ 9 3.7.1 SnareFSM.v ..................................................................................................................................................... 10 3.7.2 Countersnare.v ............................................................................................................................................... 10 3.7.3 Snare ROM ..................................................................................................................................................... 10 3.7.4 Audio.v ............................................................................................................................................................ 11 3.8 Audio Mixer – mixer.v ............................................................................................................................................ 11 3.9 Fast Fourier transform (FFTcontroller.v)............................................................................................................ 12 4 Testing and Debugging................................................................................................................................................. 12 4.1 Simulated Waveforms ............................................................................................................................................. 12 4.2 Audio Debugging..................................................................................................................................................... 12 4.3 Clock Syncrhonization Bug .................................................................................................................................... 12 4.4 Display Glitches ....................................................................................................................................................... 13 4.5 FFT Bug .................................................................................................................................................................... 13 4.6 VGA (vgacount.v, hcount.v and vcount.v).......................................................................................................... 13 5 Future Work
View Full Document