Reconfigurable Computing Ender YILMAZ, Hasan Tahsin OĞUZ.

Slides:



Advertisements
Similar presentations
Comparison of Altera NIOS II Processor with Analog Device’s TigerSHARC
Advertisements

© 2003 Xilinx, Inc. All Rights Reserved Course Wrap Up DSP Design Flow.
CPU Review and Programming Models CT101 – Computing Systems.
1 SECURE-PARTIAL RECONFIGURATION OF FPGAs MSc.Fisnik KRAJA Computer Engineering Department, Faculty Of Information Technology, Polytechnic University of.
A reconfigurable system featuring dynamically extensible embedded microprocessor, FPGA, and customizable I/O Borgatti, M. Lertora, F. Foret, B. Cali, L.
A Survey of Logic Block Architectures For Digital Signal Processing Applications.
Introduction to digital signal processing T he development is a result of advances in digital computer technology and integrated circuit fabrication. Computers.
Reconfigurable Computing: What, Why, and Implications for Design Automation André DeHon and John Wawrzynek June 23, 1999 BRASS Project University of California.
Zheming CSCE715.  A wireless sensor network (WSN) ◦ Spatially distributed sensors to monitor physical or environmental conditions, and to cooperatively.
Digital Systems Emphasis for Electrical Engineering Students Digital Systems skills are very valuable for electrical engineers Digital systems are the.
Extensible Processors. 2 ASIP Gain performance by:  Specialized hardware for the whole application (ASIC). −  Almost no flexibility. −High cost.  Use.
Lecture 26: Reconfigurable Computing May 11, 2004 ECE 669 Parallel Computer Architecture Reconfigurable Computing.
1 HW/SW Partitioning Embedded Systems Design. 2 Hardware/Software Codesign “Exploration of the system design space formed by combinations of hardware.
A Study of the Speedups and Competitiveness of FPGA Soft Processor Cores using Dynamic Hardware/Software Partitioning Roman Lysecky, Frank Vahid* Department.
Behavioral Design Outline –Design Specification –Behavioral Design –Behavioral Specification –Hardware Description Languages –Behavioral Simulation –Behavioral.
Mahapatra-Texas A&M-Fall'001 cosynthesis Introduction to cosynthesis Rabi Mahapatra CPSC498.
Configurable System-on-Chip: Xilinx EDK
State Machines Timing Computer Bus Computer Performance Instruction Set Architectures RISC / CISC Machines.
Dynamically Reconfigurable Architectures: An Overview Juanjo Noguera Dept. Computer Architecture (DAC-UPC)
February 4, 2002 John Wawrzynek
UCB November 8, 2001 Krishna V Palem Proceler Inc. Customization Using Variable Instruction Sets Krishna V Palem CTO Proceler Inc.
Trend towards Embedded Multiprocessors Popular Examples –Network processors (Intel, Motorola, etc.) –Graphics (NVIDIA) –Gaming (IBM, Sony, and Toshiba)
HW/SW Co-Synthesis of Dynamically Reconfigurable Embedded Systems HW/SW Partitioning and Scheduling Algorithms.
1 Chapter 7 Design Implementation. 2 Overview 3 Main Steps of an FPGA Design ’ s Implementation Design architecture Defining the structure, interface.
Introduction to FPGA and DSPs Joe College, Chris Doyle, Ann Marie Rynning.
Dynamic Hardware Software Partitioning A First Approach Komal Kasat Nalini Kumar Gaurav Chitroda.
1 A survey on Reconfigurable Computing for Signal Processing Applications Anne Pratoomtong Spring2002.
1 DSP Implementation on FPGA Ahmed Elhossini ENGG*6090 : Reconfigurable Computing Systems Winter 2006.
(1) Introduction © Sudhakar Yalamanchili, Georgia Institute of Technology, 2006.
An Energy-Efficient Reconfigurable Multiprocessor IC for DSP Applications Multiple programmable VLIW processors arranged in a ring topology –Balances its.
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
Embedded Systems Design ICT Embedded System What is an embedded System??? Any IDEA???
Networking Virtualization Using FPGAs Russell Tessier, Deepak Unnikrishnan, Dong Yin, and Lixin Gao Reconfigurable Computing Group Department of Electrical.
1 3-General Purpose Processors: Altera Nios II 2 Altera Nios II processor A 32-bit soft core processor from Altera Comes in three cores: Fast, Standard,
A Reconfigurable Processor Architecture and Software Development Environment for Embedded Systems Andrea Cappelli F. Campi, R.Guerrieri, A.Lodi, M.Toma,
1 - CPRE 583 (Reconfigurable Computing): Reconfigurable Computing Archs, VHDL 3 Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture.
Architectures for mobile and wireless systems Ese 566 Report 1 Hui Zhang Preethi Karthik.
Paper Review: XiSystem - A Reconfigurable Processor and System
A RISC ARCHITECTURE EXTENDED BY AN EFFICIENT TIGHTLY COUPLED RECONFIGURABLE UNIT Nikolaos Vassiliadis N. Kavvadias, G. Theodoridis, S. Nikolaidis Section.
Automated Design of Custom Architecture Tulika Mitra
Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.
Advanced Computer Architecture, CSE 520 Generating FPGA-Accelerated DFT Libraries Chi-Li Yu Nov. 13, 2007.
HW/SW PARTITIONING OF FLOATING POINT SOFTWARE APPLICATIONS TO FIXED - POINTED COPROCESSOR CIRCUITS - Nalini Kumar Gaurav Chitroda Komal Kasat.
ASIP Architecture for Future Wireless Systems: Flexibility and Customization Joseph Cavallaro and Predrag Radosavljevic Rice University Center for Multimedia.
J. Christiansen, CERN - EP/MIC
Reminder Lab 0 Xilinx ISE tutorial Research Send me an if interested Looking for those interested in RC with skills in compilers/languages/synthesis,
Computer Organization and Design Computer Abstractions and Technology
Introduction to FPGA Created & Presented By Ali Masoudi For Advanced Digital Communication Lab (ADC-Lab) At Isfahan University Of technology (IUT) Department.
Design Space Exploration for Application Specific FPGAs in System-on-a-Chip Designs Mark Hammerquist, Roman Lysecky Department of Electrical and Computer.
Lecture 16: Reconfigurable Computing Applications November 3, 2004 ECE 697F Reconfigurable Computing Lecture 16 Reconfigurable Computing Applications.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Novel, Emerging Computing System Technologies Smart Technologies for Effective Reconfiguration: The FASTER approach.
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
Lecture 12: Reconfigurable Systems II October 20, 2004 ECE 697F Reconfigurable Computing Lecture 12 Reconfigurable Systems II: Exploring Programmable Systems.
Development of Programmable Architecture for Base-Band Processing S. Leung, A. Postula, Univ. of Queensland, Australia A. Hemani, Royal Institute of Tech.,
What is a Microprocessor ? A microprocessor consists of an ALU to perform arithmetic and logic manipulations, registers, and a control unit Its has some.
NISC set computer no-instruction
1 Advanced Digital Design Reconfigurable Logic by A. Steininger and M. Delvai Vienna University of Technology.
WARP PROCESSORS ROMAN LYSECKY GREG STITT FRANK VAHID Presented by: Xin Guan Mar. 17, 2010.
1 - CPRE 583 (Reconfigurable Computing): Reconfigurable Computing Architectures Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture.
Heterogeneous Processing KYLE ADAMSKI. Overview What is heterogeneous processing? Why it is necessary Issues with heterogeneity CPU’s vs. GPU’s Heterogeneous.
Dynamic and On-Line Design Space Exploration for Reconfigurable Architecture Fakhreddine Ghaffari, Michael Auguin, Mohamed Abid Nice Sophia Antipolis University.
Programmable Logic Devices
Programmable Hardware: Hardware or Software?
Ph.D. in Computer Science
Introduction to Programmable Logic
Maintaining Data Integrity in Programmable Logic in Atmospheric Environments through Error Detection Joel Seely Technical Marketing Manager Military &
Anne Pratoomtong ECE734, Spring2002
Dynamically Reconfigurable Architectures: An Overview
Paper discussed in class: H. Zhang, V. Prabhu, V. George, M. Wan, M
Characteristics of Reconfigurable Hardware
Presentation transcript:

Reconfigurable Computing Ender YILMAZ, Hasan Tahsin OĞUZ

Reconfigurable Computing Overview + Energy savings are in average 35% to 70%, and speedup is in average 3 to 7 times. + Reduction in size and component + Time to market + Flexibility and upgradability

Reconfigurable Computing Three ways of supporting processing requirements High performance microprocessors Even expensive μPs are not fast enough for many applications Power consumption(100W or more) Not convenient for embedded applications Application specific ICs (ASICs) Provides a natural mechanism for large amount of parellalism Does not suffer from serial instruction fetch Consumes less power than reconfigurable devices Not general purpose Time to market Infeasable for many embedded systems, only high volume of production makes it feasible

Reconfigurable Computing Three ways of supporing processing requirements(continued) Reconfigurable Computing In the middle of μP and ASICs as performance and power consumption Parellalism due to hardware implementation Cheaper for low volume production Design time and time to market is much less Functional units can change over time General Purpose

Reconfigurable Computing System Level Architectures Five classes of reconfigurable systems a External stand-alone processing unit b Attached processing unit c Co-processor d Reconfigurable functional unit e Processor embedded in a reconfigurable fabric

Reconfigurable Computing System Level Architectures

Reconfigurable Computing Reconfigurable Fabric consists of reconfigurable functional units, reconfigurable interconnect and a flexible interface to the rest of the system There is a tradeoff between flexibility and efficiency.

Reconfigurable Computing Functional Units Fine Grained: implements functions for single or small number of bits Coarse Grained: larger, ALU, DSP

Reconfigurable Computing Emerging Directions Low power techniques Activity reduction in power-aware design tools Leakage current reduction Dual supply voltage methods Asynchronous architectures Fine grained asynchronous pipelines Quasi delay insensitive architectures Globally async. Locally sync. Molecular microelectronics Promising for increasing capacity and performance of reconf. Comp. Arch.

Reconfigurable Computing Main Trends in Architectures Coarse grained fabrics Cost of interconnection is increasing due to advancements in tech., granularity of LU’s are increasing to reduce routing overhead Heterogeneous functions Due to migration to more advanced tech., number of transistors devoted to the reconf. logic increases. Multipliers, DSP units can be added Soft cores Instructions are programmable Although being less area and speed efficient, flexible

Reconfigurable Computing Design Methods General purpose designs Annotation and constraint driven approach Source-directed compilation approach Special purpose design Digital Signal Processing The word-length optimisation Other Design Methods Run time customisation Soft instruction processor Multi FPGA compilation Hardware compilers for high-level descriptions are key to reduce the productivity gap for advanced circuit development Design methods can be generally categorized into two; general design methods and special design methods

Reconfigurable Computing General Purpose Design  Design methods and tools are based on general purpose programming languages such as C, C++ and Java  HDLs: VHDL and Verilog are also available  A number of compilers from C to hardware have been developed  Target hardware or hardware/software  Two different approached Annotation and constraint driven approach Annotations are used in source-code + constraint files Only minor changes are needed to produce a compilable program from software description Source-directed compilation approach Source languages are adopted to enable explicit description of parellelism, communication and other customisable hardware resources

Reconfigurable Computing Summary of General Purpose Hardware Compilers

Reconfigurable Computing Special Purpose Design There are many specific problem domains which deserve special consideration Exploiting domain specific properties: Describe the computation (MATLAB- Simulink) Optimise the implementation Digital Signal Processing The word-length optimisation

Reconfigurable Computing Digital Signal Processing One of the most successful applications for reconfigurable computing is real-time digital signal processing(DSP) Inclusion of hardware support for DSP in FPGA DSP problems share similar properties Algorithms are numerically insensitive but have very simple control structures Controlled numerical error is acceptable SNR exist for measuring numeric precision Design is performed in Simulink Designer need not deal with low level implementation issues

Reconfigurable Computing The word-length optimisation Unlike mP based implementations size of each variable is customisable. Numerical accuracy, design size, speed and power cons. Most important decision is selection of an appropriate word-length and scaling for each signal The accuracy is less sensitive to some variables than to others Considering error and area information, it is possible to achieve a highly efficient DSP implementation Word-length optimisation problem is NP-hard Heuristics are used, area/signal quality tradeoff Analytic methods are faster but pessimistic Area %Speedup % Bitwise MATCH8020 Wadeker&Parker15-40 Bitsize20-30

Reconfigurable Computing Other Design Methods Run-time customisation Soft instruction processors Multi-FPGA compilation

Reconfigurable Computing Run-time customisation One part of the system continues to be operational, while other part is being reconfigured At compile time, an initial configuration bitstream and incremental bitstreams have to be produced Runtime design optimisation techniques Runtime constraint propagation, producing a smaller circuit with higher performance by boolean algebra optimisation Library compilation, precompiled modules are loaded into reconfigurable resources by procedure call mechanisms Exploiting information about program branch probabilities  Promote utilization by dedicating more resources the branches which execute more frequently  Hardware compiler produces a collection of designs, each optimised for a particular branch probability, best one is selected at runtime

Reconfigurable Computing Soft Instruction Processor Two examples of soft instruction processors are MizroBlaze and Nios Customisation of resources and instructions is supported Time for instruction fetch and decode is reduced, each custom instruction replaces several regular instructions Additional resources can be assigned to a custom instruction to improve the performance

Reconfigurable Computing Multi-FPGA Compilation Compiler can generate designs using speculative and lazy execution to improve the performance A single program is partitioned between host and reconfigurable resources

Reconfigurable Computing Dynamic Instruction Set Computer

Reconfigurable Computing DISC-Example Code

Reconfigurable Computing DISC-Example Application