OpenEdv-开源电子网

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

[XILINX] 【阿东手把手教你学FPGA】FPGA入门学习方法

[复制链接]

8

主题

13

帖子

1

精华

超级版主

Rank: 8Rank: 8

积分
206
金钱
206
注册时间
2019-11-11
在线时间
24 小时
发表于 2023-3-20 17:23:32 | 显示全部楼层 |阅读模式
FPGA作为目前比较热门的一个电子器件,正在被越来越多的公司和领域选择使用。学习FPGA的朋友也越来越多,初学者可能会认为FPGA很难学,以前只学过51,或者甚至连51都没学过的,一看到FPGA就懵了。其实,万事开头难,只要掌握了方法,学好FPGA,还是非常简单的,这里我们总结FPGA学习的几个要点:
1、选择一款实用的开发板
开发板是实验的基础,有时候软件仿真通过了,在实际板子上并不一定能跑起来,而且有个开发板在手,什么东西都可以直观的看到,效果不是仿真能比的。但开发板不宜多,多了的话连自己都不知道该学哪个了,觉得这个也还可以,那个也不错,那就这个学半天,那个学半天,结果学个四不像。倒不如从一而终,学完一个再学另外一个。
这里我们推荐大家选择正点原子FPGA开发板,我们从硬件设计、例程和文档开发、视频录制等各方面都做到了极致,比如我们硬件设计都是非常合理美观的,例程也是采用规范和简洁的编写方法,文档和视频也是采用波形图+思维脑图的设计思路,尽量给大家提供一个良好体验,节省大家入门时间。
2、掌握方法,勤学慎思
FPGA不是妖魔鬼怪,大家不要畏难,FPGA的学习和普通单片机一样,基本方法就是:
1)了解FPGA的基本结构。
学习FPGA之前需要先对FPGA的基本结构和其IP功能有个大概的了解,如时钟管理单元PLL、RAM、FIFO等。需要知道时钟管理单元PLL是用来产生不同频率的时钟,RAM是用于数据的存储和更新(需要提供读写地址),FIFO是用于数据的缓存(不需要提供读写地址,数据先进先出)等。
2)了解Verilog HDL基本语法
Verilog HDL的基本语法大家必须要掌握,常用的包括module定义、input和ouput定义、wire和reg定义、assign语句和always语句、if/else和case语句 6个关键语法,我们要搞清楚它们的作用和区别。其他的一些高级语法点可以先不用管,一般使用较少,后续如果需要使用再去看下Verilog语法就好。等大家掌握了Verilog HDL的基本语法和Verilog HDL的并行设计思想后,会觉得Verilog HDL和C语言一样简单。
3)多思考,多动手
所谓熟能生巧,先要熟,才能巧。如何熟悉?这就要靠大家自己动手,多多实操了,光看或说是没什么太多用的。只有在使用FPGA的过程中,才会一点点的熟悉,也只有动手实练,才能对FPGA有切实的感受。
熟悉了之后,就应该进一步思考,也就是所谓的巧了。我们正点原子提供了几十个例程,供大家学习,跟着例程走,无非就是熟悉FPGA的过程,只有进一步思考,才能更好的掌握FPGA,也即所谓的举一反三。例程是死的,人是活的,所以,可以在例程的基础上,自由发挥,实现更多的其他功能,并总结规律,为以后的学习和使用打下坚实的基础,如此,方能信手拈来。
所以,学习一定要自己动手,光看视频,光看文档,是不行的。举个简单的例子,你看视频,教你如何煮饭,几分钟估计你就觉得学会了。实际上你可以自己测试下,是否真能煮好?机会总是留给有准备的人,只有平时多做准备,才可能抓住机会。
3、远离FPGA学习的一些误区
很多新人在学习FPGA时候,经常会有一些学习误区,导致学习时间花了很多,学习效果还不好。为此,阿东总结了几个新人经常遇到的几个学习误区。
误区一:花大量时间学习Verilog语法
很多新人入门的时候就是看Verilog,甚至很多人花了几个月时间用来学习语法。其实,Verilog最常使用的主要有6个语法定义,他们是module定义、input和ouput定义、wire和reg定义、assign语句和always语句、if/else和case语句。下面以正点原子《LED闪烁实验》代码为例给大家展示。
1.png
大家可以看一下正点原子的代码,我们的代码结构非常简单,语法也是非常简单,always语句中基本只用到了if、else语句。所以,大家学习语法不需要那么多时间。
误区二、软件思维,把Verilog当C语言使用
很多新人总是把Verilog当C语言使用,只具有软件思维,不知道Verilog会综合出什么电路。我们必须知道,Verilog HDL做为一种硬件描述语言,是对数字电路的一种描述,而数字电路是并行工作的,因而在编写Verilog HDL时要有并行的思想,不同于软件设计语言,软件设计语言是由CPU统一进行处理,一条指令一条指令的串行运行,所以软件设计语言是基于串行的设计思想,因而在写Verilog HDL代码的时候要注意这种差别。
这就是说,我们在做一个FPGA设计之前,应该把电路框架在头脑里面或者文档上绘制出来,我们只是用Verilog把它描述出来而已。
很多同学会问,学了C语言之后,学 Verilog是不是很容易?其实从我们的经验来看,学了C语言之后,学Verilog是更加麻烦,这种思维很难转变。大家也不用很着急,跟着正点原子提供的FPGA开发资料学习就好,我们的开发资料都是按照需求描述->系统框架->详细设计->波形图->代码编写->上板验证这样一个科学高效的流程来编写的。
误区三、追求很复杂的语法,实现很高级的功能
Verilog只是我们描述电路的一个手段,很多新人喜欢使用各种高级语法进行描述,以为非常高级,其实这是大错特错,真正资深有素养的FPGA工程师写出来的代码都是非常简洁易懂的,使用简单的语法实现复杂的功能,这个是我们应该追求的一种设计思想。阿东自己写的代码也是非常简洁易懂的,对团队里面的成员也是这样要求的。
误区四、永远只学习代码,不去动手实践
很多新人学习FPGA都是永远只是看代码和看视频,以为看懂就掌握了,这种想法也是错误的。毛主席说过,“纸上得来终觉浅,绝知此事要躬行”,就是强调要多动手实践,FPGA学习也是如此。虽然我们提供了非常丰富的例子代码,但是新人也要多动手写代码,哪怕一开始慢一点,也要坚持下来。
总结:
大家只要以上四点做好了,学习FPGA基本上就不会有什么太大问题了。如果遇到问题,可以在我们的技术论坛:开源电子网:www.openedv.com提问,论坛FPGA板块有各种主题,很多疑问已经有网友提过了,所以可以在论坛先搜索,很多时候,就可以直接找到答案了。论坛是一个分享交流的好地方,是一个可以让大家互相学习,互相提高的平台,所以有时间,可以多上去看看。

正点原子FPGA开发板推荐:
入门ZYNQ学习可以选择领航者开发板      :https://detail.tmall.com/item.htm?abbucket=2&id=609032204975
进阶MPSOC学习可以选择MSPOC开发板 :https://detail.tmall.com/item.htm?abbucket=2&id=692450874670
进阶XILINX可以选择达芬奇Pro开发板      :https://detail.tmall.com/item.htm?abbucket=2&id=640278473312
国产FPGA学习可以选择紫光开发板          :https://detail.tmall.com/item.htm?abbucket=2&id=692712955836



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

使用道具 举报

0

主题

4

帖子

0

精华

新手入门

积分
5
金钱
5
注册时间
2023-5-19
在线时间
0 小时
发表于 2023-5-19 14:39:49 | 显示全部楼层
回复 支持 反对

使用道具 举报

1

主题

3

帖子

0

精华

新手入门

积分
7
金钱
7
注册时间
2023-5-23
在线时间
0 小时
发表于 2023-5-24 08:49:25 | 显示全部楼层
方向更清晰了一点,但我发现,编译的时候的各种问题的排查也是一个拦路虎啊!
回复 支持 反对

使用道具 举报

0

主题

15

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
363
金钱
363
注册时间
2021-7-8
在线时间
27 小时
发表于 2023-5-31 11:12:40 | 显示全部楼层
回复 支持 反对

使用道具 举报

0

主题

55

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2018-12-27
在线时间
0 小时
发表于 2023-6-29 11:41:52 | 显示全部楼层
帮楼主顶一下......
回复 支持 反对

使用道具 举报

0

主题

71

帖子

0

精华

初级会员

Rank: 2

积分
72
金钱
72
注册时间
2019-7-11
在线时间
1 小时
发表于 2023-6-29 11:41:52 | 显示全部楼层
这个不错,这个OS跟UCOSIII比有什么优势吗?
回复 支持 反对

使用道具 举报

50

主题

233

帖子

0

精华

高级会员

Rank: 4

积分
974
金钱
974
注册时间
2021-4-28
在线时间
407 小时
发表于 2024-3-18 14:57:09 | 显示全部楼层
明年再恋爱 发表于 2023-6-29 11:41
这个不错,这个OS跟UCOSIII比有什么优势吗?

你说哪个OS和UCOSIII?
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-6-9 21:08

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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