Download presentation
Presentation is loading. Please wait.
Published byBeatrice Hardy Modified over 8 years ago
1
Scott Robinson Aaron Sikorski Peter Phelps
2
Introduction FIR Filter Design Optimization Application Edge Detection Sobel Filter Communications Design Process Flow Conclusion
3
Goal: Improve and apply our previously designed. Implement specific design on NEXYS2 FPGA. Requirements: The FPGA must communicate with a host PC through the USB interface.
4
N-bit input values, M-bit tap values, K-bit taps Each blog is separate module The multipliers include the Booth encoding and Wallace tree in one module
5
Removed unnecessary pipelining in our full- adder module. Changed our Booth constants to be generated on the tap values. Moved the Booth encoding to outside of the Multiplier module. Greatly reduced the area required while not sacrificing any speed by minimizing the replication of logic.
6
… Multiplier 1 Multiplier K Input [t]Input [t-K] Booth Encoder Wallace Tree Partial Product Generator Booth Encoder Wallace Tree Partial Product Generator … Multiplier 1 Multiplier K Tap 1 … Tap K Wallace Tree Partial Product Generator Wallace Tree Partial Product Generator Input [t]Input [t-K] Booth Encoder Old DesignNew Design
7
Old Design: New Design: 132% 64% 272 MHz 273 MHz
8
Find all areas with large brightness change Generally mark an edge between regions Used in facial recognition, OCR, obstacle avoidance, tracking http://www.wolfram.com/products//mathematica/newin5/importexport.html http://knol.google.com/k/aerial-extraction-of-roof-surfaces-for-solar-analysis#
9
Test were run in Matlab to make sure we knew what we were doing Also to provide comparison number to make sure we got it right [INSERT MATLAB GENERATED SAMPLES]
10
Sobel filter can be represented as the sum of three FIR filters – see below FIR Filter Adder
11
Uses a state machine to control input/output destination Keep it simple by passing minimum inputs/outputs each transmission (3 in/1 out) Too slow Estimated 50 minutes on a 150x200 pixel image Logical complexity does not increase that much for longer transmission (one more state)
12
Add more states to enable passing more information per transmission 60 input bytes/20 output bytes Requires additional states Speeds now allow 150x200 in <3 minutes
14
Mix of Matlab and C (based on usb_demo) Matlab opens the image file and creates a data file that arranges the pixels into tupels Displays the starting image and waits for the C program
15
C program reads from this file Sends out 60 bytes at a time 20 received bytes are written to another file Matlab resumes Reads output from C program Recreates the processed image
16
Questions?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.