OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6287|回复: 4

初学者到底该如何学习FPGA呢?

[复制链接]

18

主题

87

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
371
金钱
371
注册时间
2012-6-20
在线时间
100 小时
发表于 2017-3-22 13:34:48 | 显示全部楼层 |阅读模式
以本人经验,只是我的感受。首先,FPGA很有用,有必要学。曾用FPGA做过一项目,不过最终还是失败了,CPLD在项目中用到过不少。这些年中也见过几个别人FPGA的产品,一个是高清CCD,另一个是一个3D产品,也类似CCD.应该都是高速读取传感器数据和处理用。

但,初学者不应该学FPGA,应该学CPLD。
从单片机开始说,比如一个单片机打开两个定时器中断,这两个中断函数是不能同时执行的,必须先运行完一个,再运行另一个。要同时执行,相互不干涉,就需两个单片机。而FPGA,可以做到这点,同时执行。不过是以成本为代价的。
所以学CPLD之前,应该学会单片机,这样你才能更好理解顺序执行和并行的区别,才能体会速度和时序上的问题。
很多人拿个FPGA板子随便学一下,然后就花大把时间玩软核去了。软核是拼不过硬核的,无论从成本还是性能,特别是成本。一个十块钱单片机能搞定的产品,难道你弄个100块FPGA跑个软核?
其实FPGA能完成的内容,单片机基本上都能完成,只是完成的时间和质量问题。但有些单片机能做的事,你要在FPGA上处理,还真不是那么容易,比如说通过串口写1000字节数,再读回来,用个大点单片机很容易,用FPGA就不那么好玩了。如果你硬是在FPGA中放个单片机软核,那就不用说了。当然,如果你用单片机同时产生100路的PWM输出,不太可能,但FPGA很好实现。


那应该怎么学?
一 先学会C51单片机。
不用很深,但要会。
二 再学CPLD
Verilog和VHDL随便,但Verilog代码好像多点,可能用这语言的多的。VHDL还有一个好处,你写C和VHDL编程时不会因语法太冲突。
如果A家的话 Quartus II 用9.0就可以了,它自带仿真输出,入门足够。
三 用单片机加CPLD结合应用。
两者之间其实就一通讯接口和一些累似IO中断,触发之类的。
然后你就会明白,该用什么来做产品了。




正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

aazhanglanlan 该用户已被删除
发表于 2017-3-23 10:06:07 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

58

主题

6275

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11274
金钱
11274
注册时间
2014-4-1
在线时间
1250 小时
发表于 2017-9-13 11:02:45 | 显示全部楼层

可综合、不可综合,这一点很重要。
学了语言,并不能立刻用于实验。

回复 支持 反对

使用道具 举报

14

主题

331

帖子

0

精华

高级会员

Rank: 4

积分
798
金钱
798
注册时间
2017-6-18
在线时间
160 小时
发表于 2017-9-17 18:09:21 来自手机 | 显示全部楼层
无论怎么好,100块钱能买4核A64了,还是比FPGA好。
回复 支持 反对

使用道具 举报

14

主题

331

帖子

0

精华

高级会员

Rank: 4

积分
798
金钱
798
注册时间
2017-6-18
在线时间
160 小时
发表于 2017-9-17 18:10:46 来自手机 | 显示全部楼层
这就FPGA为什么会过时的原因,DSP也一样,都是一些漫天定价的东西
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-7-3 03:16

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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