User`s manual

Contents
1 Introduction 5
2 Previous Work 6
3 Module Architecture 6
3.1 Accelerometer interface . . . . . . . . . . . . . . . . . . . . . . . 7
3.2 Perspective transformation . . . . . . . . . . . . . . . . . . . . . 8
3.3 I/O (Input/Output) interface . . . . . . . . . . . . . . . . . . . . 8
3.4 Audio system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4 Design Decisions 9
4.1 Use of 640 × 480 @60 Hz VGA . . . . . . . . . . . . . . . . . . . 9
4.2 Use of NTSC Camera as Input . . . . . . . . . . . . . . . . . . . 9
4.3 Choice of Memory Architecture . . . . . . . . . . . . . . . . . . . 9
4.4 Choice of clocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.5 User interface considerations . . . . . . . . . . . . . . . . . . . . 10
5 Module Descriptions 11
5.1 par
to ser (James) . . . . . . . . . . . . . . . . . . . . . . . . . . 11
5.2 ser to par (James) . . . . . . . . . . . . . . . . . . . . . . . . . . 11
5.3 moving avg (James) . . . . . . . . . . . . . . . . . . . . . . . . . 11
5.4 acc (James) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
5.5 accel lut (Ganesh) . . . . . . . . . . . . . . . . . . . . . . . . . . 14
5.6 pixels kept (Ganesh) . . . . . . . . . . . . . . . . . . . . . . . . . 14
5.7 bram (Ganesh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5.8 addr map (Ganesh) . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5.9 slow clk (Ganesh, James) . . . . . . . . . . . . . . . . . . . . . . 15
5.10 move cursor (Ganesh) . . . . . . . . . . . . . . . . . . . . . . . . 16
5.11 perspective params (Ganesh) . . . . . . . . . . . . . . . . . . . . 16
5.12 pixel map (Ganesh) . . . . . . . . . . . . . . . . . . . . . . . . . 18
5.13 ntsc to bram (James) . . . . . . . . . . . . . . . . . . . . . . . . 19
5.14 audioManager (Shantanu) . . . . . . . . . . . . . . . . . . . . . . 20
5.15 BCD (Shantanu) . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
6 Final Product and User Interface 22
7 Testing And Debugging 23
7.1 Icarus Verilog test benches/verification . . . . . . . . . . . . . . . 24
7.2 Xilinx ModelSim test benches/verification . . . . . . . . . . . . . 24
7.3 Julia implementations/tests of algorithms . . . . . . . . . . . . . 25
7.4 Labkit I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
7.5 Staring at code/data-sheets . . . . . . . . . . . . . . . . . . . . . 25
7.6 USB input to flash memory issues . . . . . . . . . . . . . . . . . 26
7.7 Integration tests . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3