DOC PREVIEW
Berkeley COMPSCI 150 - COMPSCI 150 Final Project

This preview shows page 1-2 out of 6 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 6 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 6 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 6 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

UNIVERSITY OF CALIFORNIA AT BERKELEY COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE EECS-150 FINAL PROJECT SPRING 2003 Change notes: Date Name Version Description 2/26/03 Sandro Pintz 1.0 First Release Introduction This document describes the final project for the Spring 2003 semester of EECS-150. Upon completion of this project, students will have built a simple video processing systems and they will have become familiar with: • A modern development CAD tool flow for FPGA design. • Design with hardware description languages • Issues and design with asynchronous clock domains crossing • Lab debugging techniques • Digital video processing • Basic knowledge off networking This projects has a set of required elements and some optional features that can be added for extra credit and ONLY if time allows. Extra credit will only be given if ALL the required elements are correctly implemented. 2. Objectives The final project for this semester is a basic video special effects design. The block diagram below shows the major components of this system. The instructor will provide some of the blocks and others will be designed, tested and debugged by students. We will also require some basic video effects to be working by the end of the project. Other video effects will be suggested but not required and can be implemented as extra credit.VideoDecodeAsyncFifoSdramControlVideoEncodeSync FifoNetworkInterfaceSpecialEffectsSDRAMControlData3232 323232 3288Control27 MHz (Camera)27 MHz (VideoEncoder)25 MHz(Network)27 MHz (VideoEncoder)ADV7194ADV7185ITU 601/656ITU 601/656compositevideocompositevideoPHYcontrolcontrolcontrolcontrolFPGA 3. Description Composite video will come from an external camera into Analog Devices’ ADV7185 video decoder. The digital output from this device conforms to ITU656 and ITU601 whose specification you can find on the class website. The video decoder device will also extract a 27MHz clock signal from the analog signal and will generate its digital output on the rising edge of this clock (see specification on class website). This 8 bit wide digital stream will be captured on this clock in the FPGA and taken by the Video Decode module who will parse the stream and extract the synchronization (EAV, SAV) information and then the color information (4:2:2 format, Cr, Y, Cb, Y as seen in class). The actual video information will be formatted into 32 bit quantities (Cr, Y, Cb, Y) and presented to the special effects module. Initially, this module will do absolutely nothing and will pass the received information directly into the Fifo. The special effect module will be modified in the later stages of the project only, i.e. the whole project will initially be nothing more than an expensive wire. Up to this point, all the logic is synchronous to the 27MHz extracted by the video decoder. The sdram controller and the rest of the video encoding pieces are based on the video encoder 27 MHz clock which is generated externally by an oscillator. No assumption can be made about the phase or frequency relationship of these two clocks. Therefore, at this point we need to synchronize the stream to the encoder clock. We use an asynchronous FIFO for this purpose. This will also help us as a buffer to manage rate changes and bottlenecks accessing the system RAM implementing the Frame Buffer. Anasynchronous Fifo provide for an easy and clean way of transferring data from one clock domain to another. Since it is so widely used, it is usually an easy drop-in for the designer. The penalty is paid in additional latency. The sdram controller provides the core control logic for this system. It constantly monitors the asynchronous Fifo (write fifo) for data availability to be written. It also checks to see if the read fifo has enough room for a new read burst to the RAM. The sdram controller will read and write 16 bytes in bursts of length 4. Given that we are running with a 27MHz clock, only 8 clock cycles are needed for a burst, i.e. the maximum memory bandwidth is calculated as: MBsondbyte 54sec/10*5416*810*2766== The video requirements are 30 frames per second, 507 active lines per frame (for the provided cameras), 720 pixels per line and 2 bytes per pixel: 30 * 507 * 720 *2 = 21,902,400 MBs22≈ Since we are reading and writing full frames, we need about 44MBs for our project. The implications of this is that the sdram controller has to make very good use of the bandwidth available and that there is no bandwidth left for other special effects (anything that would require multiple reads from sdram or reading the same data in less time, etc). Another consideration is that the read operation cannot start before there is some data in the frame buffer. For this purpose we will wait at least until a whole field is in memory before allowing the read and display operation to begin. The data read from the frame buffer is loaded into a synchronous Fifo. The purpose of this Fifo is to smooth out the data rate into the video encoding logic. The final portion of the project includes the design of special effects and networking interface. A very simple protocol is defined to send command from the linux servers to your calynx board. Every project group will have its own MAC address assigned which will be kept secret by the team. Any attempt to use or misuse another teams MAC address will be considered a severe violation of the course code of ethics. The network interface will receive the Ethernet packets from the on board PHY device, will decode them and present a command with a VALID pulse to the special effects logic. The networking interface runs at 25MHz which implies a new clock domain crossing. Since the special effects section is running at the video decoder rate, the VALID pulse (and not the whole command) needs to be synchronized to the video decoder clock. New special effects commands need to work without resetting the board, i.e. when a new command is received, the transition should be clean. The system will wait for the next vertical blanking before implementing the new command.3.1. Special Effects You will have to implement a few required special effects and we will suggest a few additional special effects for extra credit. Also, if you have any additional ideas, let your TA’s know and they will add the new commands. The required commands are: • Freeze: Upon reception of this command the current image on


View Full Document

Berkeley COMPSCI 150 - COMPSCI 150 Final Project

Documents in this Course
Lab 2

Lab 2

9 pages

Debugging

Debugging

28 pages

Lab 1

Lab 1

15 pages

Memory

Memory

13 pages

Lecture 7

Lecture 7

11 pages

SPDIF

SPDIF

18 pages

Memory

Memory

27 pages

Exam III

Exam III

15 pages

Quiz

Quiz

6 pages

Problem

Problem

3 pages

Memory

Memory

26 pages

Lab 1

Lab 1

9 pages

Memory

Memory

5 pages

Load more
Download COMPSCI 150 Final Project
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view COMPSCI 150 Final Project and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view COMPSCI 150 Final Project 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?