Local Video System: Overview

Slides:



Advertisements
Similar presentations
1/1/ / faculty of Electrical Engineering eindhoven university of technology Speeding it up Part 3: Out-Of-Order and SuperScalar execution dr.ir. A.C. Verschueren.
Advertisements

EECS150 Lab Lecture #61 AC97 PCM Audio EECS150 Fall 2007– Lab Lecture #6 Udam Saini 10/05/2007.
Chapter 12 CPU Structure and Function. CPU Sequence Fetch instructions Interpret instructions Fetch data Process data Write data.
Computer Organization and Architecture
Blackfin BF533 EZ-KIT Control The O in I/O Activating a FLASH memory “output line” Part 2.
Memory Chapter 3. Slide 2 of 14Chapter 1 Objectives  Explain the types of memory  Explain the types of RAM  Explain the working of the RAM  List the.
EECS 150 Spring 2007 Checkpoint 0 - SDRAM 2/23/2007 Jeff Kalvass (Adapted From Greg Gibeling )
2/24/2006EECS150 Lab Lecture #61 N64 Controller (Project Checkpoint#1) EECS150 Spring2006 – Lab Lecture #6 Philip Godoy Guang Yang Greg Gibeling.
Conversion Between Video Compression Protocols Performed by: Dmitry Sezganov, Vitaly Spector Instructor: Stas Lapchev, Artyom Borzin Cooperated with:
3/9/2007EECS150 Lab Lecture #81 Wireless Video Conferencing EECS150 Spring Lab Lecture #10 Neil Warren Allen Lee.
3/24/2006EECS150 Lab Lecture #101 Game Engine EECS150 Spring2006 Lab Lecture #10 Guang Yang.
Double buffer SDRAM Memory Controller Presented by: Yael Dresner Andre Steiner Instructed by: Michael Levilov Project Number: D0713.
CS150 Project Checkpoint 1. Controller Interface Dreamkatz Controller Interface 1. The N64 Controller 2. Physical interface 3. Communication protocol.
Video Compression Bee Fong. Lossy Compression  Inter Frame Compression Compression among frames Compression among frames  Intra Frame Compression Compression.
CS150 Project Checkpoint 2 CheckPt2 is easy!!! BUT………………. This lab can be very tricky. BUT……………… Mark is here to help! You get to listen to cool.
10/10/2008EECS150 Lab Lecture #71 The Project & Digital Video EECS150 Fall Lab Lecture #7 Arjun Singh Adopted from slides designed by Greg Gibeling.
Reliable Data Storage using Reed Solomon Code Supervised by: Isaschar (Zigi) Walter Performed by: Ilan Rosenfeld, Moshe Karl Spring 2004 Midterm Presentation.
7/16/2015EECS150 Spring Wireless Transceiver EECS150 Spring 2008 Shah Bawany.
Group 5 Alain J. Percial Paula A. Ortiz Francis X. Ruiz.
* Definition of -RAM (random access memory) :- -RAM is the place in a computer where the operating system, application programs & data in current use.
10/31/2008EECS150 Lab Lecture #10 The Waveform Generator EECS150 Fall Lab Lecture #10 Chris Fletcher Adopted from slides designed by Chris Fletcher.
Lab 2: Capturing and Displaying Digital Image
Approval by Board and Completing the Application Packet.
Final presentation – part B Olga Liberman and Yoav Shvartz Advisor: Moshe Porian April 2013 S YMBOL G ENERATOR 2 semester project.
The Layered Protocol Wrappers 1 Florian Braun, Henry Fu The Layered Protocol Wrappers: A Solution to Streamline Networking Functions to Process ATM Cells,
ECE Department: University of Massachusetts, Amherst ECE 354 Lab 5: Data Compression.
IT253: Computer Organization
8279 KEYBOARD AND DISPLAY INTERFACING
Computer Organization CDA 3103 Dr. Hassan Foroosh Dept. of Computer Science UCF © Copyright Hassan Foroosh 2002.
8279 KEYBOARD AND DISPLAY INTERFACING
Spring 2009W. Rhett DavisNC State UniversityECE 406Slide 1 ECE 406 – Design of Complex Digital Systems Lecture 18: More Complex Interfaces Spring 2009.
Levels of Verification Figure 2.2 p 37 Verification is applied at all different abstraction levels Mostly bottom up, some top down.
Perform a complete mail merge Lesson 14 By the end of this lesson you will be able to complete the following: Use the Mail Merge Wizard to perform a basic.
Introduction to the FPGA and Labs
Lab 4 HW/SW Compression and Decompression of Captured Image
CS 704 Advanced Computer Architecture
Hidden Slide for Instructor
EECS150 Fall Lab Lecture #10 Allen Lee
System-on-Chip Design Homework Solutions
Processor support devices Part 2: Caches and the MESI protocol
Fri. Sept 29 Announcements
The 8085 Microprocessor Architecture
SDRAM Arbiter EECS150 Fall Lab Lecture #9 Chen Sun
COMP2121: Microprocessors and Interfacing
Video Conferencing System
Progress Report Chester Liu 2013/11/29.
Session 8 Exam techniques
New Crate Controller Development
Local Video System: Overview
Rogers Sourcing Using Excel to Upload Responses into Ariba
Digital Video - Introduction
Lab 6 Part II Instructions
Logic Analyzers EECS150 Fall Lab Lecture #5 Arjun Singh
EECS150 Fall 2007 – Lab Lecture #4 Shah Bawany
The 8085 Microprocessor Architecture
Branch instructions We’ll implement branch instructions for the eight different conditions shown here. Bits 11-9 of the opcode field will indicate the.
Debugging EECS150 Fall Lab Lecture #4 Sarah Swisher
Lab 2 Part II Instructions
Debugging EECS150 Fall Lab Lecture #4 Sarah Swisher
Good Design & Network Audio
The SDRAM Controller EECS150 Fall Lab Lecture #8 Chen Sun
Logic Analyzers EECS150 Fall Lab Lecture #5 Arjun Singh
Review: The whole processor
(Adapted From Slides by Greg Gibeling)
Digital Video - Introduction
Chapter 11 Processor Structure and function
The Programmable Peripheral Interface (8255A)
Chapter 13: I/O Systems “The two main jobs of a computer are I/O and [CPU] processing. In many cases, the main job is I/O, and the [CPU] processing is.
Presentation transcript:

Local Video System: Overview EECS150 Fall 2008 - Lab Lecture #7 Ke Xu 4/18/2019 EECS150 Lab Lecture #8

Welcome to Checkpoint 1 First real design checkpoint Video in SDRAM No datasheets! Video in SDRAM Motivation Storage FIFO Controllers SDRAM Arbiter 4/18/2019 EECS150 Lab Lecture #8

The Big Idea(1) 4/18/2019 EECS150 Lab Lecture #8

The Big Idea(2) Combining checkpoint 1 (SDRAM) + two video modules We’ll give you the video decoder + video encoder Video Decoder writes a frame into SDRAM Video Encoder reads the frame from SDRAM Arbiter sits between SDRAM Controller and Decoder/Encoder to make sure the SDRAM Controller sees only one request at a time 4/18/2019 EECS150 Lab Lecture #8

Video Encoder Previous semesters had to implement this as a checkpoint. This semester, the Video Encoder module will be black-boxed. Saves the class from having an excessive number of checkpoints. Will be replaced by the last checkpoint, which is video compression (DCT + Huffman). 4/18/2019 EECS150 Lab Lecture #8

Short Video Summary ITU-R BT.601 ITU-R BT.656 Luma/Chroma Y CR Y CB Pixel Pairs Vertical/Horizontal Active/Blanking 4/18/2019 EECS150 Lab Lecture #8

Video References Past Lab Lecture on video encoder posted online. Sample design document (Chen’s) already posted on the website. Check documentation (ADV7194 Video Encoder, ADV7185 Video Decoder) on website. Past checkpoint pdf spec also posted online. 4/18/2019 EECS150 Lab Lecture #8

Checkpoint 2 Part I: Encode/Decode FIFO Controllers Part II: Arbiter Address Counters determine read/write addresses FSM determines when to request read/write Part II: Arbiter Need to handle simultaneous requests. Handles writes from decode processor Handles reads from encode processor Ensures that one request is given to SDRAM Controller at a time 4/18/2019 EECS150 Lab Lecture #8

FIFO Controllers (1) Decoder FIFO Controller Store active video data from decoder into FIFO Write to SDRAM when FIFO has enough data Assert a write request when FIFO has at least 8 words Ensures that FIFO does not underflow Controls the write address counter Similar to encoder FIFO controller 4/18/2019 EECS150 Lab Lecture #8

Dual Clocked FIFO The FIFO on the decoder side uses two independent clocks: one for reading, one for writing. The camera runs on its own 27MHz clock. You can use ModelSim to figure out how to interpret each of the control signals. 4/18/2019 EECS150 Lab Lecture #8

FIFO Controllers (2) Encoder FIFO Controller Reads active video data from SDRAM Reads from SDRAM when FIFO has enough space Assert a read request when FIFO is less than ¾ full Must ensure that FIFO never overflows Controls the read address counter Sends data from FIFO to VideoEncoder 4/18/2019 EECS150 Lab Lecture #8

More on FIFOs Why a FIFO? Data Rate Matching Buffering SDRAM handles data at 32 bits per cycle Encoder handles data at 32 bits per 4 cycles Buffering Encoder needs a continuous stream of data SDRAM might be busy The FIFO “Predicts” what data the video encoder will want and supplies it upon request 4/18/2019 EECS150 Lab Lecture #8

Announcements Checkpoint 1 Checkpoint 1 due next week in your respective lab sections. Demonstrate working implementation of your checkpoint. Knowledge of SDRAM Controller timing is essential for checkpoint 2 Please make sure to finish your checkpoints on time. Once you finish one checkpoint, your attention will then immediately focus on the next checkpoint. Lateness means you will only fall further behind. 4/18/2019 EECS150 Lab Lecture #8

SDRAM Arbiter (1) Essentially, you’re replacing Checkpoint0bb with your own useful implementation. Controls interface with SDRAM Controller Sets priority between Decoder and Encoder SDRAM Controller thinks there is only 1 port SDRAM Arbiter allows multiple access ports Funnels control signals selectively to each port 4/18/2019 EECS150 Lab Lecture #8

SDRAM Arbiter (2) You will need to add more states to this 4/18/2019 EECS150 Lab Lecture #8

Arbiter Handshaking Protocol Once the SDRAM Controller has finished initializing, the arbiter will start polling the decoder and encoder for requests (simultaneously). If both modules are ready, the arbiter should give priority to the encoder. If neither module is ready, the arbiter should poll again. If either module is ready, the arbiter must appropriately assert read/write requests to the SDRAM controller, and control signals to the FIFO controllers YOU MUST REVIEW THE TIMING FOR HANDLING REQUESTS IN YOUR SDRAM CONTROLLER. THE CONTROL SIGNALS MUST BE TIMED PERFECTLY OR YOUR PROJECT WILL NOT WORK 4/18/2019 EECS150 Lab Lecture #8

How is the video data stored? 4/18/2019 EECS150 Lab Lecture #8

Modifications Needed for CP0 Recall from Checkpoint 0: RAM Address = {Row, Bank, Column} In this checkpoint: RowAddress = {4’h0, PixelRow, Field} BankAddress = 2'h0 ColumnAddress = {BurstColumn, 3'h0} You will modify your address counter to accommodate exactly the right amount of active video data. 4/18/2019 EECS150 Lab Lecture #8

Video Again ITU 601 Standard The video camera follows the ITU 601 standard, which has 507 active lines. Odd Field (262 Lines) 6 Vertical Blanking, 254 Active, 2 Vertical Blanking Even Field (263 Lines) 7 Vertical Blanking, 253 Active, 3 Vertical Blanking The provided video decoder sends video data order {Cb, Y, Cr, Y}. 4/18/2019 EECS150 Lab Lecture #8

Tips, Hints, & Common Pitfalls Timing for writing is tricky. Recall from Checkpoint 1 that the black box puts data on the DQ line based only on WriteRequest timing. You’ll have to take care of this timing yourself now. 4/18/2019 EECS150 Lab Lecture #8

Tips, Hints, & Common Pitfalls Make your arbiter design very clean The lab specification states that most modules can be implemented in ¾ states. You’ll need to extend your arbiter to accommodate four ports for Checkpoint 4. Your encode and decode processors should be almost identical. They are basically the same module. 4/18/2019 EECS150 Lab Lecture #8

Tips, Hints, & Common Pitfalls Long synthesis Due to increased complexity of this checkpoint, putting your design on the board can take up to 10 minutes. Avoid the vicious cycle of: Changing one line Generating the programming file Fail Repeat If you catch yourself doing this, make ModelSim testbenches. Yes, you can simulate the blackbox FIFOs. 4/18/2019 EECS150 Lab Lecture #8

Questions? 4/18/2019 EECS150 Lab Lecture #8