FPGA-Based Architecture for Pattern Recognition

Ähnliche Dokumente
Emulation und Rapid Prototyping. Hw-Sw-Co-Design

Emulation und Rapid Prototyping

Übersicht aktueller heterogener FPGA-SOCs

Level 1 German, 2012

FIVNAT-CH. Annual report 2002

IHS2 Seminar. Einführung Zusatzfolien A. Integrated HW/SW Systems Group. IHS2 Seminar 06 November 2009 Self-Organization 19 November

Eingebettete Taktübertragung auf Speicherbussen

Darstellung und Anwendung der Assessmentergebnisse

Level 2 German, 2013

Automatisierung mit Hilfe einer rekonfigurierbaren FPGA-Hardwareplattform

Pilot Project Biogas-powered Micro-gas-turbine

Symbio system requirements. Version 5.1

Teil 1: Digitale Logik

Presentation of a diagnostic tool for hybrid and module testing

Algorithms for graph visualization

Netzwerke und Sicherheit auf mobilen Geräten

Contents. Interaction Flow / Process Flow. Structure Maps. Reference Zone. Wireframes / Mock-Up

Fundamentals of Electrical Engineering 1 Grundlagen der Elektrotechnik 1

Praktikum Entwicklung von Mediensystemen mit ios

Das Modul kann thermische oder 3-stufige Aktoren regeln, wie auch vier 0-10 VDC analoge Ausgänge.

Mitglied der Leibniz-Gemeinschaft

REPARATURSERVICE von starren und flexiblen Endoskopen

After sales product list After Sales Geräteliste

Scenario Building Workshop - Interplay of problem framings

GRIPS - GIS basiertes Risikoanalyse-, Informations- und Planungssystem

Hazards and measures against hazards by implementation of safe pneumatic circuits

AS Path-Prepending in the Internet And Its Impact on Routing Decisions

Objekterkennung Visuelle Verarbeitung von Gesichtern Orientierungseffekte. Objekterkennung Visuelle Verarbeitung von Gesichtern Orientierungseffekte

Prozessoren in Programmierbarer Logik

POST MARKET CLINICAL FOLLOW UP

Review Euroshop 2014

Fluid-Particle Multiphase Flow Simulations for the Study of Sand Infiltration into Immobile Gravel-Beds

H Mcast Future Internet made in Hamburg?

We are on the road Stützpunkt Nationalteam. Juni 2010

Analyse der Energieausweise des Bundeslandes Salzburg der Jahre

Quality Management is Ongoing Social Innovation Hans-Werner Franz

Labour law and Consumer protection principles usage in non-state pension system

Proseminar - Organisation und Personal Seminar Organisational Theory and Human Resource Management

Praktikum Systementwurf mit VHDL HDL Design Lab

fastpim 1 H fast switching H bridge module Features: - 1 Phase Input Rectifier Bridge - 1 Phase fast switching IGBT + FRED full H bridge - NTC

Anleitung zur Schnellinstallation TU3-SA 1.01

Listening Comprehension: Talking about language learning

1.9 Dynamic loading: τ ty : torsion yield stress (torsion) τ sy : shear yield stress (shear) In the last lectures only static loadings are considered

Introduction to the diploma and master seminar in FSS Prof. Dr. Armin Heinzl. Sven Scheibmayr

HIR Method & Tools for Fit Gap analysis

The process runs automatically and the user is guided through it. Data acquisition and the evaluation are done automatically.

Challenges in Systems Engineering and a Pragmatic Solution Approach

Integration of D-Grid Sites in NGI-DE Monitoring

Proposal for Belt Anchorage Points

Modul A. Modul B. Bisheriger Ansatz für dynamisch und partiell rekonfigurierbare Systeme. Slot 0 Slot 1. Prozessor. Dynamischer Bereich

ELBA2 ILIAS TOOLS AS SINGLE APPLICATIONS

MATLAB driver for Spectrum boards

Model-based Development of Hybrid-specific ECU Software for a Hybrid Vehicle with Compressed- Natural-Gas Engine

Die Dokumentation kann auf einem angeschlossenen Sartorius Messwertdrucker erfolgen.

"What's in the news? - or: why Angela Merkel is not significant

SAP Simple Service Request. Add-on for SAP Solution Manager by SAP Consulting SAP Deutschland SE & Co. KG

1. General information Login Home Current applications... 3

There are 10 weeks this summer vacation the weeks beginning: June 23, June 30, July 7, July 14, July 21, Jul 28, Aug 4, Aug 11, Aug 18, Aug 25

A central repository for gridded data in the MeteoSwiss Data Warehouse

Accounting course program for master students. Institute of Accounting and Auditing

The Single Point Entry Computer for the Dry End

VGM. VGM information. HAMBURG SÜD VGM WEB PORTAL - USER GUIDE June 2016

Realisierung einer 32'768-Punkt-FFT für 2 GBytes/s Datenrate auf einem FPGA

Sicheres Cloud Computing Ein Oxymoron? Eine Provokation

Boundary Scan Days 2009

JPlus Platform Independent Learning with Environmental Information in School

Privacy-preserving Ubiquitous Social Mining via Modular and Compositional Virtual Sensors

GridMate The Grid Matlab Extension

Modulvorstellung Modul B-PM3 Entwicklung und Konstruktion

eurex rundschreiben 094/10

Customer-specific software for autonomous driving and driver assistance (ADAS)

Chart-Technik Indizes. Technical Analysis

Level of service estimation at traffic signals based on innovative traffic data services and collection techniques

Programmierbare Logik CPLDs. Studienprojekt B Tammo van Lessen

11: Echtzeitbetriebssystem ucos-ii

IDRT: Unlocking Research Data Sources with ETL for use in a Structured Research Database

Prediction of Binary Fick Diffusion Coefficients using COSMO-RS

UNIVERSITY OF CAMBRIDGE INTERNATIONAL EXAMINATIONS International General Certificate of Secondary Education

Context-adaptation based on Ontologies and Spreading Activation

Worx Landroid - Software Update

TIn 1: Feedback Laboratories. Lecture 4 Data transfer. Question: What is the IP? Institut für Embedded Systems. Institut für Embedded Systems

FIVNAT-CH Schweizerische Gesellschaft für Fertilität, Sterilität und Familienplanung Société Suisse de Fertilité, Stérilité et de Planning Familial

Parameter-Updatesoftware PF-12 Plus

Level 2 German, 2011

Exercise (Part XI) Anastasia Mochalova, Lehrstuhl für ABWL und Wirtschaftsinformatik, Kath. Universität Eichstätt-Ingolstadt 1

CNC ZUR STEUERUNG VON WERKZEUGMASCHINEN (GERMAN EDITION) BY TIM ROHR

Exploring the knowledge in Semi Structured Data Sets with Rich Queries

Trial and error in the Eurozone and the influence to currencies and interest rates.

herzberg social housing complex green living

Lehrstuhl für Allgemeine BWL Strategisches und Internationales Management Prof. Dr. Mike Geppert Carl-Zeiß-Str Jena

Cambridge International Examinations Cambridge International General Certificate of Secondary Education

From HiL to Test Vehicle:

UNIVERSITY OF CAMBRIDGE INTERNATIONAL EXAMINATIONS International General Certificate of Secondary Education

Group and Session Management for Collaborative Applications

The Economics of Higher Education in Germany

Transkript:

Institut für Technik der Informationsverarbeitung FPGA-Based Architecture for Pattern Recognition Institut für Prozessdatenverarbeitung und Elektronik - IPE, KIT University of the State of Baden-Wuerttemberg and National Research Center of the Helmholtz Association www.kit.edu

FPGA Approach Motivation Merge FPGAs Flexible design 2 05.05.2014

FPGA Approach Starting Point Pattern Recognition - AM Chip Content-addressable memory 3 05.05.2014

Structure of a FPGA - Resources Configurable Logic Blocks (CLBs) Major resource Includes Lookup tables (LUTs) Implements logic Block RAM (B-RAM) Scarce resource Implements memory Implement logic and not memory! 4 05.05.2014

Structure of an FPGA Configurable Logic Block 5 05.05.2014

Structure of an FPGA - Slice 6 entries per LUT 6 05.05.2014

The Ideas behind an FPGA Approach Treat the Pattern Recognition as logic unit 128 Bits incoming 22 LUTs minimum (6 entries per LUT) Multiplexors 7 06.05.2014

FPGA Approach Minimization by Logic LUT structure for one Pattern 22 LUTs Pure Combinatorial no clock cycle Plus one 128 bit register to store the input 8 05.05.2014

FPGA Approach Minimization by Logic LUT structure for two Patterns One bit differences 22 LUTs Pure Combinatorial no clock cycle Plus one 128 bit register to store the input decreased by a factor of 2 9 05.05.2014

FPGA Approach First Results Gain saturates 0.5 LUT per Pattern in average Modularization without significant overhead Depends on the composition of the Pattern Bank Extensive minimization by logic is possible 10 05.05.2014

FPGA Approach Parallel Structure N Modules Parallel comparison First Results 10.000 Pattern per module 20 modules 200.000 Patterns Latency 8ns (Xilinx Virtex 7) 11 05.05.2014

FPGA Approach Outlook Number of LUT per FPGA are increased Around factor five in the last seven years Extra devices added (e.g. multiplexors) 5M Patterns per FPGA imaginable 12 05.05.2014

Comparison to AM Chips AM-chip offers more possibilities Writable memory Synthesize the FPGA Handle failure layers Split the patterns into layers (128 Bits 8*16 Bits) 1 Multiply Patterns 2 Layer Based Approach 13 06.05.2014

Layer Based Approach Logic Decision - Logic (seven of eight, six of eight, ) Analyze the Pattern Bank 14 06.05.2014

Pattern Bank Layer 0 Layer 1 Layer 2 Layer 3 Layer 4 Layer 5 Layer 6 Layer 7 00000000000000000000000000000000000000010000010000000111100000000000011110000000000010001000000100010000100001010010000010000111 00000000000000000000000000000000000000010000010000000111100000000000011110000000000010001000000100010000100001110001100010000001 00000000000000000000000000000000000000010000010000000111100000000000011110000000000010001000001100001000100000000001100010000101 00000000000000000000000000000000000000010000010000000111100000000000011110000000000010001000001100001000100000010001100010000101 00000000000000000000000000000000000000010000010000000111100000000000011110000000000010001000001100001000100000010001100010000111 00000000000000000000000000000000000000010000010000000111100000000000011110000000000010001000001100001000100000110001100010000111 00000000000000000000000000000000000000010000010000000111100000000000011110000000000010001000001100010000100001100001100010000011 00000000000000000000000000000000000000010000010000000111100000000000011110000000000010001000001100010000100001100001100010000101 00000000000000000000000000000000000000010000010000000111100000000000011110000000000010001000001100010000100001110001100010000011 00000000000000000000000000000000000000010000010000000111100000000000011110000000000010001000001100010000100001110001100010000101 00000000000000000000000000000000000000010000010000000111100000000000011110000000000010001000010100001000100000100001000010000011 00000000000000000000000000000000000000010000010000000111100000000000011110000000000010001000010100001000100000110001000010000001 00000000000000000000000000000000000000010000010000000111100000000000011110000000000010001000010100001000100000110001000010000011 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000001000010000100001010001100010000001 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000001000010000100001110001100000000100 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000001000010000100001110001100010000011 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000001000010000100001110001100010000101 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000001100010000100001110001100000000010 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000001100010000100001110001100000000100 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000010000001000100000010001100000000100 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000010000001000100000010001100000000110 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000010000001000100000010001100010000101 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000010000001000100000010001100010000111 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000010000001000100000110001000000000000 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000010000001000100000110001000000000010 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000010000001000100000110001000010000001 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000010000001000100000110001100000000110 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000010000001000100000110001100010000101 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000010000001000100000110001100010000111 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000010000010000100001110001100000000100 15 05.05.2014

Pattern Bank Analysis 10k Pattern Layer 0 Layer 1 Layer 2 Layer 3 Layer 4 Layer 5 Layer 6 Layer 7 00000000000000000000000000000000000000010000010000000111100000000000011110000000000010001000000100010000100001010010000010000111 00000000000000000000000000000000000000010000010000000111100000000000011110000000000010001000000100010000100001110001100010000001 00000000000000000000000000000000000000010000010000000111100000000000011110000000000010001000001100001000100000000001100010000101 00000000000000000000000000000000000000010000010000000111100000000000011110000000000010001000001100001000100000010001100010000101 00000000000000000000000000000000000000010000010000000111100000000000011110000000000010001000001100001000100000010001100010000111 00000000000000000000000000000000000000010000010000000111100000000000011110000000000010001000001100001000100000110001100010000111 00000000000000000000000000000000000000010000010000000111100000000000011110000000000010001000001100010000100001100001100010000011 00000000000000000000000000000000000000010000010000000111100000000000011110000000000010001000001100010000100001100001100010000101 00000000000000000000000000000000000000010000010000000111100000000000011110000000000010001000001100010000100001110001100010000011 00000000000000000000000000000000000000010000010000000111100000000000011110000000000010001000001100010000100001110001100010000101 00000000000000000000000000000000000000010000010000000111100000000000011110000000000010001000010100001000100000100001000010000011 First 2740 entries are equal 00000000000000000000000000000000000000010000010000000111100000000000011110000000000010001000010100001000100000110001000010000001 00000000000000000000000000000000000000010000010000000111100000000000011110000000000010001000010100001000100000110001000010000011 19 different values 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000001000010000100001010001100010000001 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000001000010000100001110001100000000100 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000001000010000100001110001100010000011 Average: 527 entries equal 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000001000010000100001110001100010000101 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000001100010000100001110001100000000010 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000001100010000100001110001100000000100 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000010000001000100000010001100000000100 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000010000001000100000010001100000000110 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000010000001000100000010001100010000101 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000010000001000100000010001100010000111 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000010000001000100000110001000000000000 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000010000001000100000110001000000000010 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000010000001000100000110001000010000001 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000010000001000100000110001100000000110 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000010000001000100000110001100010000101 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000010000001000100000110001100010000111 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000010000010000100001110001100000000100 16 06.05.2014

Pattern Bank Analysis 10k Pattern Layer 0 Layer 1 Layer 2 Layer 3 Layer 4 Layer 5 Layer 6 Layer 7 00000000000000000000000000000000000000010000010000000111100000000000011110000000000010001000000100010000100001010010000010000111 00000000000000000000000000000000000000010000010000000111100000000000011110000000000010001000000100010000100001110001100010000001 00000000000000000000000000000000000000010000010000000111100000000000011110000000000010001000001100001000100000000001100010000101 00000000000000000000000000000000000000010000010000000111100000000000011110000000000010001000001100001000100000010001100010000101 00000000000000000000000000000000000000010000010000000111100000000000011110000000000010001000001100001000100000010001100010000111 00000000000000000000000000000000000000010000010000000111100000000000011110000000000010001000001100001000100000110001100010000111 00000000000000000000000000000000000000010000010000000111100000000000011110000000000010001000001100010000100001100001100010000011 00000000000000000000000000000000000000010000010000000111100000000000011110000000000010001000001100010000100001100001100010000101 00000000000000000000000000000000000000010000010000000111100000000000011110000000000010001000001100010000100001110001100010000011 00000000000000000000000000000000000000010000010000000111100000000000011110000000000010001000001100010000100001110001100010000101 00000000000000000000000000000000000000010000010000000111100000000000011110000000000010001000010100001000100000100001000010000011 First 10k entries are equal 00000000000000000000000000000000000000010000010000000111100000000000011110000000000010001000010100001000100000110001000010000001 00000000000000000000000000000000000000010000010000000111100000000000011110000000000010001000010100001000100000110001000010000011 1 different values 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000001000010000100001010001100010000001 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000001000010000100001110001100000000100 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000001000010000100001110001100010000011 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000001000010000100001110001100010000101 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000001100010000100001110001100000000010 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000001100010000100001110001100000000100 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000010000001000100000010001100000000100 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000010000001000100000010001100000000110 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000010000001000100000010001100010000101 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000010000001000100000010001100010000111 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000010000001000100000110001000000000000 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000010000001000100000110001000000000010 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000010000001000100000110001000010000001 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000010000001000100000110001100000000110 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000010000001000100000110001100010000101 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000010000001000100000110001100010000111 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000010000010000100001110001100000000100 17 06.05.2014

Pattern Bank Analysis 10k Pattern Layer 0 Layer 1 Layer 2 Layer 3 Layer 4 Layer 5 Layer 6 Layer 7 00000000000000000000000000000000000000010000010000000111100000000000011110000000000010001000000100010000100001010010000010000111 00000000000000000000000000000000000000010000010000000111100000000000011110000000000010001000000100010000100001110001100010000001 00000000000000000000000000000000000000010000010000000111100000000000011110000000000010001000001100001000100000000001100010000101 00000000000000000000000000000000000000010000010000000111100000000000011110000000000010001000001100001000100000010001100010000101 00000000000000000000000000000000000000010000010000000111100000000000011110000000000010001000001100001000100000010001100010000111 00000000000000000000000000000000000000010000010000000111100000000000011110000000000010001000001100001000100000110001100010000111 00000000000000000000000000000000000000010000010000000111100000000000011110000000000010001000001100010000100001100001100010000011 00000000000000000000000000000000000000010000010000000111100000000000011110000000000010001000001100010000100001100001100010000101 00000000000000000000000000000000000000010000010000000111100000000000011110000000000010001000001100010000100001110001100010000011 00000000000000000000000000000000000000010000010000000111100000000000011110000000000010001000001100010000100001110001100010000101 00000000000000000000000000000000000000010000010000000111100000000000011110000000000010001000010100001000100000100001000010000011 368 entries are equal 00000000000000000000000000000000000000010000010000000111100000000000011110000000000010001000010100001000100000110001000010000001 00000000000000000000000000000000000000010000010000000111100000000000011110000000000010001000010100001000100000110001000010000011 149 different values 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000001000010000100001010001100010000001 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000001000010000100001110001100000000100 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000001000010000100001110001100010000011 Average: 58 entries are equal 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000001000010000100001110001100010000101 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000001100010000100001110001100000000010 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000001100010000100001110001100000000100 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000010000001000100000010001100000000100 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000010000001000100000010001100000000110 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000010000001000100000010001100010000101 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000010000001000100000010001100010000111 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000010000001000100000110001000000000000 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000010000001000100000110001000000000010 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000010000001000100000110001000010000001 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000010000001000100000110001100000000110 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000010000001000100000110001100010000101 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000010000001000100000110001100010000111 00000000000000000000000000000000000000010000010100000111100000000000011110000000000010000000010000010000100001110001100000000100 18 06.05.2014

Conclusion First results looks promising Analyses the whole Pattern Bank Maybe re-order the Pattern Carry out more test runs Synthesize the Layer Based Approach Do not hesitate to contact us! harbaum@kit.edu or thomas.schuh@kit.edu 19 06.05.2014