Computer Architecture: Development Tools for Multiprocessor FPGA Designs

1 / 18
About This Presentation
Title:

Computer Architecture: Development Tools for Multiprocessor FPGA Designs

Description:

... Independent Functions: various process modules. Control Plane Offload: real-time tasks. Data Plane Offload: intense calculations. Interface Processing: bridging ... –

Number of Views:257
Avg rating:3.0/5.0
Slides: 19
Provided by: aba90
Category:

less

Transcript and Presenter's Notes

Title: Computer Architecture: Development Tools for Multiprocessor FPGA Designs


1
Computer ArchitectureDevelopment Tools for
Multiprocessor FPGA Designs
Daniel Raible David Avanesian Dragos
Dinca EEC-581 Final Project Presentation
2
Field Programmable Gate Array (FPGA)
  • Xilinx Spartan-3
  • ISE development software
  • 5 million gates
  • 104 hardware multiplier modules
  • 30 x 30 ball grid array (BGA)
  • Up to 400MHz clock speeds

3
Uniprocessor Limitations
  • Growing embedded processing requirements are
    turning system architects toward multiprocessor
    designs, or Chip Multiprocessing (CMP) FPGA
    Solutions
  • High logic density
  • Parallel computing capacity
  • Dedicated hardware accelerators
  • Customizable

4
Multiprocessor FPGA Benefits
  • Multiple Independent Functions various process
    modules
  • Control Plane Offload real-time tasks
  • Data Plane Offload intense calculations
  • Interface Processing bridging
  • Stream Processing pipelining for throughput
  • Symmetric Processing partitioning for
    scalability
  • Reliability and Redundancy distribution

5
Available FPGA Hard Soft Cores
  • Xilinx
  • MicroBlaze 32-bit Harvard RISC soft-core
  • PicoBlaze 8-bit RISC soft-core
  • PowerPC 405 32-bit Harvard RISC hard/soft-core
  • Altera
  • Nios 16-bit RISC soft-core
  • Nios-2 32-bit RISC hard/soft-core
  • OpenCores.org, etc.
  • Plasma 32-bit RISC soft-core
  • OpenRISC1000 64-bit RISC soft-core

6
Overall Multiprocessing Topology
7
Design Flow
8
Communication and Synchronozation(Xilinx
proprietary)
9
Development Problems
  • VHDL requires levels of abstraction to accomplish
    complex tasks
  • Implementing and debugging just a single-core
    processor can be a daunting task
  • Synchronization and coherency between
    heterogeneous cores/chips is complicated
  • Compatibility between different IP cores
  • Complete optimization takes a long time, and
    reduces flexibility

10
Development Tools
  • Automatic microarchitecture customization
  • Configuration using TDM-MPI
  • Dynamic reconfiguration

11
Automatic Microarchitecture Customization
  • Treats the problem as a multi-objective
    constrained integer nonlinear optimization
    problem.
  • Architecture is an array of cost functions
  • Runtime
  • Power consumption
  • Energy dissipation
  • Cache misses
  • Branch mispredictions
  • Correlates application runtime to MA features
  • Provides a search space for the developer

12
Automatic Microarchitecture Customization
13
Configuration Using TDM-MPI
  • Uses an application compiler to optimize the
    architecture in the FPGA
  • Efficient programming model
  • Flexible design flow
  • Can homogenize a system for the developer
  • Selects the best hardware engines
  • Selects the communications between them
  • Transparent to the programmer

14
Configuration Using TDM-MPI
15
Dynamic Reconfiguration
  • Exploits the reconfigurable nature of the FPGA
  • Partial reconfiguration during run-time (DPR)
  • Reduces optimization time
  • Adds generality / flexibility
  • Supported by Xilinx Virtex4

16
Dynamic Reconfiguration
17
Future Tools
  • Decreasing placement time / compilation
  • Increase abstraction / usability
  • Developing OTS multi-core modules
  • Complete GUI development interface, drag drop
  • Pre-determined application optimizations /
    compromises
  • Implement architecture standards (IEEE?)
  • Encourage 3rd party development
  • Cores, multi-cores
  • Compilers

18
Thank-You Friends!
  • Questions?
Write a Comment
User Comments (0)
About PowerShow.com