FPGA Based Video Codec: Implementation and Techniques An 18-796 Seminar Series Markus Adhiwiyogo Benjamin Ernest-Jones Matt Richey.

Slides:



Advertisements
Similar presentations
FPGA (Field Programmable Gate Array)
Advertisements

Hao wang and Jyh-Charn (Steve) Liu
Implementation Approaches with FPGAs Compile-time reconfiguration (CTR) CTR is a static implementation strategy where each application consists of one.
EELE 367 – Logic Design Module 2 – Modern Digital Design Flow Agenda 1.History of Digital Design Approach 2.HDLs 3.Design Abstraction 4.Modern Design Steps.
An Introduction to Reconfigurable Computing Mitch Sukalski and Craig Ulmer Dean R&D Seminar 11 December 2003.
Minimizing Clock Skew in FPGAs
Programmable Logic Devices
Digital Signal Processing and Field Programmable Gate Arrays By: Peter Holko.
EECE579: Digital Design Flows
Reconfigurable Computing: What, Why, and Implications for Design Automation André DeHon and John Wawrzynek June 23, 1999 BRASS Project University of California.
Zheming CSCE715.  A wireless sensor network (WSN) ◦ Spatially distributed sensors to monitor physical or environmental conditions, and to cooperatively.
FPGA chips and DSP Algorithms By Emily Fabes. 2 Agenda FPGA Background Reasons to use FPGA’s Advantages and disadvantages of using FPGA’s Sample VHDL.
02/02/20091 Logic devices can be classified into two broad categories Fixed Programmable Programmable Logic Device Introduction Lecture Notes – Lab 2.
Lesson 11-Virtual Private Networks. Overview Define Virtual Private Networks (VPNs). Deploy User VPNs. Deploy Site VPNs. Understand standard VPN techniques.
Evolution of implementation technologies
Programmable logic and FPGA
1/31/20081 Logic devices can be classified into two broad categories Fixed Programmable Programmable Logic Device Introduction Lecture Notes – Lab 2.
February 4, 2002 John Wawrzynek
Physical Implementation 1)Manufactured Integrated Circuit (IC) Technologies 2)Programmable IC Technology 3)Other Technologies Manufactured IC Technologies.
1. 2 FPGAs Historically, FPGA architectures and companies began around the same time as CPLDs FPGAs are closer to “programmable ASICs” -- large emphasis.
Introduction to FPGA’s FPGA (Field Programmable Gate Array) –ASIC chips provide the highest performance, but can only perform the function they were designed.
Field Programmable Gate Array (FPGA) Layout An FPGA consists of a large array of Configurable Logic Blocks (CLBs) - typically 1,000 to 8,000 CLBs per chip.
Using Programmable Logic to Accelerate DSP Functions 1 Using Programmable Logic to Accelerate DSP Functions “An Overview“ Greg Goslin Digital Signal Processing.
GallagherP188/MAPLD20041 Accelerating DSP Algorithms Using FPGAs Sean Gallagher DSP Specialist Xilinx Inc.
General FPGA Architecture Field Programmable Gate Array.
1  Staunstrup and Wolf Ed. “Hardware Software codesign: principles and practice”, Kluwer Publication, 1997  Gajski, Vahid, Narayan and Gong, “Specification,
Robust Low Power VLSI R obust L ow P ower VLSI Finding the Optimal Switch Box Topology for an FPGA Interconnect Seyi Ayorinde Pooja Paul Chaudhury.
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
Section I Introduction to Xilinx
A Compact and Efficient FPGA Implementation of DES Algorithm Saqib, N.A et al. In:International Conference on Reconfigurable Computing and FPGAs, Sept.
Chapter 6-2 Multiplier Multiplier Next Lecture Divider
Power Reduction for FPGA using Multiple Vdd/Vth
Open Discussion of Design Flow Today’s task: Design an ASIC that will drive a TV cell phone Exercise objective: Importance of codesign.
CPLD (Complex Programmable Logic Device)
Advanced Computer Architecture, CSE 520 Generating FPGA-Accelerated DFT Libraries Chi-Li Yu Nov. 13, 2007.
Chameleon Chip. Topics Covered 1.Introduction 2.Multifunction Implementation 3.The General Architecture Of Reconfigurable Processor 4.Architecture 5.Reconfigurable.
J. Christiansen, CERN - EP/MIC
Reminder Lab 0 Xilinx ISE tutorial Research Send me an if interested Looking for those interested in RC with skills in compilers/languages/synthesis,
Group No 5 1.Muhammad Talha Islam 2.Karim Akhter 3.Muhammad Arif 4.Muhammad Umer Khalid.
Introduction to Reconfigurable Computing Greg Stitt ECE Department University of Florida.
Field Programmable Gate Arrays (FPGAs) An Enabling Technology.
Basic Sequential Components CT101 – Computing Systems Organization.
Lecture 16: Reconfigurable Computing Applications November 3, 2004 ECE 697F Reconfigurable Computing Lecture 16 Reconfigurable Computing Applications.
Lecture 10: Logic Emulation October 8, 2013 ECE 636 Reconfigurable Computing Lecture 13 Logic Emulation.
“Politehnica” University of Timisoara Course No. 2: Static and Dynamic Configurable Systems (paper by Sanchez, Sipper, Haenni, Beuchat, Stauffer, Uribe)
Lecture #3 Page 1 ECE 4110–5110 Digital System Design Lecture #3 Agenda 1.FPGA's 2.Lab Setup Announcements 1.HW#2 assigned Due.
Lecture 13: Logic Emulation October 25, 2004 ECE 697F Reconfigurable Computing Lecture 13 Logic Emulation.
EE3A1 Computer Hardware and Digital Design
PART 6: (1/2) Enhancing CPU Performance CHAPTER 16: MICROPROGRAMMED CONTROL 1.
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
PLC ARCHITECTURE – Memory 1 by Dr. Amin Danial Asham.
COARSE GRAINED RECONFIGURABLE ARCHITECTURES 04/18/2014 Aditi Sharma Dhiraj Chaudhary Pruthvi Gowda Rachana Raj Sunku DAY
Marwan Al-Namari 1 Digital Representations. Bits and Bytes Devices can only be in one of two states 0 or 1, yes or no, on or off, … Bit: a unit of data.
FPGA-Based System Design: Chapter 1 Copyright  2004 Prentice Hall PTR Moore’s Law n Gordon Moore: co-founder of Intel. n Predicted that number of transistors.
ADC – FIR Filter – DAC KEVIN COOLEY. Overview  Components  Schematic  Hardware Design Considerations  Digital Filters/FPGA Design Tools  Questions.
COMP135/COMP535 Digital Multimedia, 2nd edition Nigel Chapman & Jenny Chapman Chapter 2 Lecture 2 – Digital Representations.
Programmable Logic Device Architectures
MICROPROGRAMMED CONTROL
1 Advanced Digital Design Reconfigurable Logic by A. Steininger and M. Delvai Vienna University of Technology.
A Design Flow for Optimal Circuit Design Using Resource and Timing Estimation Farnaz Gharibian and Kenneth B. Kent {f.gharibian, unb.ca Faculty.
SIMD Implementation of Discrete Wavelet Transform Jake Adriaens Diana Palsetia.
Introduction to Intrusion Detection Systems. All incoming packets are filtered for specific characteristics or content Databases have thousands of patterns.
Introduction to Field Programmable Gate Arrays (FPGAs) EDL Spring 2016 Johns Hopkins University Electrical and Computer Engineering March 2, 2016.
3-1 MKE1503/MEE10203 Programmable Electronics Computer Engineering Department Faculty of Electrical and Electronic Universiti Tun Hussein Onn Malaysia.
Programmable Logic Devices
By Abhishek.S 8 th Sem,CS Under the guidance of Mrs. Annapurna B.E, MTech Lecturer of NIE.
Sequential Logic Design
Dynamo: A Runtime Codesign Environment
WAVELET VIDEO PROCESSING TECHNOLOGY
Jian Huang, Matthew Parris, Jooheung Lee, and Ronald F. DeMara
Presentation transcript:

FPGA Based Video Codec: Implementation and Techniques An Seminar Series Markus Adhiwiyogo Benjamin Ernest-Jones Matt Richey

Field Programmable Graphical Arrays  Ability to reconfigure its circuitry for a desired application or function at any time after manufacturing  Adaptive hardware that continuously changes in response to the input data or processing environment  Combination of general-purpose processors and ASICs  Quick reconfiguration time, in order of 100  S to 1 mS

Basic FPGA Design and Structure  A myriad of Configurable Logic Blocks  The CLBs may have functionality of either adding or comparing two numbers  Connection between CLBs are established through signal controlled grid connections  Current FPGAs have more than 100,000 logic gates

Advantages of FPGA  Reconfiguration ability enables performing specific computational tasks at will  Higher flexibility for adaptive coding for multimedia requirements such as:  Bandwidth availability  Quality of Service requirements  Channel characteristics  Rapid prototyping and design iteration  Certain function implementations lead to reduction in die area

Disadvantages of FPGA  Hardware is not ASIC which can lead to non-optimized performance and density  Reconfiguration time is longer compared to loading software  High power consumption during reconfiguration

Parallel Banks Technique  Codec implemented on 2 or more FPGAs  Each FPGA has all parts of the codec  Enables multiple data to be processed simultaneously  Advantages:  Easy to implement  Die area is not a constraint  High data throughput due to parallelism  Disadvantages :  Too much hardware  Lead to non-optimized configuration

Compile-Time Reconfiguration  Entire chip is configured once for the target application  Advantages:  Easy control signals  Disadvantages:  More than 1 FPGA may be needed

Run-Time Reconfiguration  Chip is reconfigured to perform different functions during an application  Advantages:  Reduced Hardware  Critical Path is small  Disadvantages:  Reconfiguration causes significant delay (can be compensated by partial reconfiguration)  May lead to difficulty in control system implementation

Prototype Video Codec from UCLA  Transformation scheme (i.e DCT)  Quantization  Entropy Coding  No Motion Compensation performed

Detailed Description of UCLA Video Codec  Utilizes RTR implementation  Partitioned into 3 separate configuration  Discrete Wavelet Transform, Addressing, and Control Logic  Quantization and Run Length Coding  Entropy Coding  RTR uses partial reconfiguration technique  QCIF Resolution  kbs  CDMA for RF-Link

Configuration One  Discrete Wavelet Transform  Short filter with integer coefficients  Requires 318 gates and 241 flip-flops  Corresponds to 681 CLBs  Addressing and Control Logic  Correct data retrieval from RAM  Provides access to peripheral system

Configuration Two  Quantization and Run Length Coding  Requires 2500 gates  Addressing and Control Logic  Same as configuration 1  Never reconfigured  Data from previous configuration stored in another RAM

Configuration Three  Entropy Coding  Provides 2:1 lossless compression  Addressing and Control Logic  Same as configuration 1 and 2  Never reconfigured  Data from previous configuration stored in another RAM

Experiment Results  RTR provides lowest silicon area  Partial reconfiguration decreases reconfiguration delay by 50% on Global reconfiguration  Critical Path is 220 ns (5 MHz system)  Load and ready time approximately 1.6ms  Compression rate of 15:1 was achieved  Independent of frame size

Alternate Implementation: FPGA-VSP Co-Processor  Allows more operations:  7 x 7 Mask 2D Filter (13.3 f/sec)  8 x 8 Block DCT (55 f/sec)  4 x 4 Block VQ at 0.5 bpp (7.4 f/sec)  1 level WT (35.7 f/sec)  Max FPGA clock of 20 MHz  Max VSP clock of 50 MHz

Other Notable Implementations and Techniques  Dual FPGA, One RTR at any time  FPGA and General Processor Co- Processing  Systolic  Look Up Table for transform coefficients

Documentations   J. Villasenor and W.H. Mangione-Smith, "Configurable Computing,” Scientific American, pp , June, 1997.Configurable Computing   J. Villasenor, C. Jones, and B. Schoner, "Video Communications using Rapidly Reconfigurable Hardware," IEEE Transactions on Circuits and Systems for Video Technology, vol. 5, pp , December 1995.Video Communications using Rapidly Reconfigurable Hardware   B. Schoner, C. Jones and J. Villasenor, "Issues in Wireless Video Coding Using Run-time-reconfigurable FPGAs,” Proceedings of the IEEE Symposium on FPGAs for Custom Computing Machines, pp , Napa, CA, Apr Issues in Wireless Video Coding Using Run-time-reconfigurable FPGAs   B. Schoner, J. Villasenor, S. Molloy, R. Jain, "Techniques for FPGA Implementation of Video Compression," ACM/SIGBA International Symposium on Field-Programmable Gate Arrays, 1995.Techniques for FPGA Implementation of Video Compression

Related Sites  FPGA Based Codec Site   Techniques and Implementations  c/class/15828-s98/www/index.html c/class/15828-s98/www/index.html c/class/15828-s98/www/index.html   Hardware Sites  

Question and Answers  How does FPGA compare to direct hardware implementation?  Compared to video cards of today, FPGA’s performance would be slower compared to them. I believe this is because today’s semiconductor technology is still insufficient to process FPGAs wiring and density to be optimal.  Frame rate of the UCLA video codec?  Frame rate of the codec depends upon which hardware implementation used. In the co-processing method, the frame rate is variable (from 7-35). The pure FPGA implementation runs at 20 frames/second. Although the comparison may look “funny” one also must take into account that the pure FPGA implementation much more simplified codec than the co-processing method.  How fast a FPGA re-configure itself?  Initial design download is 1.6 ms. Global reconfiguration is 3 ms. Partial reconfiguration is 1.5 ms.