Picture Manipulation using Hardware Presents by- Uri Tsipin & Ran Mizrahi Supervisor– Moshe Porian Final Presentation – Part A Dual-semester project 12.11.2012.

Slides:



Advertisements
Similar presentations
Sumitha Ajith Saicharan Bandarupalli Mahesh Borgaonkar.
Advertisements

Internal Logic Analyzer Final presentation-part B
Internal Logic Analyzer Final presentation-part A
Data Protection Card Submit: Assaf Matia Technion Guide: Eran Segev Rafael Guide: Henri Delmar Winter & Spring 2004.
Characterization Presentation Neural Network Implementation On FPGA Supervisor: Chen Koren Maria Nemets Maxim Zavodchik
Presenting: Itai Avron Supervisor: Chen Koren Final Presentation Spring 2005 Implementation of Artificial Intelligence System on FPGA.
Firmware implementation of Integer Array Sorter Characterization presentation Dec, 2010 Elad Barzilay Uri Natanzon Supervisor: Moshe Porian.
Final Presentation Neural Network Implementation On FPGA Supervisor: Chen Koren Maria Nemets Maxim Zavodchik
Characterization Presentation Neural Network Implementation On FPGA Supervisor: Chen Koren Maria Nemets Maxim Zavodchik
1 Implementation in Hardware of Video Processing Algorithm Performed by: Yony Dekell & Tsion Bublil Supervisor : Mike Sumszyk Semesterial project SPRING.
Sub-Nyquist Sampling DSP & SCD Modules Presented by: Omer Kiselov, Daniel Primor Supervised by: Ina Rivkin, Moshe Mishali Winter 2010High Speed Digital.
Picture Manipulation using Hardware Presents by- Uri Tsipin & Ran Mizrahi Supervisor– Moshe Porian Final Presentation – Part B Dual-semester project
Lab 2: Capturing and Displaying Digital Image
Tightly coupled INS/GPS system using particle filter D0928- system architecture and math functions Part A - Final presentation Students: Royzman Danny.
Final presentation – part B Olga Liberman and Yoav Shvartz Advisor: Moshe Porian April 2013 S YMBOL G ENERATOR 2 semester project.
Presented by : Maya Oren & Chen Feigin Supervisor : Moshe Porian Lab: High Speed Digital System One Semester project – Spring
Matrix Multiplication on FPGA Final presentation One semester – winter 2014/15 By : Dana Abergel and Alex Fonariov Supervisor : Mony Orbach High Speed.
Firmware based Array Sorter and Matlab testing suite Final Presentation August 2011 Elad Barzilay & Uri Natanzon Supervisor: Moshe Porian.
Presented by : Olga Liberman & Yoav Shvartz Supervisor : Moshe Porian
3. ISP Hardware Design & Verification
Picture to be sent (640x480) Displayed Picture (800x600) HOST VGA DE2 Board.
Picture Manipulation using Hardware Presents by- Uri Tsipin & Ran Mizrahi Supervisor– Moshe Porian Final Presentation – Part B Dual-semester project
Neta Peled & Hillel Mendelson Supervisor: Mike Sumszyk Final Presentation of part B Annual project.
LZRW3 Decompressor dual semester project Characterization Presentation Students: Peleg Rosen Tal Czeizler Advisors: Moshe Porian Netanel Yamin
Company LOGO Mid semester presentation Spring 2008/9 Performed by: Alexander PavlovDavid Domb Supervisor: Mony Orbach GPS/INS Computing System.
Electrocardiogram (ECG) application operation – Part B Performed By: Ran Geler Mor Levy Instructor:Moshe Porian Project Duration: 2 Semesters Spring 2012.
Lecture 16: Reconfigurable Computing Applications November 3, 2004 ECE 697F Reconfigurable Computing Lecture 16 Reconfigurable Computing Applications.
LZRW3 Data Compression Core Dual semester project April 2013 Project part A final presentation Shahar Zuta Netanel Yamin Advisor: Moshe porian.
Project Characterization Implementing a compressor in software and decompression in hardware Presents by - Schreiber Beeri Yavich Alon Guided by – Porian.
Presented by : Olga Liberman & Yoav Shvartz Supervisor : Moshe Porian
LZRW3 Decompressor dual semester project Part A Mid Presentation Students: Peleg Rosen Tal Czeizler Advisors: Moshe Porian Netanel Yamin
LZRW3 Data Compression Core Project part B final presentation Shahar Zuta Netanel Yamin Advisor: Moshe porian December 2013.
Electrocardiogram (ECG) application operation – Part A Performed By: Ran Geler Mor Levy Instructor:Moshe Porian Project Duration: 2 Semesters Spring 2012.
High Speed Digital Systems Lab. Agenda  High Level Architecture.  Part A.  DSP Overview. Matrix Inverse. SCD  Verification Methods. Verification Methods.
1 Implementation in Hardware of Video Processing Algorithm Performed by: Yony Dekell & Tsion Bublil Supervisor : Mike Sumszyk SPRING 2008 High Speed Digital.
Sub-Nyquist Sampling Algorithm Implementation on Flex Rio
1 by: Ilya Melamed Supervised by: Eyal Sarfati High Speed Digital Systems Lab.
Final Presentation Implementation of DSP Algorithm on SoC Student : Einat Tevel Supervisor : Isaschar Walter Accompanying engineer : Emilia Burlak The.
Field Programmable Port Extender (FPX) 1 Modular Design Techniques for the FPX.
Company LOGO Final presentation Spring 2008/9 Performed by: Alexander PavlovDavid Domb Supervisor: Mony Orbach GPS/INS Computing System.
FPGA Calculator Core Final Presentation Chen Zukerman Liran Moskovitch Advisor : Moshe Porian Duration: semesterial December 2012.
Project Final Semester A Presentation Implementing a compressor in software and decompression in hardware Presents by - Schreiber Beeri Yavich Alon Guided.
FPGA Calculator Core Mid Presentation Chen Zukerman Liran Moskovitch Advisor : Moshe Porian Duration: semesterial November 2011.
Flush UART RX MP Dec RAM 1 SDRAM Controller WBS WBM – Wishbone Master WBS – Wishbone Slave Mem Ctrl Wr Mem Ctrl Rd SDRAM Arbiter WBS RAM 2 MP Enc UART.
Picture Manipulation using Hardware Presents by- Uri Tsipin & Ran Mizrahi Supervisor– Moshe Porian Characterization presentation Dual-semester project.
REGISTER MANAGMENT TOOL Preformed by: Liat Honig Nitzan Carmel Supervisor: Moshe Porian Date: 29/1/2012 winter semester 2011 Duration: One semester Middle.
Picture Manipulation using Hardware Presents by- Uri Tsipin & Ran Mizrahi Supervisor– Moshe Porian Middle presentation Dual-semester project
Part A Final Dor Obstbaum Kami Elbaz Advisor: Moshe Porian August 2012 FPGA S ETTING U SING F LASH.
Menu Navigation Presented by: Tzahi Ezra Advisors: Moshe Porian Netanel Yamin One semester project Presented on: Project initiation: NOV 2014.
Menu Navigation Presented by: Tzahi Ezra Advisors: Moshe Porian Netanel Yamin One semester project Project initiation: NOV 2014 PROJECT’S MID PRESENTATION.
Mid presentation Part A Project Netanel Yamin & by: Shahar Zuta Moshe porian Advisor: Dual semester project November 2012.
Neta Peled & Hillel Mendelson Supervisor: Mike Sumszyk Annual project אביב תשס " ט.
Company LOGO Final presentation Spring 2008/9 Performed by: Alexander PavlovDavid Domb Supervisor: Mony Orbach GPS/INS Computing System.
Performed by: Alexander Pavlov David Domb Instructor: Mony Orbach המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory הטכניון - מכון טכנולוגי.
CDA 4253 FPGA System Design RTL Design Methodology 1 Hao Zheng Comp Sci & Eng USF.
Encryption / Decryption on FPGA Final Presentation Written by: Daniel Farcovich ID Saar Vigodskey ID Advisor: Mony Orbach Summer.
Mini scope one semester project Project final Presentation Svetlana Gnatyshchak Lior Haiby Advisor: Moshe Porian Febuary 2014.
Roman Kofman & Sergey Kleyman Neta Peled & Hillel Mendelson Supervisor: Mike Sumszyk Final Presentation of part A (Annual project)
VLSI Design of 2-D Discrete Wavelet Transform for Area-Efficient and High- Speed Image Computing - End Presentation Presentor: Eyal Vakrat Instructor:
Internal Logic Analyzer Characterization presentation By: Moran Katz and Zvika Pery Mentor: Moshe Porian Dual-semester project Spring 2012.
Menu Navigation Presented by: Tzahi Ezra Advisors: Moshe Porian Netanel Yamin One semester project Project initiation: NOV 2014 PROJECT’S CHARACTERIZATION.
Implementing JPEG Encoder for FPGA ECE 734 PROJECT Deepak Agarwal.
Output imageIntput image. Output imageIntput image.
Internal Logic Analyzer Middle presentation-part A By: Moran Katz and Zvika Pery Mentor: Moshe Porian Dual-semester project Spring 2012.
Lab 4 HW/SW Compression and Decompression of Captured Image
ATLAS Pre-Production ROD Status SCT Version
Parallel Beam Back Projection: Implementation
Low cost FPGA implimentation of tracking system from USB to VGA
RTL Design Methodology Transition from Pseudocode & Interface
RTL Design Methodology
Presentation transcript:

Picture Manipulation using Hardware Presents by- Uri Tsipin & Ran Mizrahi Supervisor– Moshe Porian Final Presentation – Part A Dual-semester project

 Intro – Problem, Project’s goals, Algorithm  Previous System – Explained  Degeneration of the system  New Top Architecture – Additions and modifications  µArchitucture- components description, simulations and testing  Missions ahead + Time Table

 Many military and civilian application use image manipulation as an integral part of their function Helmet mounted displays Medical procedures Army surveillance gear

Image Processing algorithms such as:  Image Rotation  Zoom  Crop Image which implemented by software are:  Slow  Heavy power consumers  Large space consumers  Hardware implementation of the algorithms using Board with FPGA and External Memory

Implement the following algorithms using FPGA:  Full panoramic rotation: 0 to 360 degrees  Support of Zoom function  Support of Crop-Image function  Minimum image distortion

TX Path Memory Management Memory Management RX Path SDRAM Controller WBS WBM WBS Host (Matlab) VGA Display IS42S16400 SDRAM WBM Display Controller Display Controller WBS WBM UART VESA Wishbone INTERCON Wishbone INTERCON

1. Editing the Matlab GUI to support non compressed image Old Uart Message Header Tail New Uart Message Gray Level Repetition Data

2. Changes that were made in Display Block ◦ Removal of Runlen Extractor (Decompressor) ◦ Update of Processes in Pixel Manager Decompressor FIFO VESA Ctrl. VESA Ctrl. req_ln_trig & Pixels, VSync Pixel Manager (Req for Data) Pixel Manager (Req for Data) WBM MUX Synthetic Pic. Gen Synthetic Pic. Gen Dual Clk FIFO 8 bit Hsync, VSync Display Controller WBS MHz - 40 MHz

3. Changes in Top Design & Top TB ◦ Changes to support different image resolutions TX Path Memory Management Memory Management RX Path SDRAM Controller WBS WBM WBS Host (Matlab) VGA Display IS42S SDRAM WBM Display Controller Display Controller WBS WBM UART VESA Wishbone INTERCON Wishbone INTERCON

1. Making the system support low resolutions: Debugging the current system in order to learn the data flow, components, processes. Changing generics in code 2. Making the system support non compressed image Removal unnecessary components Change the matlab output.

TX Path Memory Management Memory Management RX Path SDRAM Controller WBS WBM WBS Host (Matlab) VGA Display IS42S16400 SDRAM WBM Display Controller Display Controller WBS WBM UART VESA Wishbone INTERCON Wishbone INTERCON Image Manipulation WBS WBM

TX Path Memory Management Memory Management RX Path SDRAM Controller WBS WBM WBS Host (Matlab) VGA Display IS42S16400 SDRAM WBM Display Controller Display Controller WBS WBM UART VESA Wishbone INTERCON Wishbone INTERCON Image Manipulation WBS WBM

 Parameter registers- holds user parameters (angle,zoom,crop)  Address Calculator – Calculates "matrix address" of 4 pixels that are required for the bilinear-interpolation and converts the "matrix address" into a 1D SDRAM address  Bilinear Interpolator – Calculates a mean average between 4 pixels  Image Manipulation Manger – Controller for the block WBM Biliniar Interpolation Addr Calculator WBS Image Manipulation Param Reg Img_man_manager

 New registers were added to the system in order to hold the user parameters, which are required for image manipulation.  Registers addresses were expanded to 5bit addresses (up-to 32 registers) Register's nameAddressSize (bytes)PurposePlace x_start_reg E2X crop coordinateImg_man_top y_start_reg 102Y crop coordinateImg_man_top zoom_reg122Zoom ratioImg_man_top cos_reg142Cosine of rotation angle, multiplied by 0x100Img_man_top Sin_reg162Sine of rotation angle, multiplied by 0x100Img_man_top WBM Biliniar Addr_calc WBS Image Manipulation registers manager

WBM Biliniar Addr_calc WBS Image Manipulation registers manager

 Main Goal – Calculates "matrix address" of 4 pixels that are required for the bilinear-interpolation.  Method - Given a current pixel index in the output image, the unit will calculate the origin addresses of the pixel, by the following formula:  Inputs: ◦ User parameters (zoom factor, sin/cos[angle], crop indexes) ◦ Row/Col index (current calculating coordinate)  Outputs: ◦ TL,TR,BL,BR coordinate address ◦ Delta Row, Delta Col- holds the weight for billinear interpolation. ◦ Out of range ◦ Valid,Finish WBM Biliniar Addr_calc WBS Image Manipulation registers manager

Synthesis Results: WBM Biliniar Addr_calc WBS Image Manipulation registers manager Incompliant with frequency requirements

WBM Biliniar Addr_calc WBS Image Manipulation registers manager

Zoom=x4 Angle =60 deg X Start =30 Y Start =29 Zoom=x4 Angle =60 deg X Start =30 Y Start =29 Zoom_factor=(1/zoom)*128=32 Angle =cos(60)=0.5*128=64 X/Y Start – remain the Same, no fracture required Zoom_factor=(1/zoom)*128=32 Angle =cos(60)=0.5*128=64 X/Y Start – remain the Same, no fracture required  Requested decimal accuracy – 2 digits [0-0.99]  in order to work with std_logic_signals(binary) (fixed/float types experience synthesis problems)  all signals were multiplied by 2^7=128 (2^6=64-> not enough accuracy) Example (user param.) WBM Biliniar Addr_calc WBS Image Manipulation registers manager x 128

trigger 1 st output 2 nd output latency – 12 Cycles Throughput – 5 Cycles WBM Biliniar Addr_calc WBS Image Manipulation registers manager

output WBM Biliniar Addr_calc WBS Image Manipulation registers manager

finish New image indexes WBM Biliniar Addr_calc WBS Image Manipulation registers manager

Addr_calc_tb Addr_calc Output 1,1 Output.txt Output 1,2 Output 1,3 Output 600, WBM Biliniar Addr_calc WBS Image Manipulation registers manager

Zoom=x4 Angle =60 deg X Start =30 Y Start =29 Zoom=x4 Angle =60 deg X Start =30 Y Start =29 WBM Biliniar Addr_calc WBS Image Manipulation registers manager

WBM Biliniar Addr_calc WBS Image Manipulation registers manager

WBM Biliniar Addr_calc WBS Image Manipulation registers manager

WBM Biliniar Addr_calc WBS Image Manipulation registers manager

WBM Biliniar Addr_calc WBS Image Manipulation registers manager

WBM Biliniar Addr_calc WBS Image Manipulation registers manager

 Main Goal – Calculates the mean average of 4 given gray-scale values.  Formula –  Inputs ◦ 4 pixels, 8bit grey scale ◦ Weight fraction (row/col)  Outputs ◦ Result pixel (the mean average of the input) ◦ Valid signal WBM Biliniar Addr_calc WBS Image Manipulation registers manager

WBM Biliniar Addr_calc WBS Image Manipulation registers manager

trigger inputs Pipeline Results 5 cycles Matlab Results for comparison error margin of maximum 4 grey scale levels which means 1.5% in 8 bit image WBM Biliniar Addr_calc WBS Image Manipulation registers manager

 Main Goal – Control the data flow within the image manipulation block and send read write requests to outer units using the wishbone protocol  Method – the controller is implemented via a FSM  Input/Output Ports - TBD WBM Biliniar Addr_calc WBS Image Manipulation registers manager

To Be Completed in Part B WBM Biliniar Addr_calc WBS Image Manipulation registers manager Completed

 Top down design  Pipeline  Test bench  Results comparison with Matlab (Notepad++ plugin)  Components documenting  Synchronize files via SVN.

1. Working with fractures First version of addr_calc used fixed point package. Problem occurred during synthesis. Solution- work with regular std_logic_Vector, with relevant adjustments.

2. Trigonometric calculations (sine, cosine) planed to be executed by VHD process, consumes expensive hardware resources. Solution- calculate Cos/Sin by software (Matlab).

3. Timing issues- synthesis timing results did not meet the requirements. solution- break arithmetic calculations into parts (piping).

4. Architectural changes In the original design, the top block included addr_calc and addr_converter. During the design, the 2 blocks were combined into one block seemed inevitable. WB M Biliniar Addr WBS Image Manipulation Param Reg manager

 Pipeline makes the throughput shorter. With “heavy” calculations, it is recommended to break the arithmetic process.

 Working with generics parameters make the design more flexible.

 Top down design divides the coding procedure into stages, allows more than one person to work on solution, allows parallel work.

 Finish Image Man. Manager – complete read/write states  Complete Top Block  Integration with global system  Simulation of complete system  Synthesis- working with DE2

TasksMonth Finish Image Man. Manager – complete read/write states November Complete Top Block, Integration with global system December Simulation of complete systemJanuary Synthesis- working with DE2February Final Presentation – part BMarch