FPGA和单片机的对比的疑惑?
刚学FPGA不久,看不到全貌,所以在这里问下大家:各种单片机类型的不同,寄存器那些就全都不一样,那么对于开发人员来说换单片机就需要换手册,重新掌握。
而FPGA的就不同了,基础的电路都一样,只要掌握了套路,那么后面变数不大。那是不是FPGA的工作会轻松点?
我自己对比了下两者的优缺点:
1、单片机在某些特殊的领域,比如蓝牙Soc、wifi Soc这些比FPGA有优势?
2、而FPGA在速度,并行这些方面有优势。
3、FPGA价格没有优势。
大家讨论下,其实我更想大家讨论下应用,技术不同就那几点。 单片机偏控制,fpga主要数字逻辑,各类通信编码,可以定制dsp功能 有些事需要绣花针做,有些需要大砍刀 albert.hu 发表于 2016-5-22 08:13
有些事需要绣花针做,有些需要大砍刀
有人舞大砍刀吃遍天下,有人拿绣花针三餐不饱 单片机就业面广,各个行业都能用上,成本在那管着。
FPGA一般只用在通信,音视频编解码,图像处理等方面,相对来讲,可选择的就业面不如单片机广。 说个不恰当的比方。如果买面粉的话,什么都可以做。那为啥还去买面包馒头呢? stdio 发表于 2016-5-22 09:40
说个不恰当的比方。如果买面粉的话,什么都可以做。那为啥还去买面包馒头呢? ...
精辟。 stdio 发表于 2016-5-22 09:40
说个不恰当的比方。如果买面粉的话,什么都可以做。那为啥还去买面包馒头呢? ...
精辟!!!!LZ学就是了,比较个两三年最终啥都没学到!!!! 相对来说,单片机比fpga要简单。
单片机速度慢,串行处理指令,定时器、AD、DA、PWM什么的功能都是现成的,你只要配置调用就行。相当于一堆乐高积木,你可以拼成不同的模型。
fpga速度快,各个模块可以并行运行,但多了很多单片机不需要关注的东西,例如时序,控制不好就不行。还有很多功能需要自己去编写,最简单的I2C、SPI等,都需要自己去写状态机。
当然,现在官方的IP越来越多,可以实现的功能也越来越强,可以不用工程师去关注那么多底层的东西,直接调用IP就行,但调用IP的代码还是比较复杂的,比单片机要复杂得多。
fpga主要运用在通信、图像处理,就业面要比单片机窄,但门槛高些,工资水平普遍比单片机要高,甚至高不少。 geit!! roasn 发表于 2016-5-22 10:53
相对来说,单片机比fpga要简单。
单片机速度慢,串行处理指令,定时器、AD、DA、PWM什么的功能都是现成的, ...
有没有一些职位会在单片机和FPGA一起玩的,我想去找找这种,以便可以过渡。 一般能用单片机实现的功能,成本方面,肯定不会用FPGA。如果功能需要,必须上FPGA,那基本不会再增加额外的单片机。所以我感觉,不会有同时是用这两芯片的单位 顺便补充下,我觉得FPGA适合做接口,时序等。但是由于FPGA内部浮点运算很复杂,所以如果想实现计算的功能,在FPGA旁边,还需要DSP计算,这样下来,成本肯定高,但是运算速度,比单片机快很多倍。楼主如果想比,FPGA+DSP的组合,我感觉就是一个很牛的单片机,这样理解吧 楼主这样比好像不在一层面了,单片机是控制的,应用容易多了,而FPGA那就是电路设计了,需要很强的逻辑思维才行,专业一点说,FPGA设计就如画电路,简单说就是在白纸上面画画 据说LED屏有两个都用的? 简单点说,fpga提供了一堆标准的零件,而单片机则是已经用零件搭好的机床。
你可以用机床很快做出想要的东西,也可以使用标准的零件做任意想要的机床,再用机床做任意想要的东西。 两者在不同域中,有不同之处,多种逻辑FPGA以电的速度,单片机只能按“拍”运行,速度两者就没可比性了,但对于大量的浮点运算或者大量的高级高数算法,单片机更容易做到。当然了如用IP核把FPGA当作单片机用,那就另当别论了! 我想学FPGA ,一直用单片机,没有经验,有没有好一点的开发板的。
zhubamboo03 发表于 2016-5-23 22:01
我想学FPGA ,一直用单片机,没有经验,有没有好一点的开发板的。
百元的FPGA开发板足够练手 目前来说,ARM价格越来越低,再加上半导体工艺的进步, 高性能低价格通用性好的arm 抢占了很多以前DSP,FPGA等芯片的地盘。
但是很多地方还是离不了FPGA的,最简单的比如高速或多路AD同时采集,或者视频输入输出。
高端的应用一般都是通用处理器ARM X86 PPC等加FPGA共同实现的,离了谁都不行。 楼主哪个学好都很厉害的。 NJ8888 发表于 2016-5-23 22:36
百元的FPGA开发板足够练手
谢哪,本来采用的是专用的IC采集编码器的IC,现在上面感到成本太高,要改成CPLD,可是我对他不熟,只能买块板回来先练练了。 后者专业 单片机,只要你写得出代码,它就可以实现。但是FPGA你写得出代码的,它不一定能实现,比如两个时钟的D触发器。两者的设计理念不一样,虽然用的编程语言感觉差不多,你做深了就会明白。高人来说,当他写一条单片机的C代码,他能看到这段代码大概会编译成什么样的汇编;而当他写一段hdl代码,他会于大概了解这段代码会编译成什么样的逻辑电路。 FPGA可以理解为硬件电路板,你可以做任何事,在FPGA上开出一块做单片机,开出一块做DSP ,再开N多数字逻辑电路 都可以 ,,,,,而单片机,就是一个处理器,一个微机系统,只能按照程序办事,什么外设,寄存器,指令集,都是设计好了的,再也不能更改了。 只要兴趣灾难,其实学起来都差不多 weshare 发表于 2016-5-22 12:06
有没有一些职位会在单片机和FPGA一起玩的,我想去找找这种,以便可以过渡。 ...
我们现在FPGA,CPLD,MCU,PC都在一起玩{:biggrin:} bj232 发表于 2016-5-22 12:41
一般能用单片机实现的功能,成本方面,肯定不会用FPGA。如果功能需要,必须上FPGA,那基本不会再增加额外的 ...
你错了,很多时候会两个都用,你如果用FPGA去做个TCP/IP解码,CANOPEN的协议栈试试,你可以说加个软核,但其实软核会让你各种不爽(所以现在有了很多带硬核的FPGA),成本也更高,所以还是各做各最擅长的。
linjpxt 发表于 2016-7-1 20:50
你错了,很多时候会两个都用,你如果用FPGA去做个TCP/IP解码,CANOPEN的协议栈试试,你可以说加个软核, ...
你说的也有道理,我没有接触过tcp/ip解码,没有用过你说的这个方案,看来还是要看项目需要,使用不同的芯片啊 以前进口的伺服驱动器DSP+FPGA+单片机。 很多地方用单片机解决坚决不用FPGA 因为价格太贵了 FPGA执行起来相当于N个单片机,N个内核。 今天去应聘了一个公司,就叫我做FPGA+单片机 其实我觉得两者没有可比性,本来他们的主要目的和应用就不是一样的只有有些地方两者都可以做而已 bj232 发表于 2016-5-22 12:41
一般能用单片机实现的功能,成本方面,肯定不会用FPGA。如果功能需要,必须上FPGA,那基本不会再增加额外的 ...
{:funk:} 我们公司就是同时使用的单位 个人认为以后还是FPGA的高速处理能力比较吃香 现在FPGA价格可以接受了。 ARM 算法FPGA信号控制速度吧 我下面需要用fpga.实现udp通信,那不是要麻烦死。 zxq6 发表于 2016-7-30 08:33
我下面需要用fpga.实现udp通信,那不是要麻烦死。
我之前说的那个东西已经在做了,物料成本50,NIOS处理器125M,轻松千兆线速,RTL实现ARP,ICMP, UDP FPGA侧重于精确的时序控制和大数据量处理 UDP不麻烦。TCP有点麻烦。 一般应用MCU+FPGA,各自发挥自己的长处。 各有所长,可以搭配使用,看你实际需求了. 本帖最后由 waterghost 于 2016-7-31 20:19 编辑
fpga最大用处。设计数字ic验证。
mcu设计必须使用fpga验证功能。FPGA价格打不过arm.运算比不上dsp.但它灵活。
设计数字ic 和 ASIC必不可少。现在还有单片机仿真器使用fpga搭建。
FPGA应用更加广泛 软核、硬核 打个比方:需要做JPEG解码,用单片机做的话,C语言实现非常容易,而且占用少许ROM而已,不过解码速度就很慢了,不过也要看CPU的速度,如果主频800MHz以上的CPU也是很快的;用FPGA的话就不需要考虑速度,但用verlilog或vhdl实现JPEG解码的话,是非常非常复杂的,而且会占用非常大的FPGA资源,大概需要15元的资源成本。还有有些功能是FPGA无法实现的,至少实现的代价是非常非常大。可以看看我的帖子:模仿RA8875/RA8876做个图形LCD控制器 http://www.amobbs.com/thread-5652005-1-1.html neqee 发表于 2016-8-2 11:36
打个比方:需要做JPEG解码,用单片机做的话,C语言实现非常容易,而且占用少许ROM而已,不过解码速度就很慢 ...
楼主需要免费助手不? 二楼正解 用PSoc不是两个都有了的,就是规模小了点
页:
[1]