Research Article

Translating Timing into an Architecture: The Synergy of COTSon and HLS (Domain Expertise—Designing a Computer Architecture via HLS)

Table 1

Key features of discussed HLS tools.

ToolOwnerLicenseInputOutputDomainTestbenchSW/HWSimulationFloating pointFixed point

LegUp [27]LegUp computingCommercialC, C++VerilogAllYesYesHWYesNo
Bambu [28]Politecnico di MilanoAcademicCVHDL, VerilogAllYesYesSW, HWYesNo
GAUT [29]U. Bretagne sudAcademicC, C++VHDL, SystemCDSPYesNoHWNoYes
DWARV [30]TU delftAcademicCVHDLAllYesYesHWYesYes
Stratus HLS [31]CadenceCommercialC, C++, SystemCC, C++, SystemCAllYesYesSW, HWYesYes
Intel HLS compiler [32]IntelCommercialC, C++,VerilogAllNoNoSW, HWYesYes
Vivado HLS [18]XilinxCommercialC, C++, OpenCL, SystemCVHDL, Verilog, SystemCAllYesNoSW, HWYesYes
SDSoC [33]XilinxCommercialC, C++VHDL, VerilogAllNoYesSW, HWYesYes
SDAccel [34]XilinxCommercialC, C++, OpenCLVHDL, Verilog, SystemVerilogAllYesYesSW, HWYesYes

For the nonobvious columns, Testbench means the capability of automatic testbench generation. SW/HW means the support for the software/hardware co-design environment. Floating Point and Fixed Point are the supported data types for the arithmetic operations.