Review of “Register Binding for FPGAs with Embedded Memory” by Hassan Al Atat and Iyad Ouaiss Lisa Steffen CprE 583.

Slides:



Advertisements
Similar presentations
Defect Tolerance for Yield Enhancement of FPGA Interconnect Using Fine-grain and Coarse-grain Redundancy Anthony J. YuGuy G.F. Lemieux September 15, 2005.
Advertisements

Memory Management Chapter 7.
Memory Management Chapter 7. Memory Management Subdividing memory to accommodate multiple processes Memory needs to be allocated efficiently to pack as.
Memory Management Subdividing memory to accommodate multiple processes Memory needs to be allocated to ensure a reasonable supply of ready processes to.
Allocating Memory.
Architecture Design Methodology. 2 The effects of architecture design on metrics:  Area (cost)  Performance  Power Target market:  A set of application.
Defect Tolerance for Yield Enhancement of FPGA Interconnect Using Fine-grain and Coarse-grain Redundancy Anthony J. Yu August 15, 2005.
Defect Tolerance for Yield Enhancement of FPGA Interconnect Using Fine-grain and Coarse-grain Redundancy Anthony J. Yu August 15, 2005.
Zheming CSCE715.  A wireless sensor network (WSN) ◦ Spatially distributed sensors to monitor physical or environmental conditions, and to cooperatively.
Lecture 2: Field Programmable Gate Arrays I September 5, 2013 ECE 636 Reconfigurable Computing Lecture 2 Field Programmable Gate Arrays I.
Lecture 26: Reconfigurable Computing May 11, 2004 ECE 669 Parallel Computer Architecture Reconfigurable Computing.
ENGIN112 L38: Programmable Logic December 5, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 38 Programmable Logic.
Memory Management Chapter 7 B.Ramamurthy. Memory Management Subdividing memory to accommodate multiple processes Memory needs to allocated efficiently.
1 Memory Management Chapter 7. 2 Memory Management Subdividing memory to accommodate multiple processes Memory needs to be allocated to ensure a reasonable.
Data Partitioning for Reconfigurable Architectures with Distributed Block RAM Wenrui Gong Gang Wang Ryan Kastner Department of Electrical and Computer.
Storage Assignment during High-level Synthesis for Configurable Architectures Wenrui Gong Gang Wang Ryan Kastner Department of Electrical and Computer.
Memory Management Chapter 5.
MEMORY MANAGEMENT By KUNAL KADAKIA RISHIT SHAH. Memory Memory is a large array of words or bytes, each with its own address. It is a repository of quickly.
FPGA Defect Tolerance: Impact of Granularity Anthony YuGuy Lemieux December 14, 2005.
ICS 252 Introduction to Computer Design Fall 2006 Eli Bozorgzadeh Computer Science Department-UCI.
The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays Steven J.
1. 2 FPGAs Historically, FPGA architectures and companies began around the same time as CPLDs FPGAs are closer to “programmable ASICs” -- large emphasis.
CS 151 Digital Systems Design Lecture 38 Programmable Logic.
1 Lecture 8: Memory Mangement Operating System I Spring 2008.
Study of AES Encryption/Decription Optimizations Nathan Windels.
1 DIGITAL DESIGN I DR. M. MAROUF FPGAs AUTHOR J. WAKERLY.
Register-Transfer (RT) Synthesis Greg Stitt ECE Department University of Florida.
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
Memory Management Chapter 7.
Power Reduction for FPGA using Multiple Vdd/Vth
/38 Lifetime Management of Flash-Based SSDs Using Recovery-Aware Dynamic Throttling Sungjin Lee, Taejin Kim, Kyungho Kim, and Jihong Kim Seoul.
CSE 494: Electronic Design Automation Lecture 2 VLSI Design, Physical Design Automation, Design Styles.
J. Christiansen, CERN - EP/MIC
Array Synthesis in SystemC Hardware Compilation Authors: J. Ditmar and S. McKeever Oxford University Computing Laboratory, UK Conference: Field Programmable.
J. Greg Nash ICNC 2014 High-Throughput Programmable Systolic Array FFT Architecture and FPGA Implementations J. Greg.
Reconfigurable Computing Using Content Addressable Memory (CAM) for Improved Performance and Resource Usage Group Members: Anderson Raid Marie Beltrao.
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)
CprE / ComS 583 Reconfigurable Computing Prof. Joseph Zambreno Department of Electrical and Computer Engineering Iowa State University Lecture #4 – FPGA.
By Teacher Asma Aleisa Year 1433 H.   Goals of memory management  To provide a convenient abstraction for programming.  To allocate scarce memory.
Task Graph Scheduling for RTR Paper Review By Gregor Scott.
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
A Physical Resource Management Approach to Minimizing FPGA Partial Reconfiguration Overhead Heng Tan and Ronald F. DeMara University of Central Florida.
1 Memory Management Chapter 7. 2 Memory Management Subdividing memory to accommodate multiple processes Memory needs to be allocated to ensure a reasonable.
Development of Programmable Architecture for Base-Band Processing S. Leung, A. Postula, Univ. of Queensland, Australia A. Hemani, Royal Institute of Tech.,
Basic Memory Management 1. Readings r Silbershatz et al: chapters
Evaluating Logic Resources Utilization in an FPGA-Based TMR CPU
In-Place Decomposition for Robustness in FPGA Ju-Yueh Lee, Zhe Feng, and Lei He Electrical Engineering Dept., UCLA Presented by Ju-Yueh Lee Address comments.
A Design Flow for Optimal Circuit Design Using Resource and Timing Estimation Farnaz Gharibian and Kenneth B. Kent {f.gharibian, unb.ca Faculty.
EE121 John Wakerly Lecture #15
Output Grouping-Based Decomposition of Logic Functions Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical University.
FPGA Logic Cluster Design Dr. Philip Brisk Department of Computer Science and Engineering University of California, Riverside CS 223.
1 Hardware-Software Co-Synthesis of Low Power Real-Time Distributed Embedded Systems with Dynamically Reconfigurable FPGAs Li Shang and Niraj K.Jha Proceedings.
Architecture and algorithm for synthesizable embedded programmable logic core Noha Kafafi, Kimberly Bozman, Steven J. E. Wilton 2003 Field programmable.
Chapter 7 Memory Management Eighth Edition William Stallings Operating Systems: Internals and Design Principles.
Defect-tolerant FPGA Switch Block and Connection Block with Fine-grain Redundancy for Yield Enhancement Anthony J. YuGuy G.F. Lemieux August 25, 2005.
1 Memory Management n In most schemes, the kernel occupies some fixed portion of main memory and the rest is shared by multiple processes.
A Survey of Fault Tolerant Methodologies for FPGA’s Gökhan Kabukcu
Memory Management Chapter 7.
Presenter: Darshika G. Perera Assistant Professor
Chapter 11: File System Implementation
Chapter 9 – Real Memory Organization and Management
Main Memory Management
Chapter 11: File System Implementation
Chapter 11: File System Implementation
Main Memory Background Swapping Contiguous Allocation Paging
Chapter 11: File System Implementation
Page Main Memory.
Presentation transcript:

Review of “Register Binding for FPGAs with Embedded Memory” by Hassan Al Atat and Iyad Ouaiss Lisa Steffen CprE 583

Outline Introduction Motivation Proposed Memory Binding Technique Results Strengths and Shortcomings Conclusion

Introduction Early FPGAs – Trend was to use as many logic cells as possible – External memory banks were typically attached to the FPGA to hold data structures Communication with external memory banks very slow – Motivating need for embedded memory in FPGAs – Many register binding techniques were developed to minimize storage requirements of designs

Introduction (cont.) Register Binding – Aim is to minimize the number of registers necessary to hold all of the design’s variables – Registers are shared by multiple variables who’s lifetimes do not overlap Variable lifetime is time between when the variable is first written to and the last time it is read Result is decreased number of required registers

Motivation Current trend in FPGAs is to include large amounts of embedded memory banks – Summary of Altera and Xilinx device families shows this trend – Trend shows increase in logic cells and memory bits – Ratio of embedded memory bits to logic cells sharply increasing Altera devices have increased from ~8% to ~88% Xilinx devices have increased from ~5% to ~82%

Motivation (cont.) Research in the area of using memory blocks for variable storage in ASICs Techniques that implement register binding and the registers are then grouped into memory pads Techniques which map all variables to one memory and then the memory is partitioned Techniques that group variables into memory models and then binds them into registers

Motivation (cont.) When targeting an ASIC, one goal when mapping variables to memories is minimizing the number of memories used FGPAs have a fixed number of embedded memories, minimizing the number used is not necessarily a goal Interconnection overhead may be improved by using more memories Motivates need for an FPGA memory binding technique

Memory Binding Registers are traditionally implemented using logic resources Results in decreased utilization from placement and routing congestion Logic utilization can be improved by making use of the available memory blocks through the use of memory binding

Memory Binding Register binding maps variables to registers based on their lifetimes Memory binding maps variables to memories based on their read access times and write access times Variables may be mapped to the same memory if they do not conflict – Variables conflict if they are read in the same time step or if they are written to in the same time step

Memory Binding The Algorithm – A list is obtained of every variable in the design – Two lists maintained for every memory bank used for memory binding beginList contains all of the writing times for all of the variables mapped to the memory bank endList contains all of the read times for all of the variables mapped to the memory bank

Memory Binding The Algorithm (cont.) – Any unassigned memory who’s write time(s) are not found in the beginList and who’s read time(s) are not found in the endList are added to the memory, read/write times are added to the appropriate list – Continue until all variables are mapped

Results Performance of Memory Binding technique was shown by applying the technique to three benchmark synthesis results Number of logic cells used with no variable binding techniques were compared with the number of logic cells used with the memory binding technique as well as with two register binging techniques; Clique Partitioning and Left-Edge Algorithm

Results All three techniques reduce the total number of logic cells occupied in the device Improvement by the Clique Partitioning was marginally better than the Left-Edge Algorithm Improvement by the Memory Binding technique was clearly greatest of the three techniques

Resluts Memory Binding improvement over Clique Partitioning was ~6% with a small resource bag and ~40% with a large resource bag Memory Binding improvement over the Left- Edge Algorithm was ~6% with a small resource bag and ~50% with a large resource bag

Strengths Memory Binding makes use of the memory blocks which are on the FPGA Memory Binding results in clear area utilization improvements over other available variable mapping techniques

Shortcomings Memory Binding introduces a lot of complexity into the design Memory Binding introduces three new sources of delay – Variables bound to memories rather than registers are at a greater distance from their operators – Memories have a larger access delay than registers – Time is needed to calculate the addresses of the variables in memory

Shortcomings The algorithm must have memory blocks available which can be utilized for memory binding – Many FPGA designs are data-oriented, many designs may use the majority of the memory for data storage Performance was only studied in the area of logic cell utilization, no timing results shown from applying the three techniques

Conclusion For specific designs, the proposed technique could provide many benefits – Designs which utilize a large number of logic cells, but little embedded memory – Designs which are able to utilize the memory binding without effecting the timing requirements of the design

Conclusion Number of logic elements in an FPGA are also fixed, as the number of memory blocks are fixed If the design fits into the number of logic elements available, the cost incurred by applying the memory binding would be greater than any benefit received

Conclusion Much more analysis needs to be performed with regards to the timing of the design after performing memory binding Most designs would not be able to incur the extra delay of having to access all variables from memory