1 C.H. Ho © Rapid Prototyping of FPGA based Floating Point DSP Systems C.H. Ho Department of Computer Science and Engineering The Chinese University of.

Slides:



Advertisements
Similar presentations
Optimization of Parallel Task Execution on the Adaptive Reconfigurable Group Organized Computing System Presenter: Lev Kirischian Department of Electrical.
Advertisements

© 2003 Xilinx, Inc. All Rights Reserved Course Wrap Up DSP Design Flow.
ECE Synthesis & Verification - Lecture 2 1 ECE 667 Spring 2011 ECE 667 Spring 2011 Synthesis and Verification of Digital Circuits High-Level (Architectural)
1/1/ / faculty of Electrical Engineering eindhoven university of technology Introduction Part 2: Data types and addressing modes dr.ir. A.C. Verschueren.
Floating-Point Arithmetic ELEC 418 Advanced Digital Systems Dr. Ron Hayne Images Courtesy of Thomson Engineering.
Masters Presentation at Griffith University Master of Computer and Information Engineering Magnus Nilsson
University Of Vaasa Telecommunications Engineering Automation Seminar Signal Generator By Tibebu Sime 13 th December 2011.
Characterization Presentation Neural Network Implementation On FPGA Supervisor: Chen Koren Maria Nemets Maxim Zavodchik
Architectural Optimization of Decomposition Algorithms for Wireless Communication Systems Ali Irturk †, Bridget Benson †, Nikolay Laptev ‡, Ryan Kastner.
Engineering Problem Solving With C++ An Object Based Approach Fundamental Concepts Chapter 1 Engineering Problem Solving.
Universal Engine Fuel System Controller High Speed Digital Systems Lab Summer 2009/10 Instructor: Mony Orbach Students : Eytan Scemama Zahi Marziano Zahi.
A High Performance Application Representation for Reconfigurable Systems Wenrui GongGang WangRyan Kastner Department of Electrical and Computer Engineering.
1 FPGA Lab School of Electrical Engineering and Computer Science Ohio University, Athens, OH 45701, U.S.A. An Entropy-based Learning Hardware Organization.
Digital Kommunikationselektronik TNE027 Lecture 4 1 Finite Impulse Response (FIR) Digital Filters Digital filters are rapidly replacing classic analog.
Technion – Israel Institute of Technology Department of Electrical Engineering High Speed Digital Systems Lab Written by: Haim Natan Benny Pano Supervisor:
Carnegie Mellon Adaptive Mapping of Linear DSP Algorithms to Fixed-Point Arithmetic Lawrence J. Chang Inpyo Hong Yevgen Voronenko Markus Püschel Department.
© 2011 Xilinx, Inc. All Rights Reserved Intro to System Generator This material exempt per Department of Commerce license exception TSU.
Prepared by: Hind J. Zourob Heba M. Matter Supervisor: Dr. Hatem El-Aydi Faculty Of Engineering Communications & Control Engineering.
CH07: Writing the Programs Does not teach you how to program, but point out some software engineering practices that you should should keep in mind as.
Anthony Gaught Advisors: Dr. In Soo Ahn and Dr. Yufeng Lu Department of Electrical and Computer Engineering Bradley University, Peoria, Illinois May 7,
Computer Arithmetic Nizamettin AYDIN
CIS Computer Programming Logic
Student : Andrey Kuyel Supervised by Mony Orbach Spring 2011 Final Presentation High speed digital systems laboratory High-Throughput FFT Technion - Israel.
Matrix Multiplication on FPGA Final presentation One semester – winter 2014/15 By : Dana Abergel and Alex Fonariov Supervisor : Mony Orbach High Speed.
Floating Point vs. Fixed Point for FPGA 1. Applications Digital Signal Processing -Encoders/Decoders -Compression -Encryption Control -Automotive/Aerospace.
Ohio State University Department of Computer Science and Engineering Automatic Data Virtualization - Supporting XML based abstractions on HDF5 Datasets.
COMPUTER SCIENCE &ENGINEERING Compiled code acceleration on FPGAs W. Najjar, B.Buyukkurt, Z.Guo, J. Villareal, J. Cortes, A. Mitra Computer Science & Engineering.
Efficient FPGA Implementation of QR
1 Rapid Estimation of Power Consumption for Hybrid FPGAs Chun Hok Ho 1, Philip Leong 2, Wayne Luk 1, Steve Wilton 3 1 Department of Computing, Imperial.
Introduction to VHDL Arab Academy for Science, Technology & Maritime Transport Computer Engineering Department Magdy Saeb, Ph.D.
HW/SW PARTITIONING OF FLOATING POINT SOFTWARE APPLICATIONS TO FIXED - POINTED COPROCESSOR CIRCUITS - Nalini Kumar Gaurav Chitroda Komal Kasat.
Department of Communication Engineering, NCTU
ASIP Architecture for Future Wireless Systems: Flexibility and Customization Joseph Cavallaro and Predrag Radosavljevic Rice University Center for Multimedia.
RELATIONAL FAULT TOLERANT INTERFACE TO HETEROGENEOUS DISTRIBUTED DATABASES Prof. Osama Abulnaja Afraa Khalifah
8-1 Embedded Systems Fixed-Point Math and Other Optimizations.
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.
Fully Pipelined FPU for OR1200
VHDL Project Specification Naser Mohammadzadeh. Schedule  due date: Tir 18 th 2.
Array Synthesis in SystemC Hardware Compilation Authors: J. Ditmar and S. McKeever Oxford University Computing Laboratory, UK Conference: Field Programmable.
1 Combinational Logic Design Digital Computer Logic Kashif Bashir
1 Fly – A Modifiable Hardware Compiler C. H. Ho 1, P.H.W. Leong 1, K.H. Tsoi 1, R. Ludewig 2, P. Zipf 2, A.G. Oritz 2 and M. Glesner 2 1 Department of.
Languages for HW and SW Development Ondrej Cevan.
 Embedded Digital Signal Processing (DSP) systems  Specification with floating-point data types  Implementation in fixed-point architectures  Precision.
ESPL 1 Wordlength Optimization with Complexity-and-Distortion Measure and Its Application to Broadband Wireless Demodulator Design Kyungtae Han and Brian.
COE 202 Introduction to Verilog Computer Engineering Department College of Computer Sciences and Engineering King Fahd University of Petroleum and Minerals.
Fall 2004EE 3563 Digital Systems Design EE 3563 VHSIC Hardware Description Language  Required Reading: –These Slides –VHDL Tutorial  Very High Speed.
Parallelization of likelihood functions for data analysis Alfio Lazzaro CERN openlab Forum on Concurrent Programming Models and Frameworks.
Evaluating and Improving an OpenMP-based Circuit Design Tool Tim Beatty, Dr. Ken Kent, Dr. Eric Aubanel Faculty of Computer Science University of New Brunswick.
Automatic Evaluation of the Accuracy of Fixed-point Algorithms Daniel MENARD 1, Olivier SENTIEYS 1,2 1 LASTI, University of Rennes 1 Lannion, FRANCE 2.
QUERY PROCESSING RELATIONAL DATABASE KUSUMA AYU LAKSITOWENING
ELEE 4303 Digital II Introduction to Verilog. ELEE 4303 Digital II Learning Objectives Get familiar with background of HDLs Basic concepts of Verilog.
Graphical Design Environment for a Reconfigurable Processor IAmE Abstract The Field Programmable Processor Array (FPPA) is a new reconfigurable architecture.
Digital Design Using VHDL and PLDs ECOM 4311 Digital System Design Chapter 1.
A Design Flow for Optimal Circuit Design Using Resource and Timing Estimation Farnaz Gharibian and Kenneth B. Kent {f.gharibian, unb.ca Faculty.
CH.3 Floating Point Hardware and Algorithms 2/18/
Reconfigurable acceleration of robust frequency-domain echo cancellation C. H. Ho 1, K.F.C.Yiu 2, J. Huo 3, S. Nordholm 3 and W. Luk 1 1.Department of.
1. TMS320C6X DSP Programming with Simulink – TI C6000 DSP Target i) TI C6000 DSP target enables simulink blocks to model or program signal processing algorithm.
CH.3 Floating Point Hardware and Algorithms 3/10/
Lecture #1: Introduction to Algorithms and Problem Solving Dr. Hmood Al-Dossari King Saud University Department of Computer Science 6 February 2012.
1 Introduction to Engineering Spring 2007 Lecture 18: Digital Tools 2.
SUBJECT : DIGITAL ELECTRONICS CLASS : SEM 3(B) TOPIC : INTRODUCTION OF VHDL.
Introduction to Verilog COE 202 Digital Logic Design Dr. Muhamed Mudawar King Fahd University of Petroleum and Minerals.
CS 232: Computer Architecture II
Recent from Dr. Dan Lo regarding 12/11/17 Dept Exam
Introduction to Verilog
ECEG-3202 Computer Architecture and Organization
Floating Point Hardware and Algorithms
Recent from Dr. Dan Lo regarding 12/11/17 Dept Exam
Fixed-point Analysis of Digital Filters
Presentation transcript:

1 C.H. Ho © Rapid Prototyping of FPGA based Floating Point DSP Systems C.H. Ho Department of Computer Science and Engineering The Chinese University of Hong Kong 30JUN2002

2 C.H. Ho © Overview oIntroduction oObjective oFloat Design Flow oFloating Point Number Representation oFloat Class oOptimization oDigital Sine-Cosine Generator oResults oConclusion

3 C.H. Ho © Introduction oFPGA based DSP systems prototyping methodology l Using standard programming language for simulation and verification l Using floating point arithmetic on simulation l Using fixed point operation on implementing hardware oFPGA systems could adapt Floating Point arithmetic l Less overhead in developing DSP systems l FPGA density has improved for using floating point operation oFloat – A tools for porting floating point algorithm into hardware l Simulation/Optimization/Implementation can be completed using a single description l Optimize the floating point operation to balance the quantization error and the circuit size l Translate of a high level algorithmic description to an FPGA implementation (under development)

4 C.H. Ho © Objective oThe tools have the following features l Designer need not have expertise in the implementation of floating point arithmetic l The size of exponent and fraction of the floating point number can be different for each signal l The optimizer uses a user-specified set of input vectors and a cost function which takes into account the tradeoff between quantization error and the size of circuit l Reduced the design time Simulation is done in high level Hardware implementation is correct by automatic construction

5 C.H. Ho © Float Design Flow oAlgorithm is described in Perl Language using the class Float oCost function suggests the circuit size and quantization error required oOptimizer will minimizes the cost function by varying the precision of Float object oSimulate the algorithm by executing the program oVHDL code produced by compiler

6 C.H. Ho © Floating Point Number Representation oBased on the IEEE 754 Floating Point Number Format oe – biased exponent of – fraction oebits – size of exponent obias = 2 ebits-1 –1 oNumbers = 1.f x 2 (e-bias) oIEEE double precision is used as reference signal for computation of quantization error

7 C.H. Ho © Float Class oSimulation of arbitrary precision floating point arithmetic oCore method l add()/multiply() Return a new Float object representing the sum/product of the argument Calculate the IEEE 754 double precision as a reference value for computing quantization error Store the maximum and minimum range of this value for finding minimum exponent l setExponentSize()/setFractionSize() Adjust the size of the floating point number l getValue()/setValue() Retrieve/write the value represented by Float object l getQERR() Return the quantization error between the arbitrary size floating point number and IEEE double precision reference value

8 C.H. Ho © Optimization oTwo factors: Quantization Error/Circuit Size oQuantization Error (QERR), in decibels oArea of the floating point adder, in Virtex slices oArea of the floating point multiplier, in Virtex slices oCost Function (a and b are non-negative weightings):

9 C.H. Ho © Optimization oUses Nelder-Mead method to minimize the cost function oDesigner can adjust a, b to weight the relative importance of area and QERR oOptimization procedure l Change the precision of Float variable l Simulation the algorithm function at the specified precision l Compare the result with the reference result and compute the cost function l Repeat until the optimization terminates

10 C.H. Ho © Digital Sine-Cosine Generator oLet s1 and s2 denote the two outputs of a digital sine- cosine generator  We will use cos(  ) = 0.9 in this paper

11 C.H. Ho © Digital Sine-Cosine Generator o$cos_theta = new Float(23, 8, 0.9); o$cos_theta_p1 = new Float(23, 8, 1.9); o$cos_theta_m1 = new Float(23, 8, -0.1); o$s1[0] = new Float(23, 8, 0); o$s2[0] = new Float(23, 8, 1); ofor ($i = 0 ; $i < 50 ; $i ++) { o $s1[i+1] = $s1[$i] * $cos_theta + o $s2[$i] * $cos_theta_p1; o $s2[i+1] = $s1[$i] * $cos_theta_m1 + o $s2[$i] * $cos_theta; o}

12 C.H. Ho © Digital Sine-Cosine Generator oThis algorithm can be passed to different component for processing l Simulation By executing the program, the correctness of the algorithm can be verified l Optimization Determine the suitable precision format for each of the five Float objects in the algorithm function l Implementation Parsing the inner loop to produce an expression tree Generating the VHDL for implementation of reconfigurable computing platform

13 C.H. Ho © Results oDifferent Configuration of Floating Point operator Implemented Fraction SizeCircuit Size (Virtex slices) Frequency (MHz)Latency (cylces) Multiplication Addition

14 C.H. Ho © Results oSimulation of Algorithm

15 C.H. Ho © Results oQuantization Error

16 C.H. Ho © Results oOptimization Result

17 C.H. Ho © Conclusions oThe Float Environment l Enable designers to concentrate on higher level algorithmic issue l Increasing the productivity oThe digital sine-cosine generator was implemented l Using Float Environment l Simulation and Optimization involved l Achieve 2% - 5% reduction in area

18 C.H. Ho © Thank You Q & A