【问题标题】:What can I use for developing on FPGA (Virtex): C, C++, OpenCL, MPI? [closed]我可以用什么在 FPGA (Virtex) 上进行开发:C、C++、OpenCL、MPI? [关闭]
【发布时间】:2013-09-15 02:08:11
【问题描述】:

【问题讨论】:

  • 我认为您必须使用 System Verilog 或类似的东西。 “编译”到FPGA和编译C++不一样(架构不同)。
  • 如果您有 Verilog/VHDL 在您的 FPGA 中生成处理器,并且该处理器有 C 或 C++ 编译器,我不明白您为什么不能使用 C 或 C++,如果环境提供了运行它的资源,也可能还有 OpenCL 或 MPI。但 FPGA 本身是使用某种“硬件描述语言”生产的。
  • @Synxis 但是,我遇到了很多描述如何将 C、OpenCL 和 MPI 用于 FPGA 的文献。有人用过 MPI 的 FPGA 吗?

标签: c++ c opencl mpi fpga


【解决方案1】:

FPGA 只是一个大的可配置电路,为它开发是创建一个程序,该程序被“编译”成一个巨大的地图,说明晶体管和其他低级组件的配置方式。它与普通 CPU 甚至 GPU 有着根本的不同:​​它在非常低的水平上实现了大规模并行。

对此类板进行编程需要另一种思维方式。主要有两种策略:

  • 使用 System Verilog 或其他 HDL(硬件描述语言)进行开发,
  • 使用 SystemC 或其他允许您将 C/C++ 用于 FPGA 的包装器(优化程度会降低)

通常情况下,开发板应附带一本手册,说明如何对其进行编程。

就个人而言,我从未将 OpenCL 与 FPGA 一起使用(但我将 CUDA 用于 GPGPU),所以我不知道它是如何工作的(但我认为你有一些开销,因为你必须模拟一些小型计算单位)。

【讨论】:

  • 非常感谢!有很多 C 到硬件的编译器 stackoverflow.com/questions/5603285/… 但是,这些编译器中哪些支持 Verilog5/7 Xilinx?正如这里所说,Altera 和 Xilinx 是否支持 OpenCL? stackoverflow.com/questions/5603285/…
  • 据我所知,FPGA 上的 OpenCL 系统已经比 C 运行得更好。Altera 确实已经支持将 OpenCL 编译到内核,Xilinx 宣布它也将成为可能。
  • 我只用 System Verilog 编写了一个 Altera 板,所以我不能真正帮助你使用 C 包装器。但是,请记住,即使使用这些包装器,您也必须有不同的想法。
猜你喜欢
  • 1970-01-01
  • 2010-10-19
  • 1970-01-01
  • 1970-01-01
  • 2012-06-27
  • 2018-10-22
  • 1970-01-01
  • 2012-10-22
  • 1970-01-01
相关资源
最近更新 更多