OpenCL Implementation of FPGA-Based Signal Generation and Measurement

OpenCL Implementation of FPGA-Based Signal Generation and Measurement
复制标题

DOI:
10.1109/access.2019.2910391
复制
发表时间:
2019-04
期刊:
影响因子:
3.9
通讯作者:
Iman Firmansyah;Y. Yamaguchi
Iman Firmansyah;Y. Yamaguchi
中科院分区:
计算机科学3区
文献类型:
--
作者:
Iman Firmansyah;Y. Yamaguchi

文献摘要

相似文献

信号生成和测量已广泛应用于许多工程应用中,例如用于在雷达、通信和软件定义无线电中创建测试信号。在现场可编程门阵列(FPGA)设计中,为了产生和测量模拟信号,需要兼容的软件和硬件接口。传统上,需要硬件描述语言(HDL)来对FPGA进行编程。HDL编程提供了具有低延迟的高效逻辑资源。然而,对于更复杂的设计来说,这是耗时的。目前,OpenCL用于FPGA编程。OpenCL减少了FPGA开发时间,因为它增加了代码的抽象级别。OpenCL是一个开放且免版税的框架,用于加速在异构系统(如GPU,CPU,DSP或FPGA)上执行的算法。OpenCL在FPGA上的实现为计算过程提供了高性能的结果。然而,与HDL设计相比,OpenCL不提供直接访问FPGA硬件的特定功能。在本文中,我们已经证明了在FPGA上的信号产生和测量的OpenCL编程的实施。我们开发了可以直接与FPGA硬件交互的OpenCL组件。内核中采用OpenCL I/O通道扩展来从OpenCL组件读取数据和向OpenCL组件写入数据。实验结果表明,OpenCL可用于FPGA的信号测量和产生。
Signal generation and measurement have been widely used in many engineering applications, such as for creating test signals in radar, communication, and software-defined radio. In field programmable gate array (FPGA) design, to generate and measure an analog signal, compatible software and hardware interfaces are required. Traditionally, hardware description language (HDL) is required to program an FPGA. HDL programming provides an efficient logic resource with low latency. However, it is time-consuming for designs that are more complex. Currently, OpenCL is implemented for FPGA programming. OpenCL reduces the FPGA development time because it increases the abstraction level of the code. OpenCL is an open and royalty-free framework for accelerating the algorithm executed on a heterogeneous system, such as a GPU, CPU, DSP, or FPGA. OpenCL implementation on FPGAs yields high-performance results for the computation process. However, compared to HDL design, OpenCL does not provide a particular function to access the FPGA hardware directly. In this paper, we have demonstrated the implementation of OpenCL programming on an FPGA for signal generation and measurement. We have developed OpenCL components that can interact with the FPGA hardware directly. An OpenCL I/O channel extension is employed in the kernel to read data from and write data to the OpenCL components. The experimental results indicate that OpenCL can be used for signal measurement and generation using FPGAs.