打印

如何使用FPGA进行加速?

[复制链接]
3219|28
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jakfens|  楼主 | 2011-11-14 17:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
GoldSunMonkey| | 2011-11-14 17:16 | 只看该作者
:)这个问题太大了。

使用特权

评论回复
板凳
jakfens|  楼主 | 2011-11-14 17:20 | 只看该作者
就加个速哦

使用特权

评论回复
地板
GoldSunMonkey| | 2011-11-14 17:22 | 只看该作者
:)就做个iphone, 太大了。

使用特权

评论回复
5
明空| | 2011-11-14 17:57 | 只看该作者
其实嘛,最耗时的工作交给FPGA去做,这不就是加速了吗

使用特权

评论回复
6
GoldSunMonkey| | 2011-11-14 20:28 | 只看该作者
:)

使用特权

评论回复
7
jakfens|  楼主 | 2011-11-15 08:09 | 只看该作者
:D

使用特权

评论回复
8
AutoESL| | 2011-11-15 09:27 | 只看该作者
很简单啊,比如有个算法A,用CPU处理需要很长时间,那就用FPGA硬件来处理,然后把结果返回给CPU就可以了,这就是加速.

使用特权

评论回复
9
AutoESL| | 2011-11-15 09:28 | 只看该作者
另外,处理器通常也有个浮点协处理器,也是用来加速的,你就把FPGA当作浮点协处理器,这样FPGA就是加速器了

使用特权

评论回复
10
GoldSunMonkey| | 2011-11-15 09:35 | 只看该作者
很简单啊,比如有个算法A,用CPU处理需要很长时间,那就用FPGA硬件来处理,然后把结果返回给CPU就可以了,这就是加速.
AutoESL 发表于 2011-11-15 09:27

哈哈,这个思路很清晰

使用特权

评论回复
11
GoldSunMonkey| | 2011-11-15 09:35 | 只看该作者
另外,处理器通常也有个浮点协处理器,也是用来加速的,你就把FPGA当作浮点协处理器,这样FPGA就是加速器了
AutoESL 发表于 2011-11-15 09:28

这个和DMA很像啊

使用特权

评论回复
12
jakfens|  楼主 | 2011-11-15 09:54 | 只看该作者
MCU又称为单片机,它为8位的微控制器,主要用在工业控制,FPGA则为可编程逻辑器件的一种,拥有丰富的硬件资源,可实现强大的逻辑功能,由于其硬件重构的特性,适合各种领域的应用; MCU的编程语言主要为C语言,以软逻辑实现,它通过顺序执行指令来实现特定功能,避免不了低速的缺点,相比之下,FPGA它以Verilog或VHDL等硬件描述语言为编程语言,由于直接由硬件实现逻辑,所以它并行执行,从而使速度大大提高; MCU的这种同一时间只能处理一条指令的特点也影响了它的应用,它只能用于一些算法的设计及简单的控制,而FPGA由于并行执行的特性,大量应用于复杂逻辑控制以及大量的数据运算和处理。


FPGA是在PAL、GAL、CPLD等可编程器件的基础上一步一步发展起来的。PAL是与阵列可编程或阵列固定,它的缺点是:采用熔丝工艺,只能一次编程,并且它的输出是固定的,不能编程;也就是说芯片一旦选定,输出结构将不可改变。GAL是在PAL的基础上发展起来的,可以重复编程。与PAL的最大区别是:输出结构可以由用户自己定义。但它结构简单,I/O数目有限。 CPLD是在GAL的基础上发展起来的。它主要由输入输出控制单元、宏单元和互连矩阵等组成。随着电子市场对功能要求的不断提高,CPLD越来越不能满足市场的需求。它最大只有512个宏单元,大部分是组合逻辑,难以实现复杂的时序逻辑设计,并且功耗很大。随着工艺的发展,FPGA登上了历史舞台并成为主角,它内部资源丰富,不管是时序逻辑还是组合逻辑都很多。它是作为专用集成电路领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。

使用特权

评论回复
13
jakfens|  楼主 | 2011-11-15 09:55 | 只看该作者
恩恩 各位大神都很强大啊

使用特权

评论回复
14
jakfens|  楼主 | 2011-11-15 10:02 | 只看该作者
有没有什么简单的代码例子啊??参观一下

使用特权

评论回复
15
GoldSunMonkey| | 2011-11-15 10:31 | 只看该作者
:)我没有

使用特权

评论回复
16
lelee007| | 2011-11-15 10:31 | 只看该作者
;P

使用特权

评论回复
17
lelee007| | 2011-11-15 10:32 | 只看该作者
哥是来学习滴:victory:

使用特权

评论回复
18
jakfens|  楼主 | 2011-11-15 10:46 | 只看该作者
:dizzy:

使用特权

评论回复
19
z_no1| | 2011-11-15 10:48 | 只看该作者
比如说矩阵的位旋转,不管你是4位机,8位机,还是32位,64位,都得1位1位的算,如果用FPGA,做两个寄存器阵列,这边送,那边出,流水线操作,快得一塌糊涂。如果你玩过STM32,你就知道它带CRC32的硬件,啥移位,查表都不用,白的进去,红的出来,哦不是,是数据进去,结果出来。FPGA就是可编程硬件嘛。啥架构速度优化也优化不过硬线逻辑+流水线。这个是算法的终极速度了。当然了硬线逻辑+流水线是这里面最不灵活的方案了。

使用特权

评论回复
20
jakfens|  楼主 | 2011-11-15 10:50 | 只看该作者
哈哈 受教了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:鄙视电工就是鄙视全人类的智慧;抛弃电子就是毁灭文明,人类将回到刀割火种的时代

30

主题

1865

帖子

2

粉丝