Audio Driven Laser Tetris 6.111 Final Project Presentation 1

advertisement
Audio Driven Laser Tetris
6.111 Final Project Presentation
Cameron Lewis and Xin Sun
1
Overview
„
Variant of the classic arcade game
„
VGA display provides all game info
„
Music drives the block movement
„
Laser projects the playing field
2
Tetris Game Background
Please see any image of Tetris pieces,
such as http://upload.wikimedia.org/wikipedia/
commons/9/9a/Tetrominoes_letter_oriented.png
The seven possible Tetris pieces:
I, T, O, L, J, S, and Z.
(courtesy of Wikipedia)
Snapshot of a
Tetris game on right
Courtesy Jason D. Clinton and Thomas H. P. Andersen. Used with permission.
3
4
button_reset
button_up
button_down
button_left
button_right
Debouncer and
Synchronizer
reset_sync
(global)
up_sync
down_sync
left_sync
right_sync
pixel_clock (31.5 MHz) – to all modules
labkit clock
(27 MHz)
DCM
Signal
Register
clean_update
coord_update
game_update
signal_reset
speed
[2]
rotate
drop
left
right
Game Engine Unit
(Contains Major
and Minor FSMs)
score disp_type i
[6]
[3]
[5]
Display
Counter
pixel_count
[10]
update_frame
j
[4]
rgb [24]
line_count
[10]
VGA
VGA signals
5
drop_type
[3]
drop_type
[3]
Randomizer
i0 [5]
i1 [5]
i2 [5]
i3 [5]
pixel_clock
reset_sync
rotate
drop
left
right
coord_update
Minor FSM
Dropping Piece
j0 [4]
j1 [4]
j2 [4]
j3 [4]
pixel_clock
reset_sync
Major FSM
Map Controller
map
[25][10][3]
clean_update
game_update
score [6]
i [5]
j [4]
disp_type [3]
6
Audio Processing Module
„
Audio signal digitized by AC97 codec
„
„
„
Sampled at 48khz, 18 bit resolution
Fed through FFT module
Triggers changes in block speed upon
detection of certain frequency
intensities
7
audio_data
[realtime]
Audio Supervisory FSM
digitized_
audio_data
AC97 Codec
audio_freq_data [255]
audio_intensity_data [255]
reset_
clean [1]
reset [1]
Frequency Extractor
Module
Event Detector
ac97_clock
(12.288 MHz)
labkit_clk
(27 Mhz) [1]
pixel_clk
(31.5 Mhz) [1]
DCM
Laser
Tetris
Status
Speed
LEDs
Output [2]
[4]
8
Laser Projection Module
„
„
„
Laser light shines onto a 10-sided
spinning mirror head assembly
Infrared pulses synchronize the display
with the labkit
Verilog code modulates the laser
accordingly
9
display_pixel_data [250]
Laser Supervisory FSM
laser_img_data [250]
seg_sync_clean [1]
head_sync
head_sync_clean[1]
reset
pixel_clk
(31.5 Mhz) [1]
Debouncer / Synchronizer
seg_sync
reset_clean [1]
Image Feeder
Laser Control FSM
Laser
Status
LEDs
[4]
Laser
Modulation
Output
[1]
10
Download