FPGA-based Soft Vector Processors

FPGAs are increasingly used to implement embedded digital systems because of their low time-to-market and low costs compared to integrated circuit design, as well as their superior performance and area over a general purpose microprocessor. However, the hardware design necessary to achieve this sup...

Full description

Bibliographic Details
Main Author: Yiannacouras, Peter
Other Authors: Rose, Jonathan S.
Language:en_ca
Published: 2009
Subjects:
Online Access:http://hdl.handle.net/1807/19114
id ndltd-TORONTO-oai-tspace.library.utoronto.ca-1807-19114
record_format oai_dc
spelling ndltd-TORONTO-oai-tspace.library.utoronto.ca-1807-191142013-11-02T04:07:52ZFPGA-based Soft Vector ProcessorsYiannacouras, Petersoft processorsoft Vector processorFPGAcustomembeddedSIMDdata parallel0544FPGAs are increasingly used to implement embedded digital systems because of their low time-to-market and low costs compared to integrated circuit design, as well as their superior performance and area over a general purpose microprocessor. However, the hardware design necessary to achieve this superior performance and area is very difficult to perform causing long design times and preventing wide-spread adoption of FPGA technology. The amount of hardware design can be reduced by employing a microprocessor for less-critical computation in the system. Often this microprocessor is implemented using the FPGA reprogrammable fabric as a soft processor which can preserve the benefits of a single-chip FPGA solution without specializing the device with dedicated hard processors. Current soft processors have simple architectures that provide performance adequate for only the least-critical computations. Our goal is to improve soft processors by scaling their performance and expanding their suitability to more critical computation. To this end we focus on the data parallelism found in many embedded applications and propose that soft processors be augmented with vector extensions to exploit this parallelism. We support this proposal through experimentation with a parameterized soft vector processor called VESPA (Vector Extended Soft Processor Architecture) which is designed, implemented, and evaluated on real FPGA hardware. The scalability of VESPA combined with several other architectural parameters can be used to finely span a large design space and derive a custom architecture for exactly matching the needs of an application. Such customization is a key advantage for soft processors since their architectures can be easily reconfigured by the end-user. Specifically, customizations can be made to the pipeline, functional units, and memory system within VESPA. In addition, general purpose overheads can be automatically eliminated from VESPA. Comparing VESPA to manual hardware design, we observe a 13x speed advantage for hardware over our fastest VESPA, though this is significantly less than the 500x speed advantage over scalar soft processors. The performance-per-area of VESPA is also observed to be significantly higher than a scalar soft processor suggesting that the addition of vector extensions makes more efficient use of silicon area for data parallel workloads.Rose, Jonathan S.Steffan, J. Gregory2009-112010-02-23T20:31:51ZNO_RESTRICTION2010-02-23T20:31:51Z2010-02-23T20:31:51ZThesishttp://hdl.handle.net/1807/19114en_ca
collection NDLTD
language en_ca
sources NDLTD
topic soft processor
soft Vector processor
FPGA
custom
embedded
SIMD
data parallel
0544
spellingShingle soft processor
soft Vector processor
FPGA
custom
embedded
SIMD
data parallel
0544
Yiannacouras, Peter
FPGA-based Soft Vector Processors
description FPGAs are increasingly used to implement embedded digital systems because of their low time-to-market and low costs compared to integrated circuit design, as well as their superior performance and area over a general purpose microprocessor. However, the hardware design necessary to achieve this superior performance and area is very difficult to perform causing long design times and preventing wide-spread adoption of FPGA technology. The amount of hardware design can be reduced by employing a microprocessor for less-critical computation in the system. Often this microprocessor is implemented using the FPGA reprogrammable fabric as a soft processor which can preserve the benefits of a single-chip FPGA solution without specializing the device with dedicated hard processors. Current soft processors have simple architectures that provide performance adequate for only the least-critical computations. Our goal is to improve soft processors by scaling their performance and expanding their suitability to more critical computation. To this end we focus on the data parallelism found in many embedded applications and propose that soft processors be augmented with vector extensions to exploit this parallelism. We support this proposal through experimentation with a parameterized soft vector processor called VESPA (Vector Extended Soft Processor Architecture) which is designed, implemented, and evaluated on real FPGA hardware. The scalability of VESPA combined with several other architectural parameters can be used to finely span a large design space and derive a custom architecture for exactly matching the needs of an application. Such customization is a key advantage for soft processors since their architectures can be easily reconfigured by the end-user. Specifically, customizations can be made to the pipeline, functional units, and memory system within VESPA. In addition, general purpose overheads can be automatically eliminated from VESPA. Comparing VESPA to manual hardware design, we observe a 13x speed advantage for hardware over our fastest VESPA, though this is significantly less than the 500x speed advantage over scalar soft processors. The performance-per-area of VESPA is also observed to be significantly higher than a scalar soft processor suggesting that the addition of vector extensions makes more efficient use of silicon area for data parallel workloads.
author2 Rose, Jonathan S.
author_facet Rose, Jonathan S.
Yiannacouras, Peter
author Yiannacouras, Peter
author_sort Yiannacouras, Peter
title FPGA-based Soft Vector Processors
title_short FPGA-based Soft Vector Processors
title_full FPGA-based Soft Vector Processors
title_fullStr FPGA-based Soft Vector Processors
title_full_unstemmed FPGA-based Soft Vector Processors
title_sort fpga-based soft vector processors
publishDate 2009
url http://hdl.handle.net/1807/19114
work_keys_str_mv AT yiannacouraspeter fpgabasedsoftvectorprocessors
_version_ 1716613022721507328