DOC PREVIEW
MIT 6 111 - Note Detector

This preview shows page 1 out of 3 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 3 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 3 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Sound Module:Note Detector – The note detector should use an FFT to decode which note the user is playing, and output the information in a way the rest of the game can understand. The final output is four three bit numbers which represent which note the user is playing on each string:Things to demonstrate. 1. FFT / note_storage . Demonstrate working FFT Module. On logic analyzer display the bin number and magnitude square of the Fourier Transform. 2. Note Logic – Demonstrate the note logic keeping a running max of the desired sets of bins over one full sweep of the FFT. Display on the logic analyzer the current max for every set of bins, observe as it changes 3. Note Logic – Demonstrate the note logic does not keep values that are blow a certain threshold. Note on the logic analyzer how the values of the output are zero when no notes are played.4. Demonstrate working note detector by turning on the logic analyzer, playing a set of notes, and seeing those fret numbers output by the note detector. 5. If time allows, demonstrate enough robustness and speed that you can play lots of notes in a row, and the module will not get confused.Song Module – The song module is responsible for playing a song from the flash memory to the AC97 chip. Every time the AC97 chip asserts a ready signal it must deliver the next piece of PCM data from the Flash Memory. Things to demonstrate:1. Output the PMCM data to the logic analyzer, note that the next piece of PCM data was put in the flash memory becomes the output every time the ready signal is enabled. The module should repeat each 8-bit PCM word 8 times, since the song will be down sampled by that factor.1. If time allows, this module should perform 8 step linear interpolation over successive samples.2. Working module, load a song onto the AC97 chip, put on the headphones and listen to a song being played.Song Storage – The song storage module is what will allow us to store a full song the lab kit. It must be able to take a song as a coe file with PCM data in it. Initialize BRAM to those values, and write all the data to the Flash. Things to demonstrate:1. Ability to take a file (binary PCM data) and convert it to a .coe file that can be loaded onto the BRAM. (this part is done with software, but its still necessary, so it is included as a check item)2. Demonstrate the contents of a .coe file are in fact written to the FLASH memory by outputting the contents of the Flash memory to the logic analyzer, and observing that they match the contents of the .coe file. 3. Demonstrate working module by playing a full song off the flash!FSM – The FSM is responsible for keeping track of the state of the game and switching between states. States of the game are Title Screen, Game Over, Play Mode, Pause. It needs to output which state is currently in as a two bit number (mapping to the order given above), and an enable that is high in state1 and low in all other states. It must stitch between states when the proper control signals are asserted.Things to demonstrate:1. On logic analyzer, display the current state and the enable bit. Observe the following behavior:State Next State Pause/Button Reset0 0 0 00 0 0 10 1 1 00 0 1 11 1 0 01 0 0 11 3 1 01 0 1 12 2 0 02 0 0 12 0 1 02 0 1 13 3 0 03 0 0 13 1 1 03 0 1 1Saving the song template – Template Module: holds the actual notes of the song. • On the logic analyzer: see that the BRAM holds the notes to the song (stored as an 8 bit num-ber, the first 5 representing the note, the next 3 representing the duration)• On logic analyzer: see that the output from the BRAM is decoded correctly into a 12 bit number representing the note of the• On logic analyzer: see that the output from the BRAM was held for the proper amount of next_note cycles according to the table in the project report. • On logic analyzer: see that song starts from beginning on reset, and only changes to next_note input when enable is high.Video Display – Video Module – Takes input from the template module, the FSM, and the Game Logic module and displays the game. Also tells Game Logic module when the user should be playing a note and what score they will get for playing it.• Video module outputs a next_note signal to the template module every 8th note. On a song at 120bpm that is every .25 seconds• (If time permits): have an adjustable speed setting to game. Use switches to set a speed that the game can be played at, between 50% and 150% its original speed. • On monitor: Display different colored sprites for notes. See a sprite exists on screen with the right x, y pixel location and color according to the input to the sprite.• On monitor: storing future notes/displaying future sprites. See that future sprites scroll across the screen at the same rate as the song(i.e. cross the “play now” marker at the on beat with the song) • On monitor: displaying the score. Given a certain input score from the game logic, the video module displays that score on screen.• Using logic analyzer: note point value: the video module outputs a score(3 bits) that increases as the sprite approaches the “play now” marker and decreases as the sprite moves away from the “play now” marker (the output score will be delayed a small amount of time to account for the delay in the circuitry for accurate scoring).• Using logic analyzer: see that the note output by the video module, note_expected, is the actual note that the user should be playing.• (if time permits) display how well the user is playing (eg. Good, bad, perfect), dictated by the game logic module.• On monitor: see that fret board and “play now” marker.• On monitor: see title screen, play screen, pause screen, and game over screen, with the game_mode input from the FSM(2 bits).Game Logic – Game logic module – compares the values from the Note Detector module and the video module and keeps track of the total score. Adds score from video module if the two signals are equal. only adds the first score that is equal(if any are equal) and does not add scores after that until the next eighth note (given by video module)• Logic analyzer: module keeps track of the accumulated score.• Logic analyzer: module adds input note point value from video module to the total score if the two input note values are the same. • Logic analyzer: module only adds the score input on the first clock cycle when the two input note values are equal (every eight


View Full Document

MIT 6 111 - Note Detector

Documents in this Course
Verilog

Verilog

21 pages

Video

Video

28 pages

Bass Hero

Bass Hero

17 pages

Deep 3D

Deep 3D

12 pages

SERPENT

SERPENT

8 pages

Vertex

Vertex

92 pages

Vertex

Vertex

4 pages

Snapshot

Snapshot

15 pages

Memories

Memories

42 pages

Deep3D

Deep3D

60 pages

Design

Design

2 pages

Frogger

Frogger

11 pages

SkiFree

SkiFree

81 pages

Vertex

Vertex

10 pages

EXPRESS

EXPRESS

2 pages

Labyrinth

Labyrinth

81 pages

Load more
Download Note Detector
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Note Detector and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Note Detector 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?