百科问答小站 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的时间/成本也要超过软硬件技术演进。




  

相关话题

  自制PCI接口的数据采集卡需要啥技术? 
  北京深鉴科技基于FPGA平台的DPU架构如何? 
  为什么大部分中央处理器(CPU)不能直接对内存中的数据进行运算? 
  能同时用opencl和HDL来开发fpga吗? 
  如何看待赛灵思Xilinx收购Falcon Computing,以及Falcon主营业务的前景? 
  iPhone 7 为什么集成一颗 FPGA 芯片? 
  能同时用opencl和HDL来开发fpga吗? 
  使用目前 Altera/Xilinx 最新的 FPGA,其性能可以全速模拟 PS3 吗? 
  为什么在国家鼓励大力发展集成电路产业大背景下,数字芯片设计/验证,FPGA开发的实习岗位不是很多? 
  如何从头开始系统学习VHDL语言? 

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





© 2024-12-26 - tinynew.org. All Rights Reserved.
© 2024-12-26 - tinynew.org. 保留所有权利