Keck-Voon LING School of Electrical and Electronic Engineering Nanyang Technological University (NTU), Singapore

Size: px
Start display at page:

Download "Keck-Voon LING School of Electrical and Electronic Engineering Nanyang Technological University (NTU), Singapore"

Transcription

1 MPC on a Chip Keck-Voon LING (ekvling@ntu.edu.sg) School of Electrical and Electronic Engineering Nanyang Technological University (NTU), Singapore EPSRC Project Kick-off Meeting, Imperial College, London, 16 Oct 2009

2 Outline MPC on a Chip Toolbox a rapid prototyping tool QP solvers (Interior point and active set methods) on a FPGA reduced precision (16 bit mantissa) still works interior point vs active set methods Multiplexed MPC a strategy to reduce online computation ideally suited for FPGA implementation, potential for pipelining solving Ax=b problems the Multiplexed MPC way control-theoretic framework to analyse/design iterative solutions of Ax=b design and implementation of reduced precision Ax=b solvers

3 MPC on a Chip Toolbox To promote the MPC technology for embedded control Create a MPC Toolbox take an MPC problem from design to embedded implementation, especially on FPGA leading to a wider application of the embedded MPC technology options for embedded MPC Processor / DSP Programmable h/w / ASIC embedded => application specific

4 Prototyping Environment Matlab/Handel-C Algorithms are first developed in Matlab Translated the verified Matlab code into Handel-C (FPGA implementation) or C (microblaze) Compile Handel-C / C into bit file and download it to FPGA / Microblaze Matlab/Handel-C Cosimulation or Matlab/microblaze Cosimulation ω MPC implemented in MATLAB MPC implemented in FPGA MPC implemented in Microblaze 2) MPC calculations is performed on FPGA Plant Simulation 1) During every iteration, PC passes MPC parameters down to FPGA via UART 3) FPGA sends results back to PC via UART 4) 2 variants of MPC implementation on FPGA; 1 using Handel-C, the other using Microblaze processor Fig. 2 Prototyping of MPC on a Chip y

5 A Simple Test Script

6

7

8

9

10

11

12

13

14

15

16

17 Swing-up and Balancing of an Inverted Pendulum RC10 board

18 FPGA Implementation Implemented on Celoxica RC203 prototyping board with a Xilinx XC2V3000 FPGA, coded with Handel-C. IEEE Single Precision Floating Point is used for both ASM and IPM Block RAMs are used for storage of QP problem matrices and intermediate calculation results Sequential implementation of both ASM and IPM ASM used more storage than IPM as a larger linear system is needed to be formed and solved Resources IPM ASM Clock rate 25 MHz 25 MHz LUTs 8,755 (30%) 8,773 (30%) FFs 2,153 ( 7%) 3,540 (12%) Block RAMs 22 (22%) 59 (61%)

19 Comparison of IPM on Various Embedded Platforms IPM performance measured on various embedded platforms On microcontrollers like STM32, soft core microprocessor like Microblaze, TI DSPs, Pentium processors and FPGAs Tested on 100 randomly generated QP problem of size nv=7, mc=71

20 Comparison of IPM on Various Embedded Platforms IPM performance measured on various embedded platforms On microcontrollers like STM32, soft core microprocessor like Microblaze, TI DSPs, Pentium processors and FPGAs Tested on 100 randomly generated QP problem of size nv=7, mc=71 All clock rates adjusted to 25MHz

21 IPM with Reduced Precision: Results Average number of iterations

22 IPM with Reduced Precision: Results Distribution of relative error For 23 bits mantissa QP solved with relative error, less than 1e-4: 38.8% less than 1e-2: 84.4% less than 1e-1: 97.4% QP unsolved: 0.5% For 20 bits mantissa QP solved with relative error, less than 1e-4: 28.2% less than 1e-2: 71.3% less than 1e-1: 94.4% QP unsolved: 0.63% For 16 bits mantissa QP solved with relative error, less than 1e-4: 16.8% less than 1e-2: 41.8% less than 1e-1: 80.1% QP unsolved: 1.88% For 12 bits mantissa QP solved with relative error, less than 1e-4: 1.66% less than 1e-2: 14.8% less than 1e-1: 44.6% Q unsolved: 12.0% Storage (in terms of word length of variables) could be reduced by up to 30%, and yet maintaining reasonably good QP solution.

23 IPM with Reduced Precision on MPC Application: Results Control Plots Using IPM (23 bits mantissa) Using IPM (20 bits mantissa) Using IPM (16 bits mantissa) Using IPM (12 bits mantissa)

24 IPM vs ASM: Convergence Speed (# of iterations) In general, for IPM, the number of iterations is around 11-14, not sensitive to the problem size. In contrast, for ASM, the number of iterations increases roughly linearly with the problem size. Number of iterations Number of iterations IPM Number of constraints, mc IPM Number of decision variables, nv Number of constraints, mc ASM ASM Number of decision variables, nv

25 IPM vs ASM, Complexity: Storage, # of Operations per Iteration The number of arithmetic operations for solving the linear system of equations is: For Gauss-Jordan elimination with pivoting,

26 IPM vs ASM, Complexity: No. of Operations Per Iteration For ASM, computation cost for solving the system of equations is dominating. However, for IPM, the fixed cost dominates. From the expressions in the table, for IPM, the ratio (time spent for solving Ax=b / total time to solve a QP problem) is lower than. This is confirmed by the following experiment results (right plot): ASM IPM

27 Overall Performance: Computation Time No. of iterations Solving system of linear equations Others dominating costs IPM Insensitive to Increase with Fixed cost; increase with ASM Increase linearly with Increase with No The overall performance can be quantified by the computation time required to obtain the solution of a QP problem. As seen from the above table, there are several factors that can affect the performances of ASM and IPM algorithms. Therefore, neither ASM nor IPM would always be superior to the other.

28 Overall Performance: Computation Time When is small, ASM outperforms IPM, since the number of iterations required by ASM is small. But, when is large, the number of iterations becomes large as well. In this case, IPM is more efficient. This suggests that, when the problem is large, IPM is preferred. Computational time (ms) Computational time (ms) Number of constraints, mc 50 IPM IPM Number of decision variables, nv ASM Number of constraints, mc ASM Number of decision variables, nv

29 Multiplexed MPC

30 Standard MPC - limitations Constrained Model Predictive Control (MPC) needs to solve constrained optimization problems on-line, whose computational complexity is m: number of control inputs N u : control horizon Embedded application has limited computational resources System with fast dynamics requires short computational time to find a solution

31 Basic idea of MMPC Synchronous MPC (SMPC) u 1 u 2 T Time Multiplexed MPC (MMPC) u 1 T u 2 T/2 Time

32 View as periodic SISO plant k+ 1 k j j, k j= 1 m x = Ax + B Δu x = Ax + + B Δ u k 1 k σ ( k) k where σ ( k) = ( k mod m) + 1 and Δ uk =Δu σ ( k), k

33 Features of MMPC Divide the original MPC problem into a sequence of optimization Solve each subsystem sequentially Reduced computational complexity scalable to many inputs Update subsystem controls as soon as the solution is available, all the inputs are updated sequentially Each control updated takes account of all the information available Periodic control

34 Computational steps in MPC Standard MPC set up Predictions: Y =Φ xk + GU T T T T QP :min U ( G G + λi) U 2 U G ( W Φxk ) subject to EU F At time step k 1. Measure xk T 2. Form G ( W Φxk ) 3. Solve QP U 4. Receding horizon, 5. Repeat step (1) u k

35 Multiplexed MPC Computational Steps T T T T MMPC re-group U into [ u0 u1... u m 1] and solve for u, u,..., sequentially at each time step k. 0 1 Thus, the MMPC predictions equation becomes Y =Φ x + gu + g u m 1 k 1 0 i= 1 i+ 1 i and the QP becomes min u ( g g I) u 2 u g ( W x g u ) T T T m λ Φ k i= 1 i+ 1 i subject to Eu 0 F smaller matrix, smaller QP, hence reduced on-line computational load in MMPC can start computing this term, and prepare for the next QP, as soon as u 0 is obtained.

36 MMPC on FPGA

37 Solving Mu=b iteratively -- MMPC way Let r = b Mu k r = b Mu MΔ u, since u = u +Δu k+ 1 k k k+ 1 k k+ 1 r = r MΔu k+ 1 k k k Solve Mu=b iteratively the MMPC way Plant model: r MMPC law: = r M Δu k+ 1 k σ( k) k Δ u = K r k σ( k) k Closed loop: r = ( I M K ) r k+ 1 σ( k) σ( k) k Stability can be ensured by design, σ(k+m)= σ(k)

38 Solving Mu=b iteratively -- MMPC way Jacobi s method: M = U+D+L, K = D^(-1), solve each subsystem simultaneously Gauss-Seidel: K = (D+L)^(-1), solve each subsystem sequentially, similar to MMPC Multiplexed MPC, a generalised scheme to solve Mu=b iteratively (?)

39 Mu = b in MPC/QP problems M changes in some known manner in the QP iterations Use robust control idea to solve Mu = b

40 Reduced precision Mu=b solver

Model predictive control for deeply pipelined field-programmable gate array implementation: algorithms and circuitry

Model predictive control for deeply pipelined field-programmable gate array implementation: algorithms and circuitry Published in IET Control Theory and Applications Received on 1st August 2010 Revised on 19th February 2011 In Special Section: Implementation of Feedback Controllers Model predictive control for deeply

More information

Agenda. Introduction FPGA DSP platforms Design challenges New programming models for FPGAs

Agenda. Introduction FPGA DSP platforms Design challenges New programming models for FPGAs New Directions in Programming FPGAs for DSP Dr. Jim Hwang Xilinx, Inc. Agenda Introduction FPGA DSP platforms Design challenges New programming models for FPGAs System Generator Getting your math into

More information

Deep-Pipelined FPGA Implementation of Ellipse Estimation for Eye Tracking

Deep-Pipelined FPGA Implementation of Ellipse Estimation for Eye Tracking Deep-Pipelined FPGA Implementation of Ellipse Estimation for Eye Tracking Keisuke Dohi, Yuma Hatanaka, Kazuhiro Negi, Yuichiro Shibata, Kiyoshi Oguri Graduate school of engineering, Nagasaki University,

More information

FPGA BASED ACCELERATION OF THE LINPACK BENCHMARK: A HIGH LEVEL CODE TRANSFORMATION APPROACH

FPGA BASED ACCELERATION OF THE LINPACK BENCHMARK: A HIGH LEVEL CODE TRANSFORMATION APPROACH FPGA BASED ACCELERATION OF THE LINPACK BENCHMARK: A HIGH LEVEL CODE TRANSFORMATION APPROACH Kieron Turkington, Konstantinos Masselos, George A. Constantinides Department of Electrical and Electronic Engineering,

More information

Developing a Data Driven System for Computational Neuroscience

Developing a Data Driven System for Computational Neuroscience Developing a Data Driven System for Computational Neuroscience Ross Snider and Yongming Zhu Montana State University, Bozeman MT 59717, USA Abstract. A data driven system implies the need to integrate

More information

Model-Based Design for effective HW/SW Co-Design Alexander Schreiber Senior Application Engineer MathWorks, Germany

Model-Based Design for effective HW/SW Co-Design Alexander Schreiber Senior Application Engineer MathWorks, Germany Model-Based Design for effective HW/SW Co-Design Alexander Schreiber Senior Application Engineer MathWorks, Germany 2013 The MathWorks, Inc. 1 Agenda Model-Based Design of embedded Systems Software Implementation

More information

USING THE SYSTEM-C LIBRARY FOR BIT TRUE SIMULATIONS IN MATLAB

USING THE SYSTEM-C LIBRARY FOR BIT TRUE SIMULATIONS IN MATLAB USING THE SYSTEM-C LIBRARY FOR BIT TRUE SIMULATIONS IN MATLAB Jan Schier Institute of Information Theory and Automation Academy of Sciences of the Czech Republic Abstract In the paper, the possibilities

More information

Iterative Refinement on FPGAs

Iterative Refinement on FPGAs Iterative Refinement on FPGAs Tennessee Advanced Computing Laboratory University of Tennessee JunKyu Lee July 19 th 2011 This work was partially supported by the National Science Foundation, grant NSF

More information

Robust Control of Bipedal Humanoid (TPinokio)

Robust Control of Bipedal Humanoid (TPinokio) Available online at www.sciencedirect.com Procedia Engineering 41 (2012 ) 643 649 International Symposium on Robotics and Intelligent Sensors 2012 (IRIS 2012) Robust Control of Bipedal Humanoid (TPinokio)

More information

FPGA ACCELERATION OF THE LINPACK BENCHMARK USING HANDEL-C AND THE CELOXICA FLOATING POINT LIBRARY

FPGA ACCELERATION OF THE LINPACK BENCHMARK USING HANDEL-C AND THE CELOXICA FLOATING POINT LIBRARY FPGA ACCELERATION OF THE LINPACK BENCHMARK USING HANDEL-C AND THE CELOXICA FLOATING POINT LIBRARY Kieron Turkington, Konstantinos Masselos, George A. Constantinides Department of Electrical and Electronic

More information

Multi MicroBlaze System for Parallel Computing

Multi MicroBlaze System for Parallel Computing Multi MicroBlaze System for Parallel Computing P.HUERTA, J.CASTILLO, J.I.MÁRTINEZ, V.LÓPEZ HW/SW Codesign Group Universidad Rey Juan Carlos 28933 Móstoles, Madrid SPAIN Abstract: - Embedded systems need

More information

High Throughput Iterative VLSI Architecture for Cholesky Factorization based Matrix Inversion

High Throughput Iterative VLSI Architecture for Cholesky Factorization based Matrix Inversion High Throughput Iterative VLSI Architecture for Cholesky Factorization based Matrix Inversion D. N. Sonawane 1 and M. S. Sutaone 2 1 Department of Instrumentation & Control 2 Department of Electronics

More information

An FPGA Implementation of a Sparse Quadratic Programming Solver for Constrained Predictive Control

An FPGA Implementation of a Sparse Quadratic Programming Solver for Constrained Predictive Control An FPGA Implementation of a Sparse Quadratic Programming Solver for Constrained Predictive Control Juan L. Jerez Department of Electrical and Electronic Engineering Imperial College London SW7 2AZ, United

More information

Copyright 2007 Society of Photo-Optical Instrumentation Engineers. This paper was published in Proceedings of SPIE (Proc. SPIE Vol.

Copyright 2007 Society of Photo-Optical Instrumentation Engineers. This paper was published in Proceedings of SPIE (Proc. SPIE Vol. Copyright 2007 Society of Photo-Optical Instrumentation Engineers. This paper was published in Proceedings of SPIE (Proc. SPIE Vol. 6937, 69370N, DOI: http://dx.doi.org/10.1117/12.784572 ) and is made

More information

Keywords: Soft Core Processor, Arithmetic and Logical Unit, Back End Implementation and Front End Implementation.

Keywords: Soft Core Processor, Arithmetic and Logical Unit, Back End Implementation and Front End Implementation. ISSN 2319-8885 Vol.03,Issue.32 October-2014, Pages:6436-6440 www.ijsetr.com Design and Modeling of Arithmetic and Logical Unit with the Platform of VLSI N. AMRUTHA BINDU 1, M. SAILAJA 2 1 Dept of ECE,

More information

Hardware Acceleration of Edge Detection Algorithm on FPGAs

Hardware Acceleration of Edge Detection Algorithm on FPGAs Hardware Acceleration of Edge Detection Algorithm on FPGAs Muthukumar Venkatesan and Daggu Venkateshwar Rao Department of Electrical and Computer Engineering University of Nevada Las Vegas. Las Vegas NV

More information

Advanced FPGA Design Methodologies with Xilinx Vivado

Advanced FPGA Design Methodologies with Xilinx Vivado Advanced FPGA Design Methodologies with Xilinx Vivado Lecturer: Alexander Jäger Course of studies: Technische Informatik Student number: 3158849 Date: 30.01.2015 30/01/15 Advanced FPGA Design Methodologies

More information

Controlling Hybrid Systems

Controlling Hybrid Systems Controlling Hybrid Systems From Theory to Application Manfred Morari M. Baotic, F. Christophersen, T. Geyer, P. Grieder, M. Kvasnica, G. Papafotiou Lessons learned from a decade of Hybrid System Research

More information

Digital Integrated Circuits

Digital Integrated Circuits Digital Integrated Circuits Lecture 9 Jaeyong Chung Robust Systems Laboratory Incheon National University DIGITAL DESIGN FLOW Chung EPC6055 2 FPGA vs. ASIC FPGA (A programmable Logic Device) Faster time-to-market

More information

High-Performance Linear Algebra Processor using FPGA

High-Performance Linear Algebra Processor using FPGA High-Performance Linear Algebra Processor using FPGA J. R. Johnson P. Nagvajara C. Nwankpa 1 Extended Abstract With recent advances in FPGA (Field Programmable Gate Array) technology it is now feasible

More information

AMS526: Numerical Analysis I (Numerical Linear Algebra)

AMS526: Numerical Analysis I (Numerical Linear Algebra) AMS526: Numerical Analysis I (Numerical Linear Algebra) Lecture 20: Sparse Linear Systems; Direct Methods vs. Iterative Methods Xiangmin Jiao SUNY Stony Brook Xiangmin Jiao Numerical Analysis I 1 / 26

More information

Robotics: Science and Systems

Robotics: Science and Systems Robotics: Science and Systems Model Predictive Control (MPC) Zhibin Li School of Informatics University of Edinburgh Content Concepts of MPC MPC formulation Objective function and constraints Solving the

More information

SOLVING QUADRATIC PROGRAMMING PROBLEMS ON GRAPHICS PROCESSING UNIT

SOLVING QUADRATIC PROGRAMMING PROBLEMS ON GRAPHICS PROCESSING UNIT SOLVING QUADRATIC PROGRAMMING PROBLEMS ON GRAPHICS PROCESSING UNIT Abstract Yunlong Huang 1, Keck Voon Ling 1 and Simon See 2 1 School of Electrical and Electronic Engineering, Nanyang Technological University,

More information

THE INTERNATIONAL JOURNAL OF SCIENCE & TECHNOLEDGE

THE INTERNATIONAL JOURNAL OF SCIENCE & TECHNOLEDGE THE INTERNATIONAL JOURNAL OF SCIENCE & TECHNOLEDGE Design and Implementation of Optimized Floating Point Matrix Multiplier Based on FPGA Maruti L. Doddamani IV Semester, M.Tech (Digital Electronics), Department

More information

Control Engineering Practice

Control Engineering Practice Control Engineering Practice 2 (212) 1229 1235 Contents lists available at SciVerse ScienceDirect Control Engineering Practice journal homepage: www.elsevier.com/locate/conengprac Model predictive controller

More information

Parallel Implementations of Gaussian Elimination

Parallel Implementations of Gaussian Elimination s of Western Michigan University vasilije.perovic@wmich.edu January 27, 2012 CS 6260: in Parallel Linear systems of equations General form of a linear system of equations is given by a 11 x 1 + + a 1n

More information

Spiral 2-8. Cell Layout

Spiral 2-8. Cell Layout 2-8.1 Spiral 2-8 Cell Layout 2-8.2 Learning Outcomes I understand how a digital circuit is composed of layers of materials forming transistors and wires I understand how each layer is expressed as geometric

More information

Hardware implementation of hyperbolic tangent and sigmoid activation functions

Hardware implementation of hyperbolic tangent and sigmoid activation functions BULLETIN OF THE POLISH ACADEMY OF SCIENCES TECHNICAL SCIENCES, Vol. 66, No. 5, 2018 DOI: 10.24425/124272 Hardware implementation of hyperbolic tangent and sigmoid activation functions Z. HAJDUK* Rzeszów

More information

Embedded Real-Time Video Processing System on FPGA

Embedded Real-Time Video Processing System on FPGA Embedded Real-Time Video Processing System on FPGA Yahia Said 1, Taoufik Saidani 1, Fethi Smach 2, Mohamed Atri 1, and Hichem Snoussi 3 1 Laboratory of Electronics and Microelectronics (EμE), Faculty of

More information

Real-Time Testing in a Modern, Agile Development Workflow

Real-Time Testing in a Modern, Agile Development Workflow Real-Time Testing in a Modern, Agile Development Workflow Simon Eriksson Application Engineer 2015 The MathWorks, Inc. 1 Demo Going from Desktop Testing to Real-Time Testing 2 Key Take-Aways From This

More information

Linear Equation Systems Iterative Methods

Linear Equation Systems Iterative Methods Linear Equation Systems Iterative Methods Content Iterative Methods Jacobi Iterative Method Gauss Seidel Iterative Method Iterative Methods Iterative methods are those that produce a sequence of successive

More information

Modeling a 4G LTE System in MATLAB

Modeling a 4G LTE System in MATLAB Modeling a 4G LTE System in MATLAB Part 3: Path to implementation (C and HDL) Houman Zarrinkoub PhD. Signal Processing Product Manager MathWorks houmanz@mathworks.com 2011 The MathWorks, Inc. 1 LTE Downlink

More information

The Power of Streams on the SRC MAP. Wim Bohm Colorado State University. RSS!2006 Copyright 2006 SRC Computers, Inc. ALL RIGHTS RESERVED.

The Power of Streams on the SRC MAP. Wim Bohm Colorado State University. RSS!2006 Copyright 2006 SRC Computers, Inc. ALL RIGHTS RESERVED. The Power of Streams on the SRC MAP Wim Bohm Colorado State University RSS!2006 Copyright 2006 SRC Computers, Inc. ALL RIGHTS RSRV. MAP C Pure C runs on the MAP Generated code: circuits Basic blocks in

More information

Parallel Programming Multicore systems

Parallel Programming Multicore systems FYS3240 PC-based instrumentation and microcontrollers Parallel Programming Multicore systems Spring 2011 Lecture #9 Bekkeng, 4.4.2011 Introduction Until recently, innovations in processor technology have

More information

EE4380 Microprocessor Design Project

EE4380 Microprocessor Design Project EE4380 Microprocessor Design Project Fall 2002 Class 1 Pari vallal Kannan Center for Integrated Circuits and Systems University of Texas at Dallas Introduction What is a Microcontroller? Microcontroller

More information

RELATIVELY OPTIMAL CONTROL: THE STATIC SOLUTION

RELATIVELY OPTIMAL CONTROL: THE STATIC SOLUTION RELATIVELY OPTIMAL CONTROL: THE STATIC SOLUTION Franco Blanchini,1 Felice Andrea Pellegrino Dipartimento di Matematica e Informatica Università di Udine via delle Scienze, 208 33100, Udine, Italy blanchini@uniud.it,

More information

DESIGN OF A SOFT-CORE PROCESSOR BASED ON OPENCORES WITH ENHANCED PROCESSING FOR EMBEDDED APPLICATIONS

DESIGN OF A SOFT-CORE PROCESSOR BASED ON OPENCORES WITH ENHANCED PROCESSING FOR EMBEDDED APPLICATIONS DESIGN OF A SOFT-CORE PROCESSOR BASED ON OPENCORES WITH ENHANCED PROCESSING FOR EMBEDDED APPLICATIONS TEJASWI AGARWAL & MAHESWARI R. School of Computing Sciences and Engineering, VIT University, Vandalur-Kelambakkam

More information

INTRODUCTION TO FPGA ARCHITECTURE

INTRODUCTION TO FPGA ARCHITECTURE 3/3/25 INTRODUCTION TO FPGA ARCHITECTURE DIGITAL LOGIC DESIGN (BASIC TECHNIQUES) a b a y 2input Black Box y b Functional Schematic a b y a b y a b y 2 Truth Table (AND) Truth Table (OR) Truth Table (XOR)

More information

[Sub Track 1-3] FPGA/ASIC 을타겟으로한알고리즘의효율적인생성방법및신기능소개

[Sub Track 1-3] FPGA/ASIC 을타겟으로한알고리즘의효율적인생성방법및신기능소개 [Sub Track 1-3] FPGA/ASIC 을타겟으로한알고리즘의효율적인생성방법및신기능소개 정승혁과장 Senior Application Engineer MathWorks Korea 2015 The MathWorks, Inc. 1 Outline When FPGA, ASIC, or System-on-Chip (SoC) hardware is needed Hardware

More information

Advanced Computer Architecture Lab 3 Scalability of the Gauss-Seidel Algorithm

Advanced Computer Architecture Lab 3 Scalability of the Gauss-Seidel Algorithm Advanced Computer Architecture Lab 3 Scalability of the Gauss-Seidel Algorithm Andreas Sandberg 1 Introduction The purpose of this lab is to: apply what you have learned so

More information

10th August Part One: Introduction to Parallel Computing

10th August Part One: Introduction to Parallel Computing Part One: Introduction to Parallel Computing 10th August 2007 Part 1 - Contents Reasons for parallel computing Goals and limitations Criteria for High Performance Computing Overview of parallel computer

More information

ESL design with the Agility Compiler for SystemC

ESL design with the Agility Compiler for SystemC ESL design with the Agility Compiler for SystemC SystemC behavioral design & synthesis Steve Chappell & Chris Sullivan Celoxica ESL design portfolio Complete ESL design environment Streaming Video Processing

More information

Modeling Arbitrator Delay-Area Dependencies in Customizable Instruction Set Processors

Modeling Arbitrator Delay-Area Dependencies in Customizable Instruction Set Processors Modeling Arbitrator Delay-Area Dependencies in Customizable Instruction Set Processors Siew-Kei Lam Centre for High Performance Embedded Systems, Nanyang Technological University, Singapore (assklam@ntu.edu.sg)

More information

An Implementation Comparison of an IDEA Encryption Cryptosystem on Two General-Purpose Reconfigurable Computers

An Implementation Comparison of an IDEA Encryption Cryptosystem on Two General-Purpose Reconfigurable Computers An Implementation Comparison of an IDEA Encryption Cryptosystem on Two General-Purpose Reconfigurable Computers Allen Michalski 1, Kris Gaj 1, Tarek El-Ghazawi 2 1 ECE Department, George Mason University

More information

Signal Processing Algorithms into Fixed Point FPGA Hardware Dennis Silage ECE Temple University

Signal Processing Algorithms into Fixed Point FPGA Hardware Dennis Silage ECE Temple University Signal Processing Algorithms into Fixed Point FPGA Hardware Dennis Silage silage@temple.edu ECE Temple University www.temple.edu/scdl Signal Processing Algorithms into Fixed Point FPGA Hardware Motivation

More information

Tradeoff Analysis and Architecture Design of High Throughput Irregular LDPC Decoders

Tradeoff Analysis and Architecture Design of High Throughput Irregular LDPC Decoders IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS I: REGULAR PAPERS, VOL. 1, NO. 1, NOVEMBER 2006 1 Tradeoff Analysis and Architecture Design of High Throughput Irregular LDPC Decoders Predrag Radosavljevic, Student

More information

Moving MATLAB Algorithms into Complete Designs with Fixed-Point Simulation and Code Generation

Moving MATLAB Algorithms into Complete Designs with Fixed-Point Simulation and Code Generation Moving MATLAB Algorithms into Complete Designs with Fixed-Point Simulation and Code Generation Houman Zarrinkoub, PhD. Product Manager Signal Processing Toolboxes The MathWorks Inc. 2007 The MathWorks,

More information

Tradeoff Analysis and Architecture Design of a Hybrid Hardware/Software Sorter

Tradeoff Analysis and Architecture Design of a Hybrid Hardware/Software Sorter Tradeoff Analysis and Architecture Design of a Hybrid Hardware/Software Sorter M. Bednara, O. Beyer, J. Teich, R. Wanka Paderborn University D-33095 Paderborn, Germany bednara,beyer,teich @date.upb.de,

More information

Implementing MATLAB Algorithms in FPGAs and ASICs By Alexander Schreiber Senior Application Engineer MathWorks

Implementing MATLAB Algorithms in FPGAs and ASICs By Alexander Schreiber Senior Application Engineer MathWorks Implementing MATLAB Algorithms in FPGAs and ASICs By Alexander Schreiber Senior Application Engineer MathWorks 2014 The MathWorks, Inc. 1 Traditional Implementation Workflow: Challenges Algorithm Development

More information

PS2 VGA Peripheral Based Arithmetic Application Using Micro Blaze Processor

PS2 VGA Peripheral Based Arithmetic Application Using Micro Blaze Processor PS2 VGA Peripheral Based Arithmetic Application Using Micro Blaze Processor K.Rani Rudramma 1, B.Murali Krihna 2 1 Assosiate Professor,Dept of E.C.E, Lakireddy Bali Reddy Engineering College, Mylavaram

More information

Predictive control using an FPGA with application to aircraft control

Predictive control using an FPGA with application to aircraft control 1 Predictive control using an FPGA with application to aircraft control Edward N. Hartley, Juan L. Jerez, Student Member, IEEE, Andrea Suardi, Jan M. Maciejowsi, Fellow, IEEE, Eric C. Kerrigan, Member,

More information

Implementation of a Bi-Variate Gaussian Random Number Generator on FPGA without Using Multipliers

Implementation of a Bi-Variate Gaussian Random Number Generator on FPGA without Using Multipliers Implementation of a Bi-Variate Gaussian Random Number Generator on FPGA without Using Multipliers Eldho P Sunny 1, Haripriya. P 2 M.Tech Student [VLSI & Embedded Systems], Sree Narayana Gurukulam College

More information

Quixilica Floating-Point QR Processor Core

Quixilica Floating-Point QR Processor Core Data sheet Quixilica Floating-Point QR Processor Core With 13 processors on XC2V6000-5 - 20 GFlop/s at 100MHz With 10 processors on XC2V6000-5 - 15 GFlop/s at 97MHz With 4 processors on XC2V3000-5 - 81

More information

Maximum-Likelihood Stereo Correspondence using Field Programmable Gate Arrays

Maximum-Likelihood Stereo Correspondence using Field Programmable Gate Arrays Maximum-Likelihood Stereo Correspondence using Field Programmable Gate Arrays Siraj Sabihuddin & W. James MacLean Department of Electrical and Computer Engineering, University of Toronto, Toronto, Ontario,

More information

EFFICIENT SOLVER FOR LINEAR ALGEBRAIC EQUATIONS ON PARALLEL ARCHITECTURE USING MPI

EFFICIENT SOLVER FOR LINEAR ALGEBRAIC EQUATIONS ON PARALLEL ARCHITECTURE USING MPI EFFICIENT SOLVER FOR LINEAR ALGEBRAIC EQUATIONS ON PARALLEL ARCHITECTURE USING MPI 1 Akshay N. Panajwar, 2 Prof.M.A.Shah Department of Computer Science and Engineering, Walchand College of Engineering,

More information

Robust Pole Placement using Linear Quadratic Regulator Weight Selection Algorithm

Robust Pole Placement using Linear Quadratic Regulator Weight Selection Algorithm 329 Robust Pole Placement using Linear Quadratic Regulator Weight Selection Algorithm Vishwa Nath 1, R. Mitra 2 1,2 Department of Electronics and Communication Engineering, Indian Institute of Technology,

More information

Introduction to Field Programmable Gate Arrays

Introduction to Field Programmable Gate Arrays Introduction to Field Programmable Gate Arrays Lecture 2/3 CERN Accelerator School on Digital Signal Processing Sigtuna, Sweden, 31 May 9 June 2007 Javier Serrano, CERN AB-CO-HT Outline Digital Signal

More information

A Lost Cycles Analysis for Performance Prediction using High-Level Synthesis

A Lost Cycles Analysis for Performance Prediction using High-Level Synthesis A Lost Cycles Analysis for Performance Prediction using High-Level Synthesis Bruno da Silva, Jan Lemeire, An Braeken, and Abdellah Touhafi Vrije Universiteit Brussel (VUB), INDI and ETRO department, Brussels,

More information

A PRIMAL-DUAL EXTERIOR POINT ALGORITHM FOR LINEAR PROGRAMMING PROBLEMS

A PRIMAL-DUAL EXTERIOR POINT ALGORITHM FOR LINEAR PROGRAMMING PROBLEMS Yugoslav Journal of Operations Research Vol 19 (2009), Number 1, 123-132 DOI:10.2298/YUJOR0901123S A PRIMAL-DUAL EXTERIOR POINT ALGORITHM FOR LINEAR PROGRAMMING PROBLEMS Nikolaos SAMARAS Angelo SIFELARAS

More information

Verification of Numerical Results, using Posits, Valids, and Quires

Verification of Numerical Results, using Posits, Valids, and Quires Verification of Numerical Results, using Posits, Valids, and Quires Gerd Bohlender, Karlsruhe Institute of Technology CoNGA Singapore, March 28, 2018 Outline Floating-Point Arithmetic Pure vs. Applied

More information

Parallel Poisson Solver in Fortran

Parallel Poisson Solver in Fortran Parallel Poisson Solver in Fortran Nilas Mandrup Hansen, Ask Hjorth Larsen January 19, 1 1 Introduction In this assignment the D Poisson problem (Eq.1) is to be solved in either C/C++ or FORTRAN, first

More information

Lecture 15: More Iterative Ideas

Lecture 15: More Iterative Ideas Lecture 15: More Iterative Ideas David Bindel 15 Mar 2010 Logistics HW 2 due! Some notes on HW 2. Where we are / where we re going More iterative ideas. Intro to HW 3. More HW 2 notes See solution code!

More information

Code Generation for Embedded Convex Optimization

Code Generation for Embedded Convex Optimization Code Generation for Embedded Convex Optimization Jacob Mattingley Stanford University October 2010 Convex optimization Problems solvable reliably and efficiently Widely used in scheduling, finance, engineering

More information

(Sparse) Linear Solvers

(Sparse) Linear Solvers (Sparse) Linear Solvers Ax = B Why? Many geometry processing applications boil down to: solve one or more linear systems Parameterization Editing Reconstruction Fairing Morphing 2 Don t you just invert

More information

FPGA Based FIR Filter using Parallel Pipelined Structure

FPGA Based FIR Filter using Parallel Pipelined Structure FPGA Based FIR Filter using Parallel Pipelined Structure Rajesh Mehra, SBL Sachan Electronics & Communication Engineering Department National Institute of Technical Teachers Training & Research Chandigarh,

More information

Design Issues in Hardware/Software Co-Design

Design Issues in Hardware/Software Co-Design Volume-2, Issue-1, January-February, 2014, pp. 01-05, IASTER 2013 www.iaster.com, Online: 2347-6109, Print: 2348-0017 ABSTRACT Design Issues in Hardware/Software Co-Design R. Ganesh Sr. Asst. Professor,

More information

EE 8217 *Reconfigurable Computing Systems Engineering* Sample of Final Examination

EE 8217 *Reconfigurable Computing Systems Engineering* Sample of Final Examination 1 Student name: Date: June 26, 2008 General requirements for the exam: 1. This is CLOSED BOOK examination; 2. No questions allowed within the examination period; 3. If something is not clear in question

More information

Today. Comments about assignment Max 1/T (skew = 0) Max clock skew? Comments about assignment 3 ASICs and Programmable logic Others courses

Today. Comments about assignment Max 1/T (skew = 0) Max clock skew? Comments about assignment 3 ASICs and Programmable logic Others courses Today Comments about assignment 3-43 Comments about assignment 3 ASICs and Programmable logic Others courses octor Per should show up in the end of the lecture Mealy machines can not be coded in a single

More information

XPU A Programmable FPGA Accelerator for Diverse Workloads

XPU A Programmable FPGA Accelerator for Diverse Workloads XPU A Programmable FPGA Accelerator for Diverse Workloads Jian Ouyang, 1 (ouyangjian@baidu.com) Ephrem Wu, 2 Jing Wang, 1 Yupeng Li, 1 Hanlin Xie 1 1 Baidu, Inc. 2 Xilinx Outlines Background - FPGA for

More information

Lecture Notes 2: The Simplex Algorithm

Lecture Notes 2: The Simplex Algorithm Algorithmic Methods 25/10/2010 Lecture Notes 2: The Simplex Algorithm Professor: Yossi Azar Scribe:Kiril Solovey 1 Introduction In this lecture we will present the Simplex algorithm, finish some unresolved

More information

MULTI-RATE HIGH-THROUGHPUT LDPC DECODER: TRADEOFF ANALYSIS BETWEEN DECODING THROUGHPUT AND AREA

MULTI-RATE HIGH-THROUGHPUT LDPC DECODER: TRADEOFF ANALYSIS BETWEEN DECODING THROUGHPUT AND AREA MULTI-RATE HIGH-THROUGHPUT LDPC DECODER: TRADEOFF ANALYSIS BETWEEN DECODING THROUGHPUT AND AREA Predrag Radosavljevic, Alexandre de Baynast, Marjan Karkooti, and Joseph R. Cavallaro Department of Electrical

More information

An Embedded Scalable Linear Model Predictive Hardware-based Controller using ADMM

An Embedded Scalable Linear Model Predictive Hardware-based Controller using ADMM An Embedded Scalable Linear Model Predictive Hardware-based Controller using ADMM Pei Zhang, Joseph Zambreno and Phillip H. Jones Electrical and Computer Engineering Iowa State University, Ames, Iowa,

More information

Model Predictive Control System Based on FPGA and A Case Study

Model Predictive Control System Based on FPGA and A Case Study Model Predictive Control System Based on FPGA and A Case Study Nan Yang Dewei Li Jun Zhang Yugeng Xi Department of Automation, Shanghai Jiao Tong University; Key Laboratory of System Control and Information

More information

OUTLINE Introduction Power Components Dynamic Power Optimization Conclusions

OUTLINE Introduction Power Components Dynamic Power Optimization Conclusions OUTLINE Introduction Power Components Dynamic Power Optimization Conclusions 04/15/14 1 Introduction: Low Power Technology Process Hardware Architecture Software Multi VTH Low-power circuits Parallelism

More information

Avnet Speedway Design Workshop

Avnet Speedway Design Workshop Accelerating Your Success Avnet Speedway Design Workshop Creating FPGA-based Co-Processors for DSPs Using Model Based Design Techniques Lecture 4: FPGA Co-Processor Architectures and Verification V10_1_2_0

More information

Study and implementation of computational methods for Differential Equations in heterogeneous systems. Asimina Vouronikoy - Eleni Zisiou

Study and implementation of computational methods for Differential Equations in heterogeneous systems. Asimina Vouronikoy - Eleni Zisiou Study and implementation of computational methods for Differential Equations in heterogeneous systems Asimina Vouronikoy - Eleni Zisiou Outline Introduction Review of related work Cyclic Reduction Algorithm

More information

On the Comparative Performance of Parallel Algorithms on Small GPU/CUDA Clusters

On the Comparative Performance of Parallel Algorithms on Small GPU/CUDA Clusters 1 On the Comparative Performance of Parallel Algorithms on Small GPU/CUDA Clusters N. P. Karunadasa & D. N. Ranasinghe University of Colombo School of Computing, Sri Lanka nishantha@opensource.lk, dnr@ucsc.cmb.ac.lk

More information

A SIMULINK-TO-FPGA MULTI-RATE HIERARCHICAL FIR FILTER DESIGN

A SIMULINK-TO-FPGA MULTI-RATE HIERARCHICAL FIR FILTER DESIGN A SIMULINK-TO-FPGA MULTI-RATE HIERARCHICAL FIR FILTER DESIGN Xiaoying Li 1 Fuming Sun 2 Enhua Wu 1, 3 1 University of Macau, Macao, China 2 University of Science and Technology Beijing, Beijing, China

More information

Hardware Implementation of a Model Predictive Controller for Hybrid Systems

Hardware Implementation of a Model Predictive Controller for Hybrid Systems Hardware Implementation of a Model Predictive Controller for Hybrid Systems By Eng. Mohamed Fatouh Mahmoud Fouda Electronics and Communications Department Faculty of Engineering, Cairo University A Thesis

More information

Mapping Multi-Million Gate SoCs on FPGAs: Industrial Methodology and Experience

Mapping Multi-Million Gate SoCs on FPGAs: Industrial Methodology and Experience Mapping Multi-Million Gate SoCs on FPGAs: Industrial Methodology and Experience H. Krupnova CMG/FMVG, ST Microelectronics Grenoble, France Helena.Krupnova@st.com Abstract Today, having a fast hardware

More information

FPGA for Software Engineers

FPGA for Software Engineers FPGA for Software Engineers Course Description This course closes the gap between hardware and software engineers by providing the software engineer all the necessary FPGA concepts and terms. The course

More information

Evaluation and Improvements of Programming Models for the Intel SCC Many-core Processor

Evaluation and Improvements of Programming Models for the Intel SCC Many-core Processor Evaluation and Improvements of Programming Models for the Intel SCC Many-core Processor Carsten Clauss, Stefan Lankes, Pablo Reble, Thomas Bemmerl International Workshop on New Algorithms and Programming

More information

This is a repository copy of Iterative learning control for constrained linear systems.

This is a repository copy of Iterative learning control for constrained linear systems. This is a repository copy of Iterative learning control for constrained linear systems. White Rose Research Online URL for this paper: http://eprints.whiterose.ac.uk/74692/ Monograph: Chu, B. and Owens,

More information

Design of Feature Extraction Circuit for Speech Recognition Applications

Design of Feature Extraction Circuit for Speech Recognition Applications Design of Feature Extraction Circuit for Speech Recognition Applications SaambhaviVB, SSSPRao and PRajalakshmi Indian Institute of Technology Hyderabad Email: ee10m09@iithacin Email: sssprao@cmcltdcom

More information

Partly Parallel Overlapped Sum-Product Decoder Architectures for Quasi-Cyclic LDPC Codes

Partly Parallel Overlapped Sum-Product Decoder Architectures for Quasi-Cyclic LDPC Codes Partly Parallel Overlapped Sum-Product Decoder Architectures for Quasi-Cyclic LDPC Codes Ning Chen, Yongmei Dai, and Zhiyuan Yan Department of Electrical and Computer Engineering, Lehigh University, PA

More information

Implementing a Hidden Markov Model Speech Recognition System in Programmable Logic

Implementing a Hidden Markov Model Speech Recognition System in Programmable Logic Implementing a Hidden Markov Model Speech Recognition System in Programmable Logic S.J. Melnikoff, S.F. Quigley & M.J. Russell School of Electronic and Electrical Engineering, University of Birmingham,

More information

Customisable EPIC Processor: Architecture and Tools

Customisable EPIC Processor: Architecture and Tools Customisable EPIC Processor: Architecture and Tools W.W.S. Chu, R.G. Dimond, S. Perrott, S.P. Seng and W. Luk Department of Computing, Imperial College London 180 Queen s Gate, London SW7 2BZ, UK Abstract

More information

A Parallel Hardware Architecture for Information-Theoretic Adaptive Filtering

A Parallel Hardware Architecture for Information-Theoretic Adaptive Filtering A Parallel Hardware Architecture for Information-Theoretic Adaptive Filtering HPRCTA 2010 Stefan Craciun Dr. Alan D. George Dr. Herman Lam Dr. Jose C. Principe November 14, 2010 NSF CHREC Center ECE Department,

More information

Parallel graph traversal for FPGA

Parallel graph traversal for FPGA LETTER IEICE Electronics Express, Vol.11, No.7, 1 6 Parallel graph traversal for FPGA Shice Ni a), Yong Dou, Dan Zou, Rongchun Li, and Qiang Wang National Laboratory for Parallel and Distributed Processing,

More information

Floating-Point Matrix Product on FPGA

Floating-Point Matrix Product on FPGA Floating-Point Matrix Product on FPGA Faycal Bensaali University of Hertfordshire f.bensaali@herts.ac.uk Abbes Amira Brunel University abbes.amira@brunel.ac.uk Reza Sotudeh University of Hertfordshire

More information

CHAPTER 4 BLOOM FILTER

CHAPTER 4 BLOOM FILTER 54 CHAPTER 4 BLOOM FILTER 4.1 INTRODUCTION Bloom filter was formulated by Bloom (1970) and is used widely today for different purposes including web caching, intrusion detection, content based routing,

More information

A High Speed Binary Floating Point Multiplier Using Dadda Algorithm

A High Speed Binary Floating Point Multiplier Using Dadda Algorithm 455 A High Speed Binary Floating Point Multiplier Using Dadda Algorithm B. Jeevan, Asst. Professor, Dept. of E&IE, KITS, Warangal. jeevanbs776@gmail.com S. Narender, M.Tech (VLSI&ES), KITS, Warangal. narender.s446@gmail.com

More information

Generation of Multigrid-based Numerical Solvers for FPGA Accelerators

Generation of Multigrid-based Numerical Solvers for FPGA Accelerators Generation of Multigrid-based Numerical Solvers for FPGA Accelerators Christian Schmitt, Moritz Schmid, Frank Hannig, Jürgen Teich, Sebastian Kuckuk, Harald Köstler Hardware/Software Co-Design, System

More information

Experiment 6 SIMULINK

Experiment 6 SIMULINK Experiment 6 SIMULINK Simulink Introduction to simulink SIMULINK is an interactive environment for modeling, analyzing, and simulating a wide variety of dynamic systems. SIMULINK provides a graphical user

More information

PARLGRAN: Parallelism granularity selection for scheduling task chains on dynamically reconfigurable architectures *

PARLGRAN: Parallelism granularity selection for scheduling task chains on dynamically reconfigurable architectures * PARLGRAN: Parallelism granularity selection for scheduling task chains on dynamically reconfigurable architectures * Sudarshan Banerjee, Elaheh Bozorgzadeh, Nikil Dutt Center for Embedded Computer Systems

More information

Fast evaluation of nonlinear functions using FPGAs

Fast evaluation of nonlinear functions using FPGAs Adv. Radio Sci., 6, 233 237, 2008 Author(s) 2008. This work is distributed under the Creative Commons Attribution 3.0 License. Advances in Radio Science Fast evaluation of nonlinear functions using FPGAs

More information

Organic Computing. Dr. rer. nat. Christophe Bobda Prof. Dr. Rolf Wanka Department of Computer Science 12 Hardware-Software-Co-Design

Organic Computing. Dr. rer. nat. Christophe Bobda Prof. Dr. Rolf Wanka Department of Computer Science 12 Hardware-Software-Co-Design Dr. rer. nat. Christophe Bobda Prof. Dr. Rolf Wanka Department of Computer Science 12 Hardware-Software-Co-Design 1 Reconfigurable Computing Platforms 2 The Von Neumann Computer Principle In 1945, the

More information

Xynergy It really makes the difference!

Xynergy It really makes the difference! Xynergy It really makes the difference! STM32F217 meets XILINX Spartan-6 Why Xynergy? Very easy: There is a clear Synergy achieved by combining the last generation of the most popular ARM Cortex-M3 implementation

More information

Lab 1: Using the LegUp High-level Synthesis Framework

Lab 1: Using the LegUp High-level Synthesis Framework Lab 1: Using the LegUp High-level Synthesis Framework 1 Introduction and Motivation This lab will give you an overview of how to use the LegUp high-level synthesis framework. In LegUp, you can compile

More information