Title :
High-Level Description and Synthesis of Floating-Point Accumulators on FPGA
Author :
Daigneault, Marc-Andre ; David, Jean Pierre
Author_Institution :
Dept. of Electr. Eng., Ecole Polytech. de Montral, Montreal, QC, Canada
Abstract :
Decades of research in the field of high level hardware description now result in tools that are able to automatically transform C/C++ constructs into highly optimized parallel and pipelined architectures. Such approaches work fine when the control flow is a priory known since the computation results in a large dataflow graph that can be mapped into the available operators. Nevertheless, some applications have a control flow that is highly dependant on the data. This paper focuses on the hardware implementation of such applications and presents a high level synthesis methodology applied to a Hardware Description Language (HDL) in which assignments correspond to self-synchronized connections between predefined data streaming sources and sinks. A data transfer occurs over an established connection when both source and sink are ready, according to their synchronization interfaces. Founded on a high-level communicating FSM programming model, the language allows the user to describe and dynamically modify streaming architectures exploiting spatial and temporal parallelism. Our compiler attempts to maximize the number of transfers at each clock cycle and automatically fixes the potential combinatorial loops induced by the dynamic connection of dependant sources and sinks. The methodology is applied to the synthesis of a pipelined floating point accumulator using the Delayed-Buffering (DB) reduction method. The results we obtain are similar to state-of-the-art dedicated architectures but require much less design time and expertise.
Keywords :
C++ language; field programmable gate arrays; fixed point arithmetic; floating point arithmetic; hardware description languages; high level synthesis; parallel architectures; pipeline arithmetic; synchronisation; C construct; C++ construct; DB reduction method; FPGA; HDL; combinatorial loop; compiler; control flow; data sink; data streaming source; data transfer; dataflow graph; delayed-buffering reduction method; field programmable gate array; floating-point accumulator; hardware description language; high level hardware description; high-level communicating FSM programming model; high-level synthesis; parallel architecture; pipelined architecture; pipelined floating point accumulator; spatial parallelism; synchronization interface; temporal parallelism; Adders; Computer architecture; Data transfer; Field programmable gate arrays; Hardware; Hardware design languages; Synchronization; control-oriented architectures; hardware description language; high-level synthesis; streaming data interface;
Conference_Titel :
Field-Programmable Custom Computing Machines (FCCM), 2013 IEEE 21st Annual International Symposium on
Conference_Location :
Seattle, WA
Print_ISBN :
978-1-4673-6005-0
DOI :
10.1109/FCCM.2013.37