集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 1162|回复: 6

快速简单的FPGA异构计算

[复制链接]
zxopenljx 发表于 2020-6-23 09:37:02 | 显示全部楼层 |阅读模式
基于传统 的 FPGA 开发
复杂系统,需要使用有限状态机(FSM),一般就需要设计下图包含的三部分逻辑:组合电路,时序电路,输出逻辑。通过组合逻辑获取下一个状态是什么,时序逻辑用于存储当前状态,输出逻辑混合组合、时序电路,得到最终输出结果。

然后,针对具体算法,设计逻辑在状态机中的流转过程:

传统的 RTL 设计,对于程序员简直就是噩梦啊,梦啊,啊~~~工具链完全不同,开发思路完全不同,还要分析时序,一个 Clock 节拍不对,就要推翻重来,重新验证,一切都显得太底层,不是很方便。那么,这些就交给专业的 FPGAer 吧,下面介绍的 OpenCL 开发 FPGA,有点像 25 岁的 Linux 了。有了高层次的抽象。用起来自然也会更加方便。

基于 OpenCL 的 FPGA 开发
OpenCL 对于 FPGA 开发,注入了新鲜的血液,一种面向异构系统的编程语言,将 FPGA 最为异构实现的一种可选设备。由 CPU Host 端控制整个程序的执行流程,FPGA Device 端则作为异构加速的一种方式。异构架构,有助于解放 CPU,将 CPU 不擅长的处理方式,下发到 Device 端处理。目前典型的异构 Device 有:GPU、Intel Phi、FPGA。

OpenCL 是一个用于异构平台编程的框架,主要的异构设备有 CPU、GPU、DSP、FPGA 以及一些其它的硬件加速器。OpenCL 基于 C99 来开发设备端代码,并且提供了相应的 API 可以调用。OpenCL 提供了标准的并行计算的接口,以支持任务并行和数据并行的计算方式。

小结
从上述的开发流程,OpenCL 大大的解放了 FPGAer 的开发周期,并且对于软件开发者,也比较容易上手。这是他的优势,但是目前开发过程中,还是存在一些问题,如:编译器优化不足,相比 RTL 写的性能存在差距;编译到 Device 端时间太长。不过这些随着行业的发展,一定会慢慢的进步。

zhangyukun 发表于 2020-6-23 15:56:26 | 显示全部楼层
快速简单的FPGA异构计算

点评

海!外直播 bitly.net/iiig 禁闻视频 bitly.net/vvvgg 国际上完全孤立,臭名昭著;国内贪官横行,流氓成性;富人恐惧,争相移民;文人折腰,见风使舵;只剩互联网上那仅存的一丝火焰,为未来,为后代,在顽强的呐喊..  发表于 2023-10-9 04:15
海!外直播 bitly.net/m6mm 禁闻视频 bitly.net/4qqqq 医院成了屠宰场;学校成了洗脑班;酒店成了办公处;道德成了奢侈品;人民成了提款机;新闻成了编故事;官员成了奴隶主;国家成了大监狱…中国真实现状  发表于 2023-10-8 21:48
hellokity 发表于 2020-6-23 17:00:05 | 显示全部楼层
快速简单的FPGA异构计算
 楼主| zxopenljx 发表于 2023-10-8 17:20:52 | 显示全部楼层
快速简单的FPGA异构计算
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|集成电路技术分享 ( 京ICP备20003123号-1 )

GMT+8, 2024-6-28 08:26 , Processed in 0.066428 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表