![Page 1: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/1.jpg)
18-545: ADVANCED DIGITAL DESIGN PROJECT
FALL 2016
BRANDON LUCIA
L1: PAST PROJECTS
![Page 2: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/2.jpg)
18-545: FALL 2016
Administrative Stuff
Teams are / should be formed
Project Ideas due Wednesday, September 7
Lab1 due Wednesday, September 14
Getting started
Project Proposal Presentations on Monday, September 12
2
![Page 3: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/3.jpg)
18-545: FALL 2016
Project Proposal
What do you plan to do?
Game description and how it covers the requirements
Graphics, sound, user input, multi-player, scoring, fun
Hardware / Software plan
Architecture, block diagram
Peripherals?
Software functions
Description of major tasks, who is doing them
3
![Page 4: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/4.jpg)
18-545: FALL 2016
Proposal (2)
Schedule
Who’s doing what, when
When each major task will be complete
Milestones for each person
Resources
What outside resources you need
What you’ll use them for
Pointers to the resources
I understand this is all very preliminary and won’t hold you to the details
Major deviations will require discussions with me and my approval
4
![Page 5: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/5.jpg)
18-545: FALL 2016
Lab machines - your machines
You have accounts on machines in the lab
You should be able to sudo using your own password
DON'T DO ANYTHING STUPID
If you break/compromise the machine, it will be wiped and reinstalled
Don't change root password or add any root ssh keys
Don't add accounts without asking me/gripe
Install software at /usr/local, /opt or /home
Don't overwrite any base installed software
Don't allow automatic upgrades to get installed!
6
![Page 6: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/6.jpg)
18-545: FALL 2016
Today: Previous Projects
This is the 11th iteration of this course
First 2 years were taught by Prof Ken Mai
I’m copying his descriptions and advice here
2008 - 2015 project descriptions are by Prof Bill Nace
Previous final reports are on webpage
7
![Page 7: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/7.jpg)
VR Pacman
3D Pacman
OpenGL on workstation
Board handled game
VR helmet display
Viewpoint tracking
Not stereoscopic
Full-body swivel control
Hacked mouse + deskchair
![Page 8: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/8.jpg)
Every Extend
Every Extend clone
Self-contained
Playstation 2 controller
Parallel port interface
Most complete game of 06
High score
Game modes
Bosses
![Page 9: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/9.jpg)
Bomberman
Bomberman clone
Ported SDL lib to board
Had SDL Bomberman
implementation
Moved performance critical
portions of SDL library to
hardware
Sega Genesis controllers
Simple interface
SDL = Simple DirectMedia Layer, a cross-platform open-source multimedia C library
![Page 10: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/10.jpg)
NES (06, 07)
NES clone
Bit-for-bit full hardware
implementation
Very ambitious
Much of the system working
Picture processor
Controller interface
Toy application
Bitten by …
Verification
Unit interfacing
Team dynamics
![Page 11: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/11.jpg)
Graphics Processor
OpenGL GPU
GPU on board
Application sends OpenGL
calls to board via ethernet
Rendered a colored triangle
Bitten by …
Board capacity
Time
Asking for help too late
Inexperience
Instruction
BRAMFetch Unit
Instruction
Decoder
Coordinate
Transformation
Pipeline
Triangle
Rasterization
Pipeline
OpenGL
software
code
Frame buffer
BRAM
Ethernet
VGA
![Page 12: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/12.jpg)
Physics Processor
Hardware physics processor
Similar to Ageia design
Board tracks objects
Workstation handles game
PPU working
Only toy application
Some issues with fitting design
on board
Bitten by …
Team dynamics
Team dynamics
Team dynamics
![Page 13: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/13.jpg)
Networked Tetris
Multi-player Tetris
2 players/board
Networked boards
Most of game in hardware
Working game
Score
Networking
Bitten by …
Not too ambitious
![Page 14: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/14.jpg)
Quake
Port of 1996 PC game Quake
3D first person shooter
Open-sourced in 1999
Running entirely on FPGA
Full input, sound, video, and
networking support
Hardware FPU
Networked 3 boards + PC
together in public demo
![Page 15: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/15.jpg)
Guitar Hero
Port of Guitar Hero console
game
Used open-source Frets on Fire
for starting code base
Guitar (PS2 controller) interfaced
through parallel port
Most issues in synching sound,
video, and controller
Limited song library
Did not automate song input
![Page 16: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/16.jpg)
18-545: FALL 2016
2008 Projects
Descent (i.e. Vertigo)
NanoSeige
“Xilroids” i.e. Asteroids with a Wii
NES
17
![Page 17: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/17.jpg)
Descent
3D first-person shooter
6 degree-of-freedom play
Released on 1995
Source released in 1997
Ported PhysicsFS and SDL
libraries
Networking and music never
completed
Otherwise complete game
Success due to:
Reading Pentium Chronicles
![Page 18: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/18.jpg)
NanoSeige
Designed own game
Wanted massively parallel
hardware accelerated game
Something of an abstract real-
time strategy game
Worked hard all semester,
declared victory with whatever
they had built
Done in by
teamwork
didn’t follow any advice
![Page 19: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/19.jpg)
XilRoids
Initially tried to build “Maelstrom”
a 1993 clone of Asteroids
Ran into difficulty, decided to
reset
Designed their own asteroids
variant
Used Wiimote for user input
Done in by
Decision to reset
![Page 20: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/20.jpg)
NES (2008)
NES Clone
Full hardware implementation
Controller peripherals
“Virtual” cartridge interface
Used ROM images of
Bomberman, Tetris
Sound limited to single channel
Successful because
Worked to personal strengths
Relentless debugging
![Page 21: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/21.jpg)
2009 Projects
Duck Hunt with WiiMote
GameBoy
MultiWilliams
OpenGL
Quake II
SSD research project (times 2)
Groups had choice of FPGA platform for first time
Vertex 2 Pro, Vertex 5-LX, Vertex 5-FX
![Page 22: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/22.jpg)
Duck Hunt w/WiiMote
Simple “point-n-shoot” game
Using WiiMote, initially via straight
connection
“Settled” for connect via separate
laptop running java program to
convert
Programmed game “from scratch” as a
clone
Moderately successful
Flexible process
Stayed with Vertex 2 Pro board
![Page 23: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/23.jpg)
GameBoy
8-bit handheld console from
late ‘80s
Original attempt was for GB
Color with link cable for
multi-player
Settled for original GB
Incomplete DMA
implementation led to
graphic corruption
No sound, link cable
![Page 24: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/24.jpg)
MultiWilliams
Williams was an arcade manufacturer
in ‘80s
Defender, Joust, Stargate,
Robotron, others
MultiWilliams emulates all 4
But very different architecture
among games
Built really nice input platform
Vertex 2 Pro
Done in by:
Didn’t face complexity
![Page 25: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/25.jpg)
OpenGL
Another attempt to build OpenGL
render pipeline
Fixed-point version due to FPGA
fabric limitations
Fixed-function pipeline
custom-designed VLIW processor
custom micro-assembler
Done in by:
Switched platforms mid-stream to
Vertex-5
![Page 26: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/26.jpg)
Quake II
Quake II is a FPS from 97
Code is open sourced
Commercial Linux distro on
FPGA
No sound
Vector coprocessor
Done in by:
Switching platform to Vertex-5
![Page 27: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/27.jpg)
SSD Research Projects
Build a SSD controller for DIMM flash chips
Include AES encryption
Two teams attempted
Got flash DIMM built
Got some communication via PCIE to host
computer
Never got the rest put together
Vertex 5-LX boards
Done in by:
Team issues
Willingness to be behind schedule
![Page 28: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/28.jpg)
18-545: FALL 2016
2010 Projects
OpenGL GPU (take 3!)
Super NES
SSD (again)
Virtex Squared
XilDoom
Groups had choice of platform (V2Pro, V5LX, V5FX) and were
given minimal "hand-holding" with the toolchain
29
![Page 29: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/29.jpg)
18-545: FALL 2016
OpenGL Accelerator
30
Hardware pipelined
Input was pre-compiled sequence of OpenGL commands in a file on
the CF card
non-interactive
Moderate framerate at low triangle count
No z-buffer
Done in by:
Took too long to make decisions
![Page 30: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/30.jpg)
Super NES
16-bit console from early 90s
Hunted down CPU Verilog from the company
that originally manufactured it
Cool! Very legal
Done in by
Integration! 4 individual chip descriptions.
Didn't work together.
Testing strategy relied on integrated system,
so no proof the chips worked individually
![Page 31: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/31.jpg)
SSD (Again)
Didn't work
'nuff said
Done in by
Teamwork
Teamwork
Relying on past work
![Page 32: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/32.jpg)
18-545: FALL 2016
Vertex Squared
Designed their own ARM-like CPU
Integrated with 18-447
Multi-bus, not particularly fast
Then got a small musical rhythm game running on it
Success due to:
Lots of hard work
Smart use of tools
33
![Page 33: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/33.jpg)
XilDoom
Quintessential FPS
1993! More popular than
Windows '95
Open sourced in 97
Used Chocolate Doom
Reasonably successful
No networking or sound
![Page 34: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/34.jpg)
18-545: FALL 2016
2011 Projects
Duck Hunt
Haxorus
Sidekick
Commodore 64
35
![Page 35: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/35.jpg)
Duck Hunt
Yet another version of the classic game
Shoot at ducks as they fly in somewhat random patterns
Custom MIPS CPU
Custom Unix-like kernel
Custom Duck Hunt source (C)
Done in by:
Integration
Team dynamics -- one member went AWOL. Nobody noticed
Didn’t hold each other accountable for missing deadlines
![Page 36: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/36.jpg)
Haxorus
Music visualizer
Input from iPod, output to speaker
Render shapes to video
Kinect to detect control gestures
Change colors, shapes, etc
Reasons for Success
Not entirely certain, “surprise
success”
Somehow overcame lots of team
dynamics issues
HTTP://WWW.YOUTUBE.COM/WATCH?V=RR-UGS8EPH0&FEATURE=YOUTU.BE
![Page 37: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/37.jpg)
At start: Image cross-correlation algorithm for Lunar X
Match images to lunar maps
At end: PCIE peripheral for image processing
Move data quickly to
FPGA for acceleration
Done in by
Relying on grad
student code
Saved by
Timely pivot to build
something useful
Sidekick
![Page 38: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/38.jpg)
Commodore 64
Creative “4th path” to building a video game -- build the microcomputer
Commodore 64 is the most popular microcomputer in history
Wrote each of the 3 main chips in Verilog/VHDL
6510 CPU, Vic II video unit, sound chip (Yes! Sound!!)
Got games running: Galaxian,
Mario’s Brewery, Centipede,
Pac-Man (sort of), Frogger (sort of),
BASIC interpreter
Reasons for success
Did everything right
![Page 39: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/39.jpg)
18-545: FALL 2016
2012 Projects
Arcade (1942)
Defender (Apple IIe)
Dysentery (Apple IIgs)
Gameboy Color
Sega Genesis
Ray Tracer
40
![Page 40: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/40.jpg)
18-545: FALL 2016
Arcade (1942)
Vertically scrolling shooter
Fly a P38 during the Pacific WW2
Sound from 1943
Stunning success!
Tuma Award
Success Due to
Good engineering decisions
Finished early and polished
41
![Page 41: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/41.jpg)
18-545: FALL 2016
Apple IIe (Team Defender)
6502 based PC from early 80s
Bailed on implementation of 6502
Used open design instead
Goal: Floppy disk drive, unrealized
Completed: Basic interpreter
42
![Page 42: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/42.jpg)
18-545: FALL 2016
Apple IIgs (Dysentery)
Expanded version of Apple II
GS == "graphics and sound"
65C816 CPU (16-bit)
With "Mega II" chip for emulation mode
Done in by
Spent too much time on disk drive
subsystem
43
![Page 43: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/43.jpg)
18-545: FALL 2016
Gameboy Color (Team FPGBC)
Another attempt (F09)
Complex architecture
Semi-successful
Carefully designed game dodged memory problems and didn't
use buggy instructions
Done in by:
Insufficient debug skills
44
![Page 44: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/44.jpg)
18-545: FALL 2016
Sega Genesis
16-bit console, early 90s
Successful project
Good sound, controller interface
Cartridge or ROM from flash
Success due to:
Hard work
45
![Page 45: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/45.jpg)
18-545: FALL 2016
Ray Tracer
Own design for ray tracer
Real time response to camera reposition
Serial port loading of a scene (XMODEM)
K-D tree describes a scene
"Research" style project
Success due to:
Hard work
Hard work
Hard work
46
![Page 46: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/46.jpg)
18-545: FALL 2016
2013 Projects
AstroTeam
Donkey Kong
Game Boy
Playstation
Super NES
47
![Page 47: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/47.jpg)
AstroTeam
Research project
Compute co-processor for
"Visual Odometry" calculations
PCI interface
Lots of math
Done in by:
Schedule
Timing issues
Long synthesis runs
![Page 48: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/48.jpg)
18-545: FALL 2016
Donkey Kong
Very successful arcade game from 1981
2 person team
Used (but validated thoroughly) OpenCores.com Z80
Used Arcade panel
Success due to:
2 person team
Appropriately scoped project
49
![Page 49: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/49.jpg)
18-545: FALL 2016
Game Boy (Again)
Original Game Boy (Greyscale graphics version)
GPU doesn't support sprites
Cart. conn only supports Tetris
Sound works
Link cable works sometimes
Success due to:
Hard work
50
![Page 50: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/50.jpg)
18-545: FALL 2016
Playstation
Very ambitious goal: Playstation with all peripherals (like CD Drive)
Troubles with HDMI on VC707 board
No good hardware interface docs
Pivot: Build a GPU on Altera DE2-115 board
Success due to:
Painting the fence
51
![Page 51: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/51.jpg)
18-545: FALL 2016
Super NES
Revisit of F10 project
Integration trouble
CPU ⇔ GPU timing problems
Were able to prove that components were working
Sounds played from CPU
GPU displays a given frame buffer
Failure due to:
Took time to get model from vendor
Had to learn VHDL
52
![Page 52: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/52.jpg)
18-545: FALL 2016
2014 Projects
Atari 5200
Logic Analyzer
Digital Synth
Gameboy Color
IBM PC
N64
53
![Page 53: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/53.jpg)
Atari 5200
Very early console from Atari
Cartridge Connector
Complex, worked well
6502 CPU (common)
Success due to:
Decision to implement
everything themselves
Complete w/ case
![Page 54: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/54.jpg)
Digital Logic Analyzer
Sample 32 channels at 100 MHz
SPI, I2C, UART, XMEM
Zynq 706 Board – Ran Linux on
the ARM w/ webserver
Node.js for UI
Lots of custom logic: sampling,
analysis, routing, etc
Failed to launch due to:
4-Person Team
Uncooperative Teammate
![Page 55: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/55.jpg)
Digital Synth
Digital Synthesizer
MIDI from keyboard
Transform basic wave according to sliders/knobs
Required basic DSP: ADSR env., Filter, etc
Failed to Launch:
Too much time on MIDI interface, not starting early enough on DSP
![Page 56: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/56.jpg)
Gameboy Color
YAGBA (Yet Another Gameboy
Attempt)
Reused prior years’ stuff
Cartridges’ contents came from
onboard Flash
Got ROMs from several games
working (including Pokemon
Crystal)
Success due to:
Overcame sluggish start
Used ChipScope to debug
![Page 57: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/57.jpg)
IBM PC (5150)
The iconic personal computer
Motherboard implementation, chip by chip
Wrote a few BASIC games
Success due to:
One teammate’s unsuccessful efforts
were compartmentalized and discardable
Careful with schematics
![Page 58: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/58.jpg)
N64
Complex console from 1996
Group thought it was possible w/o the
graphics chip
Even with some boostrapping code,
rough start: ran into bugs
Hasty version of Tron for Demo Day
Failed to launch due to:
4 person team
“eyes bigger than their stomachs”
![Page 59: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/59.jpg)
18-545: FALL 2016
2015 Projects
Atari 7800
BattleZone
Ethernet Packet Analyzer
Centipede / Marble Madness
MorphCore
Neural Network Digit Classification
Pacman
Visual Odometry
60
![Page 60: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/60.jpg)
18-545: FALL 2016
Ethernet Packet Analyzer
Ambitious attempt to build a packet
analyzer/filter
Got a late start on key parts of the
network stack
Learned that Ethernet on FPGAs is still
primitive and not well documented
Failed to launch due to
Team dynamics
Very poor adherence to a schedule
Overly ambitious project with too much
ambiguity
![Page 61: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/61.jpg)
18-545: FALL 2016
Centipede (formerly Marble
Madness)Both are classic arcade cabinets built
on approximately the same hardware
Cool, yet simple input peripheral
(trackball)
Sound called for external FM
synthesis implementation
Failed to launch due to:
One team member trying to do the
whole thing alone
Poor coordination and scheduling
Surprise complexity (i.e., around
sound)
![Page 62: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/62.jpg)
18-545: FALL 2016
Battlezone
Go play it
Met the challenge of a poorly
documented, partial schematic for the
vector graphics unit
Succeeded due to:
Tireless debugging
Team of mixed disciplines
Tireless debugging
Very complete build, w/ full arcade
cabinet
![Page 63: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/63.jpg)
18-545: FALL 2016
MorphCore
Very cool research computer architectures
Sometimes like a superscalar OoO core,
sometimes like several, single-issue cores
Challenged by the need to match real
software interfaces (i.e., the Linux ABI)
Mostly succeeded (though not complete) due
to:
Good planning
Lots of testing (bugs in borrowed code!)
![Page 64: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/64.jpg)
18-545: FALL 2016
Neural Network Digit
Classification
Camera collects video, frames
classified by neural net as digit,
predicted digit outputted to HDMI
Very thorough demo, very cool
system, even included training
experiments.
Success due to:
Planning and software prototyping
Appreciating the complexity and not
underestimating the time for high
complexity components
Verilator – simulate as C++
![Page 65: L1: Past Projects - ece545.comece545.com/F16/slides/L01_PastProjects.pdf · L1: PAST PROJECTS. 18-545: ... 2010 Projects OpenGL GPU (take 3!) Super NES SSD (again) ... Dig through](https://reader034.vdocuments.site/reader034/viewer/2022042707/5a7032a27f8b9ac0538bc343/html5/thumbnails/65.jpg)
18-545: FALL 2016
Project Choice
Choose wisely
Research available assets (code, manuals, schematics, etc)
Dig through project reports from past projects
Some are well-written and will provide advice
66