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




  

相关话题

  为什么在国家鼓励大力发展集成电路产业大背景下,数字芯片设计/验证,FPGA开发的实习岗位不是很多? 
  iPhone 7 为什么集成一颗 FPGA 芯片? 
  2019 年来看,逻辑芯片的技术发展如何,市场前景怎样? 
  IC设计从前端(比如verilog编写)到后端直至流片出来,完成这一整套流程要用到哪些具体工具?谢谢。 
  如何看待京微雅格的倒闭? 
  为什么ASIC的频率可以达到GHz,而FPGA只能达到几百MHz? 
  如何看待京微雅格的倒闭? 
  如何从头开始系统学习VHDL语言? 
  做 FPGA 创业容易被抄袭吗? 
  自制PCI接口的数据采集卡需要啥技术? 

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





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