3. ISP Hardware Design & Verification

Slides:



Advertisements
Similar presentations
Nios Multi Processor Ethernet Embedded Platform Final Presentation
Advertisements

Sumitha Ajith Saicharan Bandarupalli Mahesh Borgaonkar.
EXTERNAL COMMUNICATIONS DESIGNING AN EXTERNAL 3 BYTE INTERFACE Mark Neil - Microprocessor Course 1 External Memory & I/O.
Reporter :LYWang We propose a multimedia SoC platform with a crossbar on-chip bus which can reduce the bottleneck of on-chip communication.
Internal Logic Analyzer Final presentation-part B
Characterization Presentation Neural Network Implementation On FPGA Supervisor: Chen Koren Maria Nemets Maxim Zavodchik
Team Morphing Architecture Reconfigurable Computational Platform for Space.
Double buffer SDRAM Memory Controller Presented by: Yael Dresner Andre Steiner Instructed by: Michael Levilov Project Number: D0713.
Firmware implementation of Integer Array Sorter Characterization presentation Dec, 2010 Elad Barzilay Uri Natanzon Supervisor: Moshe Porian.
Emulsion Scanning System “SUTS”. Follow Shot Optics.
Programmable logic and FPGA
Preliminary Design Review The Lone Rangers Brad Alcorn Tim Caldwell Mitch Duggan Kai Gelatt Josh Peifer Capstone – Spring 2007.
Reliable Data Storage using Reed Solomon Code Supervised by: Isaschar (Zigi) Walter Performed by: Ilan Rosenfeld, Moshe Karl Spring 2004 Midterm Presentation.
Final Presentation Neural Network Implementation On FPGA Supervisor: Chen Koren Maria Nemets Maxim Zavodchik
Aztec PC Oscilloscope Michael Mason Jed Brown Josh Price Andrew Youngs.
Implementation of DSP Algorithm on SoC. Mid-Semester Presentation Student : Einat Tevel Supervisor : Isaschar Walter Accompaning engineer : Emilia Burlak.
Vector Multiplication & Color Convolution Team Members Vinay Chinta Sreenivas Patil EECC VLSI Design Projects Dr. Ken Hsu.
Final Presentation Momentum Measurement Card Project supervised by: Mony Orbach Project performed by: Hadas Preminger, Uri Niv.
General Purpose FIFO on Virtex-6 FPGA ML605 board midterm presentation
©Alex Doboli Chapter 3: Hardware and Software Subsystems of Mixed-Signal Architectures (Part II) Alex Doboli, Ph.D. Department of Electrical and Computer.
NTSC to VGA Converter Marco Moreno Adrian De La Rosa
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
USB host for web camera connection
Diffuse Optical Tomography Optimization and Miniaturization ECE 4902-Spring 2014 Thomas Capuano (EE&BME), Donald McMenemy (EE), David Miller (EE), Dhinakaran.
Graphics on Key by Eyal Sarfati and Eran Gilat Supervised by Prof. Shmuel Wimer, Amnon Stanislavsky and Mike Sumszyk 1.
Impulse Embedded Processing Video Lab Generate FPGA hardware Generate hardware interfaces HDL files HDL files FPGA bitmap FPGA bitmap C language software.
Final presentation – part B Olga Liberman and Yoav Shvartz Advisor: Moshe Porian April 2013 S YMBOL G ENERATOR 2 semester project.
DLS Digital Controller Tony Dobbing Head of Power Supplies Group.
ECE532 Final Project Demo Disparity Map Generation on a FPGA Using Stereoscopic Cameras ECE532 Final Project Demo Team 3 – Alim, Muhammad, Yu Ting.
Presented by : Olga Liberman & Yoav Shvartz Supervisor : Moshe Porian
ECE 477 Design Review Team 2  Fall Outline Project overviewProject overview Project-specific success criteriaProject-specific success criteria.
Intruder Alert System By: Jordan Tymburski Rachita Bhatia.
FPGA (Field Programmable Gate Array): CLBs, Slices, and LUTs Each configurable logic block (CLB) in Spartan-6 FPGAs consists of two slices, arranged side-by-side.
Picture Manipulation using Hardware Presents by- Uri Tsipin & Ran Mizrahi Supervisor– Moshe Porian Final Presentation – Part A Dual-semester project
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.
PROCStar III Performance Charactarization Instructor : Ina Rivkin Performed by: Idan Steinberg Evgeni Riaboy Semestrial Project Winter 2010.
8279 KEYBOARD AND DISPLAY INTERFACING
Electrocardiogram (ECG) application operation – Part B Performed By: Ran Geler Mor Levy Instructor:Moshe Porian Project Duration: 2 Semesters Spring 2012.
LZRW3 Data Compression Core Dual semester project April 2013 Project part A final presentation Shahar Zuta Netanel Yamin Advisor: Moshe porian.
Design of a Novel Bridge to Interface High Speed Image Sensors In Embedded Systems Tareq Hasan Khan ID: ECE, U of S Term Project (EE 800)
Part A Presentation Implementation of DSP Algorithm on SoC Student : Einat Tevel Supervisor : Isaschar Walter Accompanying engineer : Emilia Burlak The.
Hardware Image Signal Processing and Integration into Architectural Simulator for SoC Platform Hao Wang University of Wisconsin, Madison.
1 Implementation in Hardware of Video Processing Algorithm Performed by: Yony Dekell & Tsion Bublil Supervisor : Mike Sumszyk SPRING 2008 High Speed Digital.
NS Training Hardware. Print Engine Controller NS9775.
PROJECT - ZYNQ Yakir Peretz Idan Homri Semester - winter 2014 Duration - one semester.
Final Presentation Implementation of DSP Algorithm on SoC Student : Einat Tevel Supervisor : Isaschar Walter Accompanying engineer : Emilia Burlak The.
Project Final Semester A Presentation Implementing a compressor in software and decompression in hardware Presents by - Schreiber Beeri Yavich Alon Guided.
Tools - LogiBLOX - Chapter 5 slide 1 FPGA Tools Course The LogiBLOX GUI and the Core Generator LogiBLOX L BX.
SOC Virtual Prototyping: An Approach towards fast System- On-Chip Solution Date – 09 th April 2012 Mamta CHALANA Tech Leader ST Microelectronics Pvt. Ltd,
Picture Manipulation using Hardware Presents by- Uri Tsipin & Ran Mizrahi Supervisor– Moshe Porian Characterization presentation Dual-semester project.
Picture Manipulation using Hardware Presents by- Uri Tsipin & Ran Mizrahi Supervisor– Moshe Porian Middle presentation Dual-semester project
A Programmable Single Chip Digital Signal Processing Engine MAPLD 2005 Paul Chiang, MathStar Inc. Pius Ng, Apache Design Solutions.
8279 KEYBOARD AND DISPLAY INTERFACING
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 Project initiation: NOV 2014 PROJECT’S MID PRESENTATION.
Edge Detection. 256x256 Byte image UART interface PC FPGA 1 Byte every a few hundred cycles of FPGA Sobel circuit Edge and direction.
Neta Peled & Hillel Mendelson Supervisor: Mike Sumszyk Annual project אביב תשס " ט.
DDRIII BASED GENERAL PURPOSE FIFO ON VIRTEX-6 FPGA ML605 BOARD PART B PRESENTATION STUDENTS: OLEG KORENEV EUGENE REZNIK SUPERVISOR: ROLF HILGENDORF 1 Semester:
1 Level 1 Pre Processor and Interface L1PPI Guido Haefeli L1 Review 14. June 2002.
Lab Environment and Miniproject Assignment Spring 2009 ECE554 Digital Engineering Laboratory.
CS 1410 Intro to Computer Tecnology Computer Hardware1.
Implementing JPEG Encoder for FPGA ECE 734 PROJECT Deepak Agarwal.
Lab 4 HW/SW Compression and Decompression of Captured Image
ATLAS Pre-Production ROD Status SCT Version
Erno DAVID, Tivadar KISS Wigner Research Center for Physics (HU)
Getting Started with Programmable Logic
Low cost FPGA implimentation of tracking system from USB to VGA
ADSP 21065L.
Presentation transcript:

3. ISP Hardware Design & Verification System Architecture for ISP Hardware FPGA Based ISP Simulator FPGA Based ISP Simulator GUI Componets Design & Verification for ISP Functional Blocks

System Architecture for ISP Hardware Total 12 functional blocks - Sytem clock : pixel clock Input : 8-bit bayer Output : 16-bit 4:2:2 YCbCr Functional block control through I2C Function selector generates “enable” singal to each fucnctional block of ISP Operational frequency for blocks : More than 100 MHz Hardware architectue for ISP sytem

Synthesis Results of ISP Hareware Design - Op. freq. : 105.85MHz - Critical path : AWB Item Value Total logic elements 10,338 Total registers 7,431 Total memory bits 316,896 Setup time of the ISP functional block measured in slow model. Resource usage

FPGA Based ISP Simulator Test Enveronment : 8M CIS PC DE2-70 FPGA board HyImage V4P board HyImage interface board : Communication bet. PC & FPGA Operation speed : In case of full resolution : 7~8 Frames per sec. In case of down scaling : 10 Frame per sec. FPGA Based Real-time ISP Simulator

FPGA Based ISP Simulator PCB board for FPGA-PC conncetion PCB Board Design for FPGA-PC Connection gpio0, gpio1 FPGA board GPIO Required of PCB design for FPGA board I/O with a fixed power pins(3.3V) Connection information for PCB mode

FPGA Based ISP Simulator GUI ① ② ③ ④ ⑤ ⑥ No. Main function Details ① Down scaling - Full/down scaling selection ② Color interpolation 5x5 adaptive interpolation 3x3 bilinear interpolation ③ Option Selection for Gamma value Setting weight for Edge enhancement ④ Auto focus Selection for operation ⑤ AE_Option - Setting for in-door/out-door ⑥ ISP Function Activate each functional block ISP Simulator GUI

FPGA Based ISP Simulator GUI Gamma value setting window Gamma value setting window - possible from 0.1 through 0.9 Edge enhancement weight value setting window Edge enhancement setting window - Value setting: 1 ~ 5 - Increase by 0.5

ISP Functional Block Design & Verification – Color Interpolation Applied Algorithm 3ⅹ3 bilinear color interpolation Process Line buffer : 3 line data store 3x3 data generator : 3x3 data matrix generation Bilinear operator : bilinear interpolation ⇒ Applying total 4-level pipeline

ISP Functional Block Design & Verification – Color Interpolation Program Source Analysis Hardware file configuration inter_3_3.v buffer_3_3_8bit.v : 3x3 buffer dpsram3200x8_2.v : 3x3 buffer memory simulation file generation (Modelsim file) buffer_3_3_8bit.v dpsram3200x8_2.v image_gen.v : 8bits bayer data generation fil inter_tb.v : Test-bench top file Simulation File Generation(Matlab file) rgbtogbrg.m : bayer pattern file generation from image-file input interpolation_3_3.m : Result image generation after performing 3x3 interpolation image_out.m : Converting hardware-based 3x3 interpolation results to a corresponding image file

ISP Functional Block Design & Verification - Color interpolation 5x5 adaptive color interpolation Hardware file composition color_inter_new.v : color interpolation top file buffer_5_5.v : 5 line buffer dpsram3200x16.v : memory for 5-line buffer pattern_gen.v : generation pattern value according to bayer pattern param.h : Store 8 masks Simulation file composition 4 higher level files inter_tb.v : Top test-bench file image_gen.v : bayer pattern input generation

ISP Functional Block Design & Verification -Color interpolation Simulation file configuration Matlab file rgbtogbrg.m : generate bayer pattern file from image file input interpolation_5_5.m : Result image generation after 5x5 interpolation image_out.m : Converting hardware based 5x5 interpolation results to image file

ISP Functional Block Design & Verification – Edge enhancement Applied algorithm Unsharp mask filter Performing process Buffer 3x3 Store 3-line data 3x3 data generator Generate 3x3 data matrix Sum 3-line summation Divider Get average data Add multiplication result of weight and subtracted value from original pixel data to the original pixel Total 19-stage pipeline

ISP Functional Block Design & Verification - Auto White Balance Gray World Algorithm Hardware file composition AWB.v : AWB top file divider.vhd : division calculation Simulation file composition awb_lee3.v : AWB top file awb_lee3_tb.v : Test bench top file divider.vhd: 21bit / 11bit dpsram3200x16.v : memory for 5-line buffer im_64x64.txt : Text image file RGB_image_gen.v : RGB pattern input generation RGB_image_write.v

ISP Functional Block Design & Verification - Auto White Balance Simulation file composition Matlab file * im2text.m : convert an image file to a text file * text2im.m : convert a text file to an image file * compare_result.m : result comparison

ISP Functional Block Design & Verification -Auto White Balance GWA AWB 하드웨어 구조 Applying 1-stage pipeline Consists of 5 sub-blocks Signal generator : generate a frame completion signal FIFO : Perform delay for Divider block Accumulator : perform total summation R, G, B pixels Shifter : perform average of R, G ,B Divider : divide R, G, B average total by each R, G, B average Source analysis See reference files

ISP Functional Block Design & Verification – Edge enhancement Program source analysis Hardware file composition Edge_enhance.v : edge_enhance.top file divider.vhd : division calculation dpsram3200x32.v : Line buffer memory FIFO.v : FIFO process Simulation file composition(Modelsim file) buffer3_3.v : 3 line buffer edge_en_tb.v : edge enhance top file FIFO.v dpsram3200x32.v edge_enhance.v divider.vhd YCbCr_image_gen.v : YCbCr image generation Reg_Nbits.v YCbCr_image_write.v Simulation file composition(Matlab file) im2textYCbCr.m : convert into test file after converting image file to YCbCr textYCbCr2im.m : convert text file to YCbCr image file compare_result.m : Result comparison

ISP Functional Block Design & Verification – Auto Focus Applied algorithm Tenengrad (calculating focusing value) Global search(Movement of focusing position) Performing process 3 line Buffer : store 3-line Y data 3x3 data generator : generate 3x3 data matrix Focus value calculating : calculate focus value per frame Main operator : setting the moving range for actuator step I2C Controller : activate actuator step movement 그림 틀

ISP Funcional Block Design & Verification – Auto Focus Program source analysis Hardware file composition global_se.v : autofocus.top file focus_val.v : calculate focus value I2C_AF.v : Moving Motor dpsram3200x16: Line buffer memory af_mem.v : memory access Simulation file composition(Modelsim file) Imposible to derive program by Modelsim (register control)

ISP Functional Block Design & Verification기 – Gamma correction Applied algorithm Piece-wise linear Gamma-correction Performing process Top block for gamma correction

ISP Functional Block Design & Verification – Gamma correction Performing process Step decision Gamma correction performing by various Linear partitions, not by gamma curve 𝑦= 𝑦 𝑛−1 + 𝑦 𝑛 − 𝑦 𝑛−1 𝑥 𝑛 − 𝑥 𝑛−1 ×(𝑥− 𝑥 𝑛−1 ) y ′ =( x n − x n−1 ) y n−1 +( y n − y n−1 )( 𝑥 𝑛 − 𝑥 𝑛−1 ) 𝑦= 𝑦 ′ 𝑥 𝑛− 𝑥 𝑛−1 Calculating 8-step output pixel using Gamma table Piece-wise linear gamma correction

4. Embedded System Design & Verification Software ISP Simulator Software ISP Simulator GUI Hardware ISP 설계 및 검증

Block diagram of an ISP Embedded System SoCBase 1.0 Based Design Process : ARM926EJS FPGA : Virtex4LV80 Design block : - ISP top ·I2C controller ·ISP functional block control ·ISP function blocks - Dualport SRAM controller - VGA controller Block diagram of an ISP Embedded System

Design Details System spec. Design Tool

SoCBase 1.0 1. Single-processor based SoC development application platform 2. Provided with total 26 IPs · AMBA bus · Memory controller · External unit controller SoC base 1.0

Hardware Design & Verification Dual port SRAM controller dual port SRAM controller design for high-speed store/output of image data Use dual port FIFO - 8192 x 32 bits Generate SRAM control data from Write/read data controller Required in case for output of high-resolution image Dual port SRAM controller Stucture

Hardware Design & Verification VGA controller Ics_307 block Vga data Ctroller Top_VGA iCLK_25 Ics_sclk ics_data ics_strobe oVGA_R[7:0] oVGA_G[7:0] oVGA_B[7:0] oVGA_HS oVGA_VS oVGA_BLANK oVGA_SYNK oVGA_CLOCK iRST Ics_307 chip Clk_108 Clock generation through control of ICS 307 chip input signal Clock generation of 25MHz for 640x480 resolution output VGA controller usage example : Refer to HBE-SoC-IPD Users Guide p.250 ICS 307 chip manual : HBE-SoC-IPD Users Guide p.265 참조

Dual port memory controller SRAM-VGA Simulation RGB Text Input Image generator Dual port memory controller VGA controller SRAM model Text Output 24bits RGB output YCbCr Color conversion Source file location : sram_vga_test folder Input file : ycbcr_in.txt Output file : image_out.txt SRAM model generation Confirm image through Matlab

SRAM-VGA Simulation Simulation result Down scaling Original image(3200x2408) Resulting image(800x600)

Pin Configuration

ISP embedded system verification environment Simulator Access slave address through Multi-ICE Control ISP functional blocks through embedded software VGA ARM FPGA UART CIS ISP embedded system verification environment

Future Study PCB Connection bet. CIS-IPD board Need to remove noise of output images SDRAM memory based dualport memory controller design Need to increase output resolution ISP functional block software/hardware partition SystemC based RT level simulation Use Seamless CVE based virtual core