Panzer Division bit Central Processing Unit
Team Members Eric Bowden Philip Christensen Waylon Grange Adam Thompson
Logistics Division of labor Timeline
CPU control Block Ram Flash Interfacing Assembler IO Devices: -Sound -Display -Game pad/controller
Previous Division ALU Code Writer = Eric Tester = Waylon Hardware = Phil Report = Adam Register Code Writer = Waylon Tester = Adam Hardware = Phil Report = Eric
Preliminary Assignments CPU control= Phil Block Ram = Waylon Flash Interfacing = Phil Assembler = Phil & Waylon –Compiler= Adam & Phil IO Devices: = Eric & Adam -Sound = Eric & Adam -Display= Eric & Waylon -Game pad/controller= Eric & Adam
Tentative Timeline CPU control= Oct. 18 Block Ram = Oct. 14 Flash Interfacing = Oct. 10 Assembler= Oct. 10 IO Devices: -Sound (time permitting) -Display= Oct. 24 -Game pad/controller= Oct. 28
Statistics Slices Slice Flip Flops 4-Input LUTs Max Delay ALU ns Register File ns Control ns
Architecture Memory –Separate memory for Instructions & Data –Data Memory currently in block ram 768x x16 = 1024x16 Block ram is fast –Instruction memory currently in flash 64K x 16 Finite state machine reads from flash Slowest component limits clock to 10Mhz (20Mhz if we are tricky)
Architecture Pipelining –Not part of baseline, but we want to do it –No stalls waiting for memory because of separation –Followed MIPS (pipeline work has already been done) –Clock limited to 10Mhz –Data forwarding unit avoids data hazards –Software avoids jump/branch hazards
Input Output Interfaces Major Interfaces –Audio –VGA Monitor –SNES Controller
Input Output Interfaces Major Interfaces –Audio –VGA Monitor –SNES Controller Two Options –Audio IC Chip - ISD 1600 ChipCorder Twenty seconds of addressable audio –Off-board Preprogrammed Music Generator CS3700 Final Project
Input Output Interfaces Major Interfaces –Audio –VGA Monitor –SNES Controller ISD 1600 ChipCorder
Input Output Interfaces Major Interfaces –Audio –VGA Monitor –SNES Controller Music Generator
Input Output Interfaces Major Interfaces –Audio –VGA Monitor –SNES Controller Video Specification –64 pixels by 32 lines –2-bit pixels (Four colors) Memory Requirements –Chosen resolution fits in block RAM module 64x32x2 = 4096 bits = 4 KB
Input Output Interfaces Major Interfaces –Audio –VGA Monitor –SNES Controller PinDescriptionWire Color 1+5vWhite 2Data ClockYellow 3Data LatchOrange 4Serial DataRed 5N/C GroundBrown 7-pin Human Interface Device
Input Output Interfaces Major Interfaces –Audio –VGA Monitor –SNES Controller Controller uses a serial communication method A FSM will eat the 16 bits of control data 1 bit at a time Data stored in a free floating register
Nibbles
Pipelining In pipelined systems jump require “bubbles” to execute correctly This can be implemented in assembly by inserting NOPs
Code implemented jumps MOVI $tmp, 1 CMPI $regb, 0 BNE _ifgrow STOR $rega, $tmp //IF (grow == 0) //Move 1 into *head
Evolution of Nibbles
What’s next Make your own Game! TronMillipedeTetris?!
Testing Best tests Should be in the writing. ->Write using “Test First” method Second stage “Black Box” testing. Optional Third Stage “White Box” testing.
Questions?