SOAR Processing with Field Programmable Gate Arrays Presented by Matthew Scarpino Hoplite Systems LLC.

Slides:



Advertisements
Similar presentations
What are FPGA Power Management HDL Coding Techniques Xilinx Training.
Advertisements

Faculty of Sciences and Technology University of Algarve, Faro João M. P. Cardoso April 30, 2001 IEEE Symposium on Field-Programmable Custom Computing.
VHDL - I 1 Digital Systems. 2 «The designer’s guide to VHDL» Peter J. Andersen Morgan Kaufman Publisher Bring laptop with installed Xilinx.
CPU Review and Programming Models CT101 – Computing Systems.
Implementation Approaches with FPGAs Compile-time reconfiguration (CTR) CTR is a static implementation strategy where each application consists of one.
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.
Sensor Network Platforms and Tools
Graduate Computer Architecture I Lecture 15: Intro to Reconfigurable Devices.
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.
Steven Koelmeyer BDS(hons)1 Reconfigurable Hardware for use in Ad Hoc Sensor Networks Supervisors Charles Greif Nandita Bhattacharjee.
Team Morphing Architecture Reconfigurable Computational Platform for Space.
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.
EE296 Working with FPGA’s. (Field Programmable gate array) Team name: Altezza Team members: Richard Phomsouvanh (FPGA expert) Jason Leong (VHDL expert)
Mahapatra-Texas A&M-Fall'001 cosynthesis Introduction to cosynthesis Rabi Mahapatra CPSC498.
Configurable System-on-Chip: Xilinx EDK
Programmable Array Logic (PAL) Fixed OR array programmable AND array Fixed OR array programmable AND array Easy to program Easy to program Poor flexibility.
CS 151 Digital Systems Design Lecture 38 Programmable Logic.
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
On Virtualization of Reconfigurable Hardware in Distributed Systems 指導教授 :周 哲 民 學 生 :陳 佑 銓 CAD Group Department of Electrical Engineering National Cheng.
February 12, 1998 Aman Sareen DPGA-Coupled Microprocessors Commodity IC’s for the Early 21st Century by Aman Sareen School of Electrical Engineering and.
ISE. Tatjana Petrovic 249/982/22 ISE software tools ISE is Xilinx software design tools that concentrate on delivering you the most productivity available.
Performance and Overhead in a Hybrid Reconfigurable Computer O. D. Fidanci 1, D. Poznanovic 2, K. Gaj 3, T. El-Ghazawi 1, N. Alexandridis 1 1 George Washington.
Trigger design engineering tools. Data flow analysis Data flow analysis through the entire Trigger Processor allow us to refine the optimal architecture.
1 - ECpE 583 (Reconfigurable Computing): Placing Applications onto FPGAs, Part II Iowa State University (Ames) ECpE 583 Reconfigurable Computing Lecture.
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,
Reconfigurable Devices Presentation for Advanced Digital Electronics (ECNG3011) by Calixte George.
ENG3050 Embedded Reconfigurable Computing Systems General Information Handout Winter 2015, January 5 th.
COMPUTER SCIENCE &ENGINEERING Compiled code acceleration on FPGAs W. Najjar, B.Buyukkurt, Z.Guo, J. Villareal, J. Cortes, A. Mitra Computer Science & Engineering.
System Arch 2008 (Fire Tom Wada) /10/9 Field Programmable Gate Array.
Automated Design of Custom Architecture Tulika Mitra
CPLD (Complex Programmable Logic Device)
Research on Reconfigurable Computing Using Impulse C Carmen Li Shen Mentor: Dr. Russell Duren February 1, 2008.
Good Programming Practices for Building Less Memory-Intensive EDA Applications Alan Mishchenko University of California, Berkeley.
J. Christiansen, CERN - EP/MIC
Hardware Support for Trustworthy Systems Ted Huffmire ACACES 2012 Fiuggi, Italy.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR FPGA Fabric n Elements of an FPGA fabric –Logic element –Placement –Wiring –I/O.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR Topics n FPGA fabric architecture concepts.
Introduction to FPGA Created & Presented By Ali Masoudi For Advanced Digital Communication Lab (ADC-Lab) At Isfahan University Of technology (IUT) Department.
Field Programmable Gate Arrays (FPGAs) An Enabling Technology.
Lecture 16: Reconfigurable Computing Applications November 3, 2004 ECE 697F Reconfigurable Computing Lecture 16 Reconfigurable Computing Applications.
Task Graph Scheduling for RTR Paper Review By Gregor Scott.
Field Programmable Gate Arrays FPGA’s Moving from Fixed Mode Architectures to Mode Configurable Architectures for HDTV and Digital Cinema applications.
1 - CPRE 583 (Reconfigurable Computing): VHDL to FPGA: A Tool Flow Overview Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 5: 9/7/2011.
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.
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.
Development of Programmable Architecture for Base-Band Processing S. Leung, A. Postula, Univ. of Queensland, Australia A. Hemani, Royal Institute of Tech.,
Modeling Mobile-Agent-based Collaborative Processing in Sensor Networks Using Generalized Stochastic Petri Nets Hongtao Du, Hairong Qi, Gregory Peterson.
Reconfigurable architectures ESE 566. Outline Static and Dynamic Configurable Systems –Static SPYDER, RENCO –Dynamic FIREFLY, BIOWATCH PipeRench: Reconfigurable.
CEC 220 Digital Circuit Design Programmable Logic Devices
1 Advanced Digital Design Reconfigurable Logic by A. Steininger and M. Delvai Vienna University of Technology.
Survey of Reconfigurable Logic Technologies
Architecture and algorithm for synthesizable embedded programmable logic core Noha Kafafi, Kimberly Bozman, Steven J. E. Wilton 2003 Field programmable.
ASIC/FPGA design flow. Design Flow Detailed Design Detailed Design Ideas Design Ideas Device Programming Device Programming Timing Simulation Timing Simulation.
VHDL From Ch. 5 Hardware Description Languages. History 1980’s Schematics 1990’s Hardware Description Languages –Increased due to the use of Programming.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR Topics n FPGA fabric architecture concepts.
A Brief Introduction to FPGAs
CprE / ComS 583 Reconfigurable Computing Prof. Joseph Zambreno Department of Electrical and Computer Engineering Iowa State University Lecture #22 – Multi-Context.
TensorFlow– A system for large-scale machine learning
Programmable Hardware: Hardware or Software?
Introduction to Programmable Logic
Introduction to cosynthesis Rabi Mahapatra CSCE617
Field Programmable Gate Array
Field Programmable Gate Array
Field Programmable Gate Array
Jian Huang, Matthew Parris, Jooheung Lee, and Ronald F. DeMara
Programmable Logic- How do they do that?
Presentation transcript:

SOAR Processing with Field Programmable Gate Arrays Presented by Matthew Scarpino Hoplite Systems LLC

Introduction Technical focus: applications of reconfigurable computing Technical focus: applications of reconfigurable computing Selected for initial funding by DARPA Selected for initial funding by DARPA “Cognitive Processing Hardware Elements” “Cognitive Processing Hardware Elements” RAISE – Reconfigurable Architecture for Improved Soar Execution RAISE – Reconfigurable Architecture for Improved Soar Execution

What is Reconfigurable Computing? Altering architecture and content to meet the behavioral requirements Altering architecture and content to meet the behavioral requirements CPU CPU Changing content, fixed architecture Changing content, fixed architecture Optimized for general-purpose applications Optimized for general-purpose applications FPGA FPGA Content/architecture dynamically configurable Content/architecture dynamically configurable Can be optimized for a specific application Can be optimized for a specific application

Virtex-II FPGA Structure FG 4 4 MEM FF CARRYCARRY

Virtex-II FPGA Structure

Virtex-II Configuration Similar to compilation/assembly in CPU Similar to compilation/assembly in CPU Sends a bitstream into the FPGA Sends a bitstream into the FPGA Traditional process: Traditional process: Verilog, VHDL Verilog, VHDL Hardware design synthesized into netlist Hardware design synthesized into netlist Netlist implemented onto specific device Netlist implemented onto specific device

Virtex-II Configuration Non-traditional: Low-level design Non-traditional: Low-level design Configure each FPGA resource separately Configure each FPGA resource separately Used for designs with repeated structures Used for designs with repeated structures Allows for partial reconfiguration Allows for partial reconfiguration Configure individual columns of an FPGA Configure individual columns of an FPGA Vital for reconfigurable computing Vital for reconfigurable computing

Challenge of Embedded Soar: Rete WMEs ALPHA1 TOP NODE JOIN BETA ALPHA2 ALPHA3 ALPHA4 BETA JOIN BETA JOIN PRODUCTIONS JOIN

Challenge of Embedded Soar: Rete Structure depends on production rules Structure depends on production rules Net re-arranges with changing conditions Net re-arranges with changing conditions Requirement: Dynamic Memory Allocation Requirement: Dynamic Memory Allocation Needed for linked-lists, pointers Needed for linked-lists, pointers Interacts with Memory Management Unit Interacts with Memory Management Unit Difficult on an embedded, distributed system Difficult on an embedded, distributed system

RAISE Structure Dynamic memory allocation is not an option Dynamic memory allocation is not an option FPGAs and OS-less embedded processors FPGAs and OS-less embedded processors Fixed amount of memory for each object Fixed amount of memory for each object Advance knowledge of object attributes Advance knowledge of object attributes Determined by input or goal context experience Determined by input or goal context experience Each attribute stored in particular order Each attribute stored in particular order Each attribute takes a single value Each attribute takes a single value

RAISE Structure Object Memory Switching Logic Production Output WMEs Operators

RAISE Structure Simplification and CompressionSimplification and Compression Keep memory requirements to a minimumKeep memory requirements to a minimum Remove unnecessary data structuresRemove unnecessary data structures Examples: WMEs and PreferencesExamples: WMEs and Preferences Scalability Scalability Concurrent FPGA processingConcurrent FPGA processing Greater efficiency than SMPGreater efficiency than SMP Division of laborDivision of labor

RAISE Structure FPGA FPGA Contains object memory (WMEs) Contains object memory (WMEs) Performs combinational logic Performs combinational logic Configuration Device Configuration Device Activates operators Activates operators Configures FPGA Configures FPGA FPGA Configuration Device (CD)

RAISE Operation PERCEPTION/ SYMBOL GENERATION ALPHA MEMORY BUFFER CONFIGURATION DEVICE ACTUATION/ CONTROL FPGA

Conclusion Design still in planning stage Design still in planning stage Will evolve as work progresses Will evolve as work progresses Structural analogue for cognitive processing Structural analogue for cognitive processing Distributed memory and processing Distributed memory and processing Combination of small computational elements Combination of small computational elements Behavior controls structure Behavior controls structure