8.1 Introduction
-
A comprehensive design flow guiding the designer from the initial software to the final implementation to a high performance FPGA-based system.
-
Well-defined Application Programming Interfaces (APIs) and an infrastructure allowing researchers to integrate and test their own modules within CAOS.
-
A general method for translating high-level functions into FPGA-accelerated kernels by matching software functions to appropriate architectural templates.
-
Support for three different architectural templates allowing to target software functions with different characteristics within CAOS.
8.2 The CAOS Platform
8.2.1 CAOS Design Flow
8.2.2 CAOS Infrastructure
8.3 Architectural Templates
8.3.1 Master/Slave Architectural Template
8.3.2 Dataflow Architectural Template
8.3.3 Streaming Architectural Template
8.4 Experimental Results
Averaging points | Rerolling factor | Speedup w.r.t. CPU | Speedup w.r.t. [15] | Input bandwidth (MByte/s) | Output bandwidth (MByte/s) |
---|---|---|---|---|---|
30 | 4 | 118.4x | 1.23x | 1,767.64 | 196.40 |
780 | 98 | 101.0x | 0.5x | 75.11 | 8.35 |