为什么FPGA适合做高速处理?个人看法~~
我在我的同学面前炫耀FPGA是做高速处理的,可是,当人家问我,我的时钟频率能达到多少时,我说利用PLL能拉到200MHz,他说,这么低啊?我的手机频率都是1.5G的呢。我无语。。。
后来才了解到,他的1.5G要想完成一个运算的话,因为是串行处理,所以要n个时钟周期啊,而FPGA虽然起点(时钟频率慢),可是通过并行,处理数据的能力极大提高。
就好比背粮食。
一个长跑冠军和一群普通人背,长跑冠军跑得再快,也是一个人啊,而FPGA可以造出n个普通人,一起并行奔跑,最终的粮食总量不知道是长跑冠军的多少倍呢。
我也是不是很明白,在网上找了一下,表示深有感触,发了一个帖子,不对地方还请指正啊。。。 顶~~看完了给个评论啊?
怎么都不说说啊?
难道是我这个问题太RZ了?
菜鸟求指教啊~~ 其实包括出的那些书,应该以通俗的语言先给大家介绍一下,结果上来就内部结构,寄存器.................. 指令,弄得初学者昏头转向的....................没必要 不友好 所以说,有时候老外写的书比国内出版的书容易懂,虽然人家用英文表达但是容易理解;而国内的书里面用很多专业名词去解释另外一个专业名词,或者纯粹翻译器件手册,很不靠谱啊。 lz你自己不是说清楚了吗,就是并行啊;高速是指信号处理速度,不是指pll频率啊;比如fpga可以很随便就搞个100路的高速PWM,cpu来作就比较费解了可能还做不了 帮顶 其实这也是硬件完成和软件完成的区别 灵活。 Everything is relative. FPGA最大特点是可以并行处理 用在电脑形容 就是 N核CPU 只要FPGA闸数够跟你的架构容许的话 挺浅显的道理
与门的时钟算多少? 它的速度有多快? 以后炫耀前多做功课哈哈 ........ 可以做分布式算法 主要是并行处理。 更通俗点说 ,FPGA就像 MCU 里外设触发外设. 那么谁能用通俗的语言再给我们补充一下,
为什么FPGA适合做高速处理?
FPGA超越了DSP吗?
另外具体的哪个公司的哪个项目用到FPGA,
我们日常生活中的哪个产品用到FPGA啊? 回复【15楼】xtqxtq111
-----------------------------------------------------------------------
目前的 TI C2000 DSP 越来越趋向专用集成电路了 , 内部的架构为了实现实时处理电机的反馈信号,
数据不通过CPU了 ,电流闭环: timer 触发 ADC ,ADC 数字比较 触发 PWM .
当目前市面上设计的DSP 或者 ASIC 已经无法满足您设计需求的时候 , FPGA就登场了. FPGA和DSP本来就不是一个层面上的东西。
用FPGA实现数字信号处理等于自己写一个专门的DSP内核,专用 vs 通用。
回复【15楼】xtqxtq111
-----------------------------------------------------------------------
高速你是指工作频率高,延迟低,吞吐量大?考虑一下就明白了。
FPGA超越了DSP,因为DSP芯片的设计就是能够用FPGA验证的,不是一层的东西。
用到FPGA的项目和地方多了去了,但是消费电子不会用这个,功耗,成本都和ASIC/批量处理器,不可比。 fpga
到底市面上什么产品在用??
我见过最多的就是 示波器上用到 fpga的。其他 还有 电信级别的主交换机用到fpga。其他消费电子和工业控制没有看到过 fpga 明年给你们看一个,我用在工业控制上了。 回复【18楼】rei1984
-----------------------------------------------------------------------
我们公司几乎所有产品上都有FPGA,很多不止一个。
当市面上的IC都不满足你需求的时候,或者价格,或者计算能力和延时,或者IO……
你就可以考虑FPGA啦。 http://cache.amobbs.com/bbs_upload782111/files_50/ourdev_710530FCL9R1.jpg
运动控制卡 (原文件名:rt.jpg)这个不是我做的
A3P250 回复【15楼】xtqxtq111
那么谁能用通俗的语言再给我们补充一下,
为什么fpga适合做高速处理?
fpga超越了dsp吗?
另外具体的哪个公司的哪个项目用到fpga,
我们日常生活中的哪个产品用到fpga啊?
-----------------------------------------------------------------------
同样期待能有大侠总结一下./emotion/em025.gif 学过数字电路应该都明白为什么吧 回复【楼主位】xtqxtq111
后来才了解到,他的1.5g要想完成一个运算的话,因为是串行处理,所以要n个时钟周期啊,而fpga虽然起点(时钟频率慢),可是通过并行,处理数据的能力极大提高。
-----------------------------------------------------------------------
错误!!FPGA 也一样(比如排序或FFT FPGA 能一个周期吗?)
FPGA 速度本来就没有比MASK CPU 快
FPGA是以特殊架构的资料处理量取胜. 回复【24楼】j-link
-----------------------------------------------------------------------
嗯嗯,FPGA速度并不是快,比起dsp来,也不特别高速处理,关键的地方就是fpga灵活,能配置成各种各样的器件,能把好多个器件的功能集中在一块芯片上。开发人给它的处理逻辑,它才有处理能力。DSP没有几十G的数据地址总线,但FPGA可以配置出来。总之,FGPA是灵活的东西。 回复【15楼】xtqxtq111
那么谁能用通俗的语言再给我们补充一下,
为什么fpga适合做高速处理?
fpga超越了dsp吗?
另外具体的哪个公司的哪个项目用到fpga,
我们日常生活中的哪个产品用到fpga啊?
-----------------------------------------------------------------------
消费类的东西价格敏感,所以在日常生活中用FPGA还不现实
目前手机基站的信号处理板卡普遍采用了FPGA作为主要部件之一,算是离一般人最近的应用了吧
套用那句广告词:你看不见他,他就在为你服务 回复【25楼】heicnhei1
-----------------------------------------------------------------------
哦,那你说说最快的芯片是什么?难道是电脑内核?酷睿之类的?
就是说目前最快的芯片是什么? 比如对称16阶FIR滤波器,用8个乘法器,12个加法器。采样20MHz数据输入同时,数据也在20MHz处理输出,但是对于只有一个处理器的DSP,想在每50ns内处理8次乘法12次加法,可以想象多么难,数据还要再写入存储器。从这方面,FPGA完胜DSP 额,是这样的吗?
虽然我不懂dsp,可我知道有并行的dsp,网上搜并行dsp有一大堆呢,
对不对啊?
能告诉我fpga在高速领域的具体实例吗? 回复【29楼】xtqxtq111
-----------------------------------------------------------------------
FPGA一般是不是都会配合DSP啊,我见很多DSP旁边都有一个FPGA 我用FPGA做过串行LED灯光控制器,要求8路同时控制,单片机就做不了了。
其实FPGA最大的优点是灵活,可以配制各种所需的硬件资源,包括MCU,DSP,单片机等等。
而且现在的FPGA已经内嵌DSP,ARM等硬核资源,甚至AD和DA,集成度更高,向着SOC化的趋势发展了。 回复【29楼】xtqxtq111
额,是这样的吗?
虽然我不懂dsp,可我知道有并行的dsp,网上搜并行dsp有一大堆呢,
对不对啊?
能告诉我fpga在高速领域的具体实例吗?
-----------------------------------------------------------------------
上面说了,DSP的大量并行计算和IO吞吐能力不如FPGA
DSP的乘法器资源是比较有限的,加上是处理器大多单线程操作,做大量吞吐量的并行计算远不如FPGA方便 拿手机主频鄙视别人的人,不要抱什么希望叫他明白他根本不关心的东西
可编程逻辑也不是什么好东西 FPGA 是能做高速,如果做一颗 USB2.0 或 SDIO 全速能办的到吗?
如果真的能办到,市场能接受价格吗?
我认为目前实际上的FPGA只能省下 PCB 大小及取代TTL,至于 DSP 处理后的资料最后还是传给CPU处理,浪费通讯时间~~~ fpga快不快要看场合的,比如我运送沙子,一百条马路我用牛车拉也比用汽车跑一条马路来的快,但是如果我要运一头大象,总不可能把大象劈开一百份用牛车运,这时汽车明显要快!
回复【29楼】xtqxtq111
-----------------------------------------------------------------------
示波器是个很好的例子,通常使用多片高速adc并行分时采样模拟更高速的adc,对于fpga来说多片高速adc压力不大,但是用dsp处理这样的数据是很恐怖的。fpga比较适合高带宽低复杂度的算法,常应用于系统前端,dsp更适合后端低带宽高复杂度算法的处理! 回复【35楼】nono2000
fpga 是能做高速,如果做一颗 usb2.0 或 sdio 全速能办的到吗?
如果真的能办到,市场能接受价格吗?
我认为目前实际上的fpga只能省下 pcb 大小及取代ttl,至于 dsp 处理后的资料最后还是传给cpu处理,浪费通讯时间~~~
-----------------------------------------------------------------------
现在低端FPGA的普通IO速度都不止1GHz了 当初想自己玩玩FPGA,可一看这么一大堆脚密密麻麻的,唉,我手笨玩不转,之前48P的STM32手工用0.12的漆包线都飞2天,FPGA看见手的发抖,此物不宜DIY *_*! 我角得吧,FPGA,它终究是个硬件--跑软核的不说,那个就是个FPGA实现的CPU了。HDL,一种用高级语言造硬件的东西。HDL造出来还是一堆门啊,触发器之类的集合。
DSP,它是个专用的跑软件的东西。
这是个软件VS硬件的较量
谁也不能替代谁,你说电脑的南北桥能用DSP/CPU实现吗?要是PC产量不够,估计南北桥得用FPGA做而不会有专用芯片,当年龙芯平台某个桥貌似就是FPGA的。还有很多高速简单的处理,比如数十G的收发器,会把DSP工程师写到吐血的。
很多高复杂度的算法FPGA实现还是非常困难,不过现在已经有软件功能硬件化的趋势了,语音视频编码都有人在用FPGA实现了。
我真正纠结的是,如果产品上量了,还会用FPGA吗?他们会弄个专用片子么。不过想想那么多有量的产品也在用单片机,而没有弄个专用芯片来搞,感觉FPGA还是有很大空间存在的。 回复【39楼】albert_w
我角得吧,fpga,它终究是个硬件--跑软核的不说,那个就是个fpga实现的cpu了。hdl,一种用高级语言造硬件的东西。hdl造出来还是一堆门啊,触发器之类的集合。
dsp,它是个专用的跑软件的东西。
这是个软件vs硬件的较量
谁也不能替代谁,你说电脑的南北桥能用dsp/cpu实现吗?要是pc产量不够,估计南北桥得用fpga做而不会有专用芯片,当年龙芯平台某个桥貌似就是fpga的。还有很多高速简单的处理,比如数十g的收发器,会把dsp工程师写到吐血的。
很多高复杂度的算法fpga实现还是非常困难,不过现在已经有软件功能硬件化的趋势了,语音视频编码都有人在用fpga实现了。
我真正纠结的是,如果产品上量了,还会用fpga吗?他们会弄个专用片子么。不过想想那么多有量的产品也在用单片机,而没有弄个专用芯片来搞,感觉fpga还是有很大空间存在的。
-----------------------------------------------------------------------
有一定复杂程度、定制化的产品,基本上只能用有灵活性的芯片来主打,在一定程度上能降低市场风险
专业领域,手机基站普遍使用FPGA是个非常典型的例子
手机基站那么大的量,如果换成专用芯片,还是能节约不少物料成本,并降低功耗的
问题是,一旦标准改了、升级了,那些板子就得全部废掉,重新设计、测试,系统成本就上去了 这个帖子看了好多次了,忍不住近来罗嗦几句:
1、数字信号处理主要的功能可以分为两类,一类是滤波,比如FIR,一类是变换,比如FFT,而这两类运算又可以分解为基本的乘加运算;注意,是乘加,而不是乘法和加法,在FPGA和DSP中,乘加是可以在一个时钟周期内完成的;这是DSP和FPGA区别于通用处理器的特征之一。
2、运算单元,FPGA可以包含成百上千个乘法器,DSP一般有2到4个乘法器,而通用处理器一般是ALU+FPU;DSP有专门的外部总线结构支持多片并行处理系统,通用处理器一般没有;
3、DSP也有ALU,但DSP区别于通用处理器的地方在于,其乘法运算器可以在一个周期内完成乘加运算,特殊的多总线结构,地址空间和数据空间独立寻址(超哈佛结构),特殊的地址产生单元(FFT蝶形流图/FIR);
4、其他高性能处理器也可以用于高速信号处理:MPC/PPC,GPGPU,BE(Cell)
关于时钟周期、指令周期、流水线等概念就不赘述了; mark 比如,我们要做128路的AD采集设备,每通道最大采样率100k,任何cpu也是无法胜任的,SPI接口数量,等等无法满足要求
而FPGA灵活性强,可以配置128路SPI(时钟数据两根线就够了),处理起来非常方便灵活 回复【35楼】nono2000
-----------------------------------------------------------------------
用fpga处理usb不是犯傻就是犯贱,有这么多的usbic,非得用FPGA,如果你有量,而且有现成的IC,用FPGA都不靠谱,特别是通用,民用领域,没人会用FPGA的。
dsp如果不处理,你打算用什么速度接收? 回复【30楼】yandalyf
-----------------------------------------------------------------------
我是没用过,都是FPGA独立完成的,我做的东西不多啊, 这个帖子,我得经常看看,一直还接受不了这么多。。。 串并行计算的所占比例问题,
这个可以简单看一下阿姆达尔定律(虽然比较落后),这也是世界性难题,如何尽可能多的转换成并行计算。。。 http://www.21ic.com/wz/CRXDQWHFA/20111204/20111204.htm 用FPGA不怕PCB画错, 这就是我的感觉。 并行计算不是FPGA的强项,那是GPU的主场。FPGA主要是并行信号领域比较牛叉。 首先,楼主只是个初学者,基本的概念还很模糊。建议不要为了炫耀而学技术,为爱好可以理解,为糊口可以理解,为炫耀就没有价值了。
新东西都是在老东西的基础上产生的,一般说来只有时代差异,但没有太大的级别差异。电子行业中的新技术其实不过是商业规模化而已,不用过多在意。
脚踏实地,先学好手边的再说。 很形像的比喻,赞同。 回复【楼主位】xtqxtq111
-----------------------------------------------------------------------
有一点一样的感觉!! 呵呵,学了不少东西 回复【36楼】rx_78gp02a
-----------------------------------------------------------------------
嗯 说的很对啊 CPU 处理有 取指 执行还有n及流水线 等等复杂的操作,
主频高 但是实际处理运算却要打很大的折扣
FPGA 可以并行进行,一个指令周期搞定。。。。。。
综合算起来 对于可以并行进行的运算 还是FPGA更快 FPGA最大的优势在于并行处理,且时序严谨,单纯说速度的话不算长项吧 大多数数控系统都采用ARM+FPGA方案。 本帖最后由 wuhuijiang 于 2018-12-14 23:19 编辑
同感,这也是开发CPU运行的程序与在FPGA上运行的思想的不同点。
CPU上的并行(多线程,多进程)实际上还是串行进行的。最多就是多核CPU。有几个CPU。就可以最大并行几路。 这个答案确实不太高明……
还有一个很重要的一点,FPGA可以针对专门的应用做专门优化的算法实现。
想想所谓的硬件解码和软件解码。 FPGA最常见的编程就是类switch+step,日常逻辑还是得一步一步来呀
页:
[1]