Download presentation
Presentation is loading. Please wait.
1
CS 150 - Fall 2005 – Lec. #12: Course Project - 1 Electronic Etch-a-Sketch Project zProject Concept and Background zCheckpoint Structure zBells and Whistles
2
CS 150 - Fall 2005 – Lec. #12: Course Project - 2 Objectives zBroad “brush” overview of the project zDetails will be covered in the lab lectures zNOTE: anything discussed in the lab lectures and project checkpoint write-ups supercedes what I describe here! yThe TAs know the project better than I do!
3
CS 150 - Fall 2005 – Lec. #12: Course Project - 3 Etch-a-Sketch
4
CS 150 - Fall 2005 – Lec. #12: Course Project - 4 Electronic Etch-a-Sketch zAKA an electronic “paint” machine … zRecent CS 150 projects: network streaming audio, network digital “telephone”, pong, video image processing, … audio and/or video a common theme zThis is a good CS 150 project because … yIt is NOT a processor architecture (take CS 152 for that!) yVast majority of digital designs involve interfacing with the real world, with real world timing constraints! yHardware Systems: Input, Processing, Output xPen/brush position/size (and special effects) inputs xState of the screen in frame buffer in SDRAM xModified by drawing semantics xRefresh LCD screen from frame buffer in SDRAM
5
CS 150 - Fall 2005 – Lec. #12: Course Project - 5 Etch-a-Sketch zOne possible way to do it …
6
CS 150 - Fall 2005 – Lec. #12: Course Project - 6 Electronic Etch-a-Sketch zImplement this … with this …
7
CS 150 - Fall 2005 – Lec. #12: Course Project - 7 Flash Card & Micro-drive Port Video Encoder & Decoder AC ’97 Codec & Power Amp Video & Audio Ports Four 100 Mb Ethernet Ports 8 Meg x 32 SDRAM Quad Ethernet Transceiver Xilinx Virtex 2000E Seven Segment LED Displays Prototype Area Calinx Board
8
CS 150 - Fall 2005 – Lec. #12: Course Project - 8 Calinx Board Etch-a-Sketch Block Architecture Checkpoint #1: N64 Game Controller Interface Checkpoint #2: NTSC Video Checkpoint #3: SDRAM Controller Arbiter Checkpoint #4: Paint Engine Cursor Position Cursor Size Brush Color Paint Engine- SDRAM Interface
9
CS 150 - Fall 2005 – Lec. #12: Course Project - 9 Checkpoint #1: N64 Interface zThis week in lab! zContinually poll N64 and report state of buttons and analog joystick yIssue 8-bit command yReceive 32-bit response zEach button response is 32 bit value containing button state and 8-bit signed horizontal and vertical velocities zSerial interface protocol yMultiple cycles to perform each transaction zBits obtained serially--UART-like functionality yFraming (packet start/stop) yBit encoding xstart | data | data | stop
10
CS 150 - Fall 2005 – Lec. #12: Course Project - 10 Checkpoint #2: Video Encoding zPixel Array: yDigital image represented by matrix of values, where each is a function of the information surrounding it in the image; single element in image matrix: picture element or pixel (includes info for all color components) yArray size varies for different apps and costs: some common sizes shown zFrames: yIllusion of motion created by successively flashing still pictures called frames
11
CS 150 - Fall 2005 – Lec. #12: Course Project - 11 Checkpoint #2: Video Encoding zVideo details fairly complex and involve many choices: yNTSC vs. PAL, HDTV, … yInterleaved even-odd frames (TV) vs. progress scan (computer and digital displays) yFrame size, frame rate yPixel encodings: RGB, YUV/YCB (Luminance, Chrominance -- brightness plus color difference signals) ySubsampling to reduce data demands (compression trick) yInputs: ITU-R BT.601 Format (Digital Broadcast NTSC) yOutputs: Component video, S-video to drive LCDs in lab yFortunately, Calinx board has a chip on-board that deals with much of the grungy details …
12
CS 150 - Fall 2005 – Lec. #12: Course Project - 12 ITU-R BT.656 Details zInterfacing details for ITU-601 Pixels per line858 Lines per frame525 Frames/sec29.97 Pixels/sec13.5 M Viewable pixels/line720 Viewable lines/frame487 zWith 4:2:2 chroma sub-sampling, send 2 words/pixel (Cr/Y/Cb/Y) zWords/sec = 27M Encoder runs off a 27MHz clock zControl info (horizontal & vertical synch) is multiplexed on data lines zEncoder data stream show to right zSee video tutorial documents on course documentation web page!
13
CS 150 - Fall 2005 – Lec. #12: Course Project - 13 Checkpoint #2: Video Encoder zPaint engine processes pixels within frame buffer zDrive ADV7194 video encoder device to output correct NTSC video zGain lots of experience reading data sheets zDictates the 27 MHz operation rate yUsed throughout graphics subsystem
14
CS 150 - Fall 2005 – Lec. #12: Course Project - 14 Calinx On-Board Video Encoder zAnalog Devices ADV7194: ITU 601/656 in, Composite Video Out zSupports: yMultiple input formats and outputs yOperational modes, slave/master yUsed in default mode: ITU-601 as slave s-video output z Digital input side connected to Virtex pins z Analog output side wired to on board connectors or headers z I 2 C interface for initialization: yWired to Virtex
15
CS 150 - Fall 2005 – Lec. #12: Course Project - 15 Checkpoint #3: SDRAM Interface zMemory protocols yBus arbitration yAddress phase yData phase zDRAM is large, but few address lines and slow yRow & col address yWait states zSynchronous DRAM provides fast synchronous access current block yLittle like a cache in the DRAM yFast burst of data zArbitration for shared resource
16
CS 150 - Fall 2005 – Lec. #12: Course Project - 16 SDRAM READ Burst Timing
17
CS 150 - Fall 2005 – Lec. #12: Course Project - 17 Checkpoint #4: Paint Engine zFed a series of “brush” strokes and effects yDefined by color (including erase), brush shape (height, width), etc. yCurrent brush positions yAll from N64 Controller interface yNOTE: lots of buttons, and lots of opportunity for extra credit brush effects zRenders “paint” into frame buffer within range of pixels at current cursor position zMust arbitrate for SDRAM and carry out bus protocol yPaint engine overlaps writing SDRAM with video interfacing reading SDRAM to drive LCD display yContinuously feeding video interface from SDRAM subject to timing specifications
18
CS 150 - Fall 2005 – Lec. #12: Course Project - 18 Checkpoint Structure and Schedule zCheckpoint #1: Game Controller Interface (Week 7) zCheckpoint #2: LCD Interface (Week 8) zCheckpoint #3: Memory Interface (Week 9, 10 -- Spans Midterm II) zCheckpoint #4: Paint Engine/Integration (Week 11, 12, 13+) zEarly Check-off: Wednesday before Thanksgivings (November 23) zStandard Check-off: Wednesday, November 30 zProject Final Report: December 7
19
CS 150 - Fall 2005 – Lec. #12: Course Project - 19 Possible Bells and Whistles zStill thinking about this but here are some ideas; These are mostly implemented in the paint engine … yBrush sound effects yBrush effects, like spray paint, splashes, etc. yBrush shapes, like square, oval, triangle yBrush physics, soft vs. hard brush, brush angle, etc. (e.g., Japanese caligraphy) yColor mixing rather than overwrite yYour good idea here yNOTE: We don’t necessary know how to implement these ourselves! yNOTE: extra credit will be limited to 20% extra points and no extra credit unless the standard functionality works
20
CS 150 - Fall 2005 – Lec. #12: Course Project - 20
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.