百科问答小站 logo
百科问答小站 font logo



能同时用opencl和HDL来开发fpga吗? 第1页

  

user avatar   zhangshujia 网友的相关建议: 
      

Xilinx/Altera的OpenCL都是提供了一个基本框架,将自己写的OpenCL Kernel编译成RTL模块,放入这个基本框架里。而后进行synthesis,再下载到板子里。过程中也是先生成RTL,然后再由FPGA的综合器map成电路。

普遍的OpenCL下面调用的还是HLS,C++综合,看似效率高(驱动,各种硬件接口,DMA,全部基础模块都现成的,很容易写出一个能跑的硬件Demo),但是实际工程中会有更多约束,比如想加个自定义的配置寄存器,调试寄存器就不方便,要修改它们的驱动(比如直接调用pcie_wr和pcie_rd 函数),以及调试寄存器所需的读写返回时间太久,代码效率并不高。此外也担心在复杂代码下,是不是编译器都能优化的搞定,很多时候HLS->RTL一方面效率低,一方面代码不能用,再次手动调试/重写的代价很高。【同时缅怀一下老RTL工程师作为人肉综合器的岁月】

另外,HLS对做算法的工程师要求太高,须时刻考虑硬件的实现难易。所以,除非有大量的手调准确的例程和标准IP可供调用,否则感觉HLS在实际工程中的优势不大。HLS经过十数年的发展,最近的趋势是把“有效利用片上和片外各类存储单元”作为研究热点了,目前虽然看到诸如AutoPilot、OpenCL SDK等FPGA HLS商业化成功的案例出现,但距离其完全替代人工RTL建模还有很长的路,在这个方向,丛京生老师奋斗20年+了,但每当硬件平台升级、高层语言版本更新、某个math lib更新等,当前HLS开发就要失效了,再次调试/重写代码所花费的时间和成本代价很大,再更新一版HLS的时间/成本也要超过软硬件技术演进。




  

相关话题

  在 CPU 中集成 FPGA 等可编程电路的想法如何? 
  如何看待xilinx提出的all progarmable 的概念? 
  为什么CPU主频一般都比FPGA快,但是却说FPGA可以帮助CPU加速? 
  如何看待京微雅格的倒闭? 
  为什么ASIC的频率可以达到GHz,而FPGA只能达到几百MHz? 
  为什么大部分中央处理器(CPU)不能直接对内存中的数据进行运算? 
  能同时用opencl和HDL来开发fpga吗? 
  为什么最近几年 FPGA 变得越发受大家重视了? 
  Verilog 有什么奇技淫巧? 
  FPGA是万能芯片,那为什么还有那么多芯片公司,那么多型号的芯片? 

前一个讨论
Y Combinator 喜欢什么样的创业者?
下一个讨论
如何评价白宫的美国史上最壕发钱计划(2万亿美刀,成人1200刀,儿童500刀)?





© 2024-09-20 - tinynew.org. All Rights Reserved.
© 2024-09-20 - tinynew.org. 保留所有权利