OpenHEC: A Framework for Application Programmers to Design FPGA-based   Systems
  Today, there is a trend to incorporate more intelligence (e.g., vision capabilities) into a wide range of devices, which makes high performance a necessity for computing systems. Furthermore, for embedded systems, low power consumption should be generally considered together with high computing performance. FPGAs, as programmable logic devices able to support different types of fine-grained parallelisms, their power and performance advantages were recognized widely. However, designing applications on FPGA-based systems is traditionally far from a task can be carried out by software programmers. Generally, hardware engineers and even system-level software engineers have more hardware/architectural knowledge but fewer algorithm and application knowledge. Thus, it is critical for computing systems to allow application-level programmers to realize their idea conveniently, which is popular in computing systems based on the general processor. In this paper, the OpenHEC (Open Framework for High-Efficiency Computing) framework is proposed to provide a design framework for application-level software programmers to use FPGA-based platforms. It frees users from hardware and architectural details to let them focus more on algorithms/applications. This framework was integrated with the commercial Xilinx ISE/Vivado to make it to be used immediately. After implementing a widely-used feature detection algorithm on OpenHEC from the perspective of software programmers, it shows this framework is applicable for application programmers with little hardware knowledge. 
Zhilei Chai, Zhibin Wang, Wenmin Yang, Shuai Ding, Yuanpu Zhang
cs.OH