Sumitha Ajith Saicharan Bandarupalli Mahesh Borgaonkar.

Slides:



Advertisements
Similar presentations
Autonomous Tracking Unit John Berglund Randy Cuaycong Wesley Day Andrew Fikes Kamran Shah Professor: Dr. Rabi Mahapatra CPSC Spring 1999 Autonomous.
Advertisements

ECE VHDL Microprocessor Design Final Student Project August 14 th, 2012 Emily Kan Erik Lee Edward Jones.
Imperium Accelero 9K Group Members Ian Ferguson Nathan Liesch Luis Ramirez Mark Willson.
Characterization Presentation Neural Network Implementation On FPGA Supervisor: Chen Koren Maria Nemets Maxim Zavodchik
Team Morphing Architecture Reconfigurable Computational Platform for Space.
Team Monte Cristo Joseph Carrafa Sharon Clark Scott Hassett Alex Mason The Deep Fried Game Station.
1 Performed By: Khaskin Luba Einhorn Raziel Einhorn Raziel Instructor: Rivkin Ina Spring 2004 Spring 2004 Virtex II-Pro Dynamical Test Application Part.
Mahapatra-Texas A&M-Fall'001 cosynthesis Introduction to cosynthesis Rabi Mahapatra CPSC498.
IO Controller Module Arbitrates IO from the CCP Physically separable from CCP –Can be used as independent data logger or used in future projects. Implemented.
Double buffer SDRAM Memory Controller Presented by: Yael Dresner Andre Steiner Instructed by: Michael Levilov Project Number: D0713.
Configurable System-on-Chip: Xilinx EDK
Team Monte Cristo Joseph Carrafa Sharon Clark Scott Hassett Alex Mason The Deep Fried Game Station.
User-friendly stylus and video surface CAD system Jeremy Schwartz Paul Peeling Faraz Ahmad.
CS 151 Digital Systems Design Lecture 30 Random Access Memory (RAM)
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
Characterization Presentation Neural Network Implementation On FPGA Supervisor: Chen Koren Maria Nemets Maxim Zavodchik
Lecture 121 Lecture 12: VGA Video ECE 412: Microcomputer Laboratory.
Super Fast Camera System Performed by: Tokman Niv Levenbroun Guy Supervised by: Leonid Boudniak.
HW/SW Co-Design of an MPEG-2 Decoder Pradeep Dhananjay Kiran Divakar Leela Kishore Kothamasu Anthony Weerasinghe.
General Purpose FIFO on Virtex-6 FPGA ML605 board midterm presentation
Time Division Multiplexing School of Physics and Astronomy Department of Particle Physics Elissavet Papadima 29/5/2014.
Sept EE24C Digital Electronics Project Design of a Digital Alarm Clock.
Students: Oleg Korenev Eugene Reznik Supervisor: Rolf Hilgendorf
Sub-Nyquist Sampling DSP & SCD Modules Presented by: Omer Kiselov, Daniel Primor Supervised by: Ina Rivkin, Moshe Mishali Winter 2010High Speed Digital.
Lab 2: Capturing and Displaying Digital Image
Digilent System Board Capabilities Serial Port (RS-232) Parallel Port 1 Pushbutton Hint: Good for a reset button Connected to a clock input. See Digilent.
Impulse Embedded Processing Video Lab Generate FPGA hardware Generate hardware interfaces HDL files HDL files FPGA bitmap FPGA bitmap C language software.
Practical PC, 7th Edition Chapter 17: Looking Under the Hood
By: Daniel BarskyNatalie Pistunovich Supervisors: Rolf HilgendorfInna Rivkin.
Presented by : Maya Oren & Chen Feigin Supervisor : Moshe Porian Lab: High Speed Digital System One Semester project – Spring
Pinewood Derby Timing System Using a Line-Scan Camera Rob Ostrye Class of 2006 Prof. Rudko.
DLS Digital Controller Tony Dobbing Head of Power Supplies Group.
Introduction to Experiment 5 VGA Signal Generator ECE 448 Spring 2009.
1 Keyboard Controller Design By Tamas Kasza Digital System Design 2 (ECE 5572) Summer 2003 A Project Proposal for.
Spring Introduction  Today’s tutorial focuses on introducing you to Xilinx ISE and Modelsim.  These tools are used for Verilog Coding Simulation.
EE4OI4 Engineering Design UP1core Library Functions.
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.
CPEN Digital System Design
SEQUENTIAL CIRCUITS Component Design and Use. Register with Parallel Load  Register: Group of Flip-Flops  Ex: D Flip-Flops  Holds a Word of Data 
Introduction to FPGA Created & Presented By Ali Masoudi For Advanced Digital Communication Lab (ADC-Lab) At Isfahan University Of technology (IUT) Department.
8279 KEYBOARD AND DISPLAY INTERFACING
Introduction to structured VLSI Projects 4 and 5 Rakesh Gangarajaiah
ECE FPGA Microprocessor Design Erik Lee, Edward Jones, Emily Kan.
+ CS 325: CS Hardware and Software Organization and Architecture Memory Organization.
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)
Programmable Logic Training Course HDL Editor
displayCtrlr Specification
CascadedBCDCntr&Display Aim : Capture, simulate and implement a 2-digit, loadable BCD up/down counter, with chip enable I/P (CE) and chip enable O/P (CEO).
Computer Hardware A computer is made of internal components Central Processor Unit Internal External and external components.
Project Final Semester A Presentation Implementing a compressor in software and decompression in hardware Presents by - Schreiber Beeri Yavich Alon Guided.
FPL Sept. 2, 2003 Software Decelerators Eric Keller, Gordon Brebner and Phil James-Roxby Xilinx Research Labs.
ECE VHDL Microprocessor Design Final Student Project August 14 th, 2012 Emily Kan Erik Lee Edward Jones.
2001/02/16TGC off-detector PDR1 Sector Logic Status Report Design Prototype-(-1) Prototype-0 Schedule.
ECE VHDL Microprocessor Design Final Student Project August 14 th, 2012 Emily Kan Erik Lee Edward Jones.
Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh.
CDA 4253 FPGA System Design RTL Design Methodology 1 Hao Zheng Comp Sci & Eng USF.
DDRIII BASED GENERAL PURPOSE FIFO ON VIRTEX-6 FPGA ML605 BOARD PART B PRESENTATION STUDENTS: OLEG KORENEV EUGENE REZNIK SUPERVISOR: ROLF HILGENDORF 1 Semester:
Teaching Digital Logic courses with Altera Technology
CS 1410 Intro to Computer Tecnology Computer Hardware1.
TFT-LCD Display + Camera
MADEIRA Valencia report V. Stankova, C. Lacasta, V. Linhart Ljubljana meeting February 2009.
Using «dot clock» Displays in Embedded Linux Devices
Lecture 11: External SRAM
Real-time Image Processing System
Introduction to cosynthesis Rabi Mahapatra CSCE617
AT91 Memory Interface This training module describes the External Bus Interface (EBI), which generatesthe signals that control the access to the external.
THE ECE 554 XILINX DESIGN PROCESS
THE ECE 554 XILINX DESIGN PROCESS
Presentation transcript:

Sumitha Ajith Saicharan Bandarupalli Mahesh Borgaonkar

Project Phases  In Simulation Stage Development of an Algorithm for Blob Detection What is blob detection Sequential Connected Component Algorithm Our optimized Implementation Simulation results  Main Part Hardware implementation VGA display using Block RAM as Video Memory VGA display using SRAM as Video Memory

BLOB DETECTION

What is Blob Detection? Identify connected Pixels [Blob] Identify blob by color Measure Blob Parameters Area Centroid

Considerations Challenges  Algorithms typically sequential with multiple stages  Makes Real-Time Image Processing Hard  Large Storage Demands Source. Processed Image. Intermediate Images.  Memory Access Latency and Contention Algorithm Focus Minimize Storage Requirements Minimize Number of Passes (Stages) for Processing On Board SRAM Chips Image source Processing Block Display Module Memory Heavily Strained Optimize to reduce Scheduling Issues

Labeling Uses Sequential Connected Component Algorithm Psuedo-code

Labeling - Example Source ImageIntermediate Labeled Image BLOB Detected !

Blob Parameters Calculations:

Optimized Labeling Implementation: Usage of LINE FIFO to get North Labels Blob Parameter Table Design and Update Logic Facilitates Single Pass Blob Parameter Calculation Image source Label the Pixel Update Blob Parameter Table Blob detection Module Pixel by pixel SRAM

Line FIFO Operation

Blob Table Update Index By Blob Label Image source Threshold LABEL Merge Label Update Table Update Counters Memory  MergeTable[MergeLabel] = Merge Table[PresentLabel]  Running Counters : Area, XBar, Ybar  Incremented during each hit to a valid pixel  Check if you merged two labels. If so increment only one counter. Process Complete Centroid Calculator DIVIDER Table look up Table Update

Results Blob detection done on the way from Image source to Memory. Modelsim Simulation Results

FPGA Implementation

Hardware and Software used Spartan 3 FPGA Board [costs $ 140] Synthesis Xilinx ISE Downloading bit File Impact

Part 1: VGA display Interface with Block RAM as Video Memory Part 2: VGA display Interface with SRAM as Video Memory

Part 1 : Synch Signals Generator & Block Memory VGA module generate the five active signals : hsync, vsync & three video signals Red, Green and Blue Block RAM is special memory module embedded in FPGA device separated from regular logic cells. Xilinx Core Gen Feature is used to generate blockRAM. Each block RAM consist of a 16k by 1 to 512 by 32. A 24 bit sample picture is taken and converted into a 3 bit format which can be initialized in Block RAM Xilinx BlockRAM can be initialized with the.coe file.

Test Results : Sync Signal Generator VGA Synch Signal generator Test Results: Screen bitmapped to unique color input read from Switches

3bit VGA – S3Board

Enhancing VGA Display

Experimental results

Display using SRAM as Video Memory

S3 FPGA Memory S3 board has a megabyte of fast asynchronous SRAM, surface mounted. It has two 256K*16 SRAM devices. Both devices shares common write-enable, output-enable and address signals. But each has a separate chip select.

Role of Memory Controller The S3 board has two 256k-by 16 synchronous SRAM devices, which total 1MB. A memory controller has been constructed for these devices. The timing characteristics of each RAM device are different, controller is applicable to only one particular device. Memory controller is used as interface, between main system and SRAM. The performance of memory controller is measured by number of memory access that can be completed I given time.

When the main system wants to access memory, it places address and data on the bus and activates the command. At raising edge of clock, all signals are sampled by memory controller and desired operation is performed.

SRAM Read and Write Timing Read cycle  The we_n, write enable should be deactivated. 1. Place the address on address bus and activate the oe_n signal. 2. Wait for address access time (taa), as data from SRAM becomes available. 3. Retrieve the data and deactivate the oe_n signal.

Write cycle 1. Place the address on the bus and data on dio bus and activate the we_n signal. 2. Wait for we_n pulse width and then deactivate we_n signal. The data is latched to SRAM at raising edge. 3. Remove the data from bus.

Additional Considerations Should be fast enough to feed the VGA controller whose pixel rate is 25MHz Board clock is only 50MHz SRAM has access latency of only 10ns. Possible to come up with a FSM whose Read and write cycles are small but with a fast clock.

Digital Clock Manager from Xilinx Use Xilinx DCM feature to increase clock frequency. Board Clock 50MHz Output : 200 MHZ

Memory Controller FSM 200MHZ The FSM consist of Idle stat Read and write. Back to Back read operations will take 20 ns to complete. Same timing constraints for write. Each block i.e. Idle, read 1, read 2, read 3 requires 5 ns, so the total time is 20ns.

Complete Display System Design

Sequence of Events Image is initialized in the Block RAM Wait for user input : BTN Press. On BTN press – Image is transferred from BRAM to SRAM Simultaneously Image gets displayed on the screen FSM is designed to sequence theses events

Transferring Image from BRAM to SRAM 200 MHz Button Press

Display from SRAM

Demo VGA DISPLAY FROM SRAM

Future Work Camera Interfacing: Synthesize Blob Detection Algorithm Design a Memory Scheduler to synchronize events Implement Object Tracking

Conclusion Learning Experience Synthesizable Verilog Programming for FPGA Use Xilinx inbuilt features such as DCM, Block RAM Building a SRAM Memory controller How multiple FSMs work together. Concept of VGA displays. Image Processing Fundamentals Review

Thank You