DOC PREVIEW
MIT 6 111 - Study Guide

This preview shows page 1-2-3-21-22-23-42-43-44 out of 44 pages.

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

Unformatted text preview:

Programmable Music VisualizerDany Qumsiyeh Mike SpindelDecember 14, 2005AbstractThis project is a programmable music visualizer capable of combiningmany simple effects to produce complex graphics based on audio input. It iswritten in Verilog and is composed of many modules grouped into four ma-jor system blocks: Audio Preprocessor, CPU, Video Memory, and Effects.The Audio Preprocessor block maintains a 1024 sample audio sample FIFObuffer and presents access ports for Effects to read data. The CPU config-ures the parameters of the Effects modules in order to composite differenteffects and produce a variety of visualizations based on time and user input.The Video Memory block interfaces with two frame buffers stored on ZBTSRAMs. The Effects module accesses Video Memory and steps through thevideo buffer generating new frames based on the parameters from the CPU.The CPU memory can be programmed on-the-fly through the JTAG interfacewith code assembled by BSim.Contents1 Overview 12 Description 22.1 Audio Preprocessing Stage (by Mike Spindel) . . . . . . . . . . . 22.1.1 Audio Acquisition: audio . . . . . . . . . . . . . . . . 22.1.2 Sample Storage: replram and buf replram . . . . . 22.2 CPU (by Mike Spindel) . . . . . . . . . . . . . . . . . . . . . . . 32.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 32.2.2 Changes from the Orignal Beta2 Design . . . . . . . . . . 32.3 Effects Generation (by Dany Qumsiyeh) . . . . . . . . . . . . . . 52.4 Video Memory (by Dany Qumsiyeh) . . . . . . . . . . . . . . . . 63 Testing and Debugging 84 Conclusion 85 Appendix 95.1 Mapping between CPU registers and Effects Parameters . . . . . . 95.2 Verilog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115.2.1 Audio Preprocessor . . . . . . . . . . . . . . . . . . . . . 175.2.2 CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235.2.3 Effects . . . . . . . . . . . . . . . . . . . . . . . . . . . 285.2.4 Video Memory . . . . . . . . . . . . . . . . . . . . . . . 35iList of Figures1 High level block diagram. . . . . . . . . . . . . . . . . . . . . . . 12 The audio preprocessing stage. . . . . . . . . . . . . . . . . . . . 23 The modified Beta2 used by the visualizer. . . . . . . . . . . . . . 44 The effects generation hardware. . . . . . . . . . . . . . . . . . . 65 The display memory interface. . . . . . . . . . . . . . . . . . . . 7List of Tables1 Summary of new opcodes. . . . . . . . . . . . . . . . . . . . . . 52 Input Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . 5ii1 OverviewCPUAudio PreprocessingAudio PreprocessingaddrdataflipAC97startdoneparamVideo MemoryflipwritereadVGAUser I/OZBTsFigure 1: High level block diagram.The music visualizer runs on an FPGA with an AC-97 A/D converter, ZBTSRAMs, and VGA output. It takes in audio data from the AC-97, and outputsVGA graphics at 640x480 pixels, at 60Hz. It is controlled by a CPU which can beprogrammed at runtime through a JTAG interface.The system is composed of several major components. An audio preproces-sor, a CPU, an effects generator, and a display module. Sound information flowsfrom the AC97 codec into the audio preprocessor where it is stored in a replicatedBRAM. The CPU triggers the effects generator according to a program stored inits own instruction memory by pulsing a start signal. The effects FSM then iteratesthrough pixel coordinates, transforms them, and feeds them to a set of graphicsgenerators. The graphics generators then access the buffered sound informationand output a color. A series of blending operators are used to determine the a netcolor, which is then written to a frame buffer stored in SRAM and managed bythe display block. When the program running on the CPU has finished renderinga single frame, it issues an instruction that causes the display block to flip buffers:the buffer that was being displayed is now being used to render new frames.The effects that this framework is capable of can be defined as an arbitrarywaveform and transformation. To generate each subsequent frame, the previousframe can be transformed by a motion (such as rotation), and a color operation(such as color cycling). Then, a number of waveforms based on audio data can beoverlayed and combined with the previous frame. This is achieved through dedi-cated effects hardware, which generates a new frame based on a large number ofconfigurable parameters. The output of many waveform generators can be com-bined with the previous frame and the current frame, and the coordinates suppliedto these generators can be transformed to create motion effects. This allows for1AudioAC97Sample Memoryreplram replrambuf_selectsample datanew_framereadyflipdata outaddr_outaddr_indata_inFigure 2: The audio preprocessing stage.many complex effects to be created through the combination of simple modules.2 Description2.1 Audio Preprocessing Stage (by Mike Spindel)2.1.1 Audio Acquisition: audioThe audio stage provides a simple stereo interface to the microphone input on thelabkit. It takes the system clock, AC97 bit clock, and AC97 data bus as input andoutputs a 20 bit signal for the left and right audio channels and a ready signal thatis high when the audio signals contain valid data. It also outputs the AC97 syncsignal and the audio reset b signal.The audio reset b enables the AC97 codec. It is set high several clock cy-cles after the power-on reset by an FSM. The audio data and AC97 control sig-nals, including the sync, are generated by two black box modules: ac97 andac97commands. The ac97 module contains an FSM that deals with sendingand receiving AC97 frames and the ac97commands module encapsulates thelogic necessary to generate AC97 commands.2.1.2 Sample Storage: replram and buf replramThe effects generators access audio sample data through the sample memory. Be-cause there can be a number of different generators, the sample memory needs tohave a single read port and multiple write ports. It looks like a FIFO on audioside and a ROM on the generator side. However, if the data is updated while a2frame is being drawn, then the drawn waveform will be distorted. In order to pre-vent …


View Full Document

MIT 6 111 - Study Guide

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 Study Guide
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 Study Guide 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 Study Guide 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?