·
FPGA属于数电的范畴,在学习FPGA之前,最好有数电基础知识,若没有数电基础,最好先把数电学习一遍,熟悉数电的一些基本逻辑门电路、组合逻辑、逻辑化简等,还有各种触发器、锁存器、计数器等用法。
FPGA在嵌入式行业的优势还是挺大的,如今的电子产品对处理速度、处理能力要求越来越高,FPGA在这方面有明显的优势。只要FPGA的逻辑资源允许,很多线程可以并行处理。FPGA属于并行处理器,并不像单片机、DSP、ARM等属于完全串行的处理平台。
FPGA该如何自学呢?下面谈谈本人的观点。
FPGA的编程语言使用的是硬件描述语言——Verilog或VHDL,Verilog更容易入门一些,很多语言风格、语法跟C语言很相似,但是编程思想跟C语言又不同,不能按照C语言的思想去学习Verilog。可以自己买一本教材自学,注意若学Verilog就购买Verilog教材,别买错了。
下图为Verilog编写的ram小模块例子程序
▲生成的ram模块
主流的FPGA开发平台有 公司(目前属于Intel公司)的quartus开发平台和Xilinx公司的Vivado、ISE开发平台,Altera和Xilinx占据FPGA市场的绝大部分份额。
购买FPGA开发板时,最好选择外围扩展功能较多,例子齐全、资料丰富的开发板。跟着开发板编程实践即可。
可以从最简单的例子开始实践,比如简单的LED控制,实践LED闪烁,模拟串口通信、SPI通信等,学会使用常见的IP核。
FPGA实战中涉及的内容很多,比如在什么情况下使用上升沿和下降沿触发,什么情况下使用电平触发,掌握FPGA的设计思路,编程模块化。
总之,学习FPGA,关键是参与项目实践,在实践中前行,多编程历练,才能快速成长。
以上是本人的观点,想了解更多知识请关注本头条号,谢谢!
自学FPGA需要一些基础,而且需要学习庞杂的知识,下图是我总结的一个FPGA学习者需要掌握的知识体系或是架构!基础从数字电路开始,学会常用的电路,比如加法器,计数器,上升沿下降沿检测等,移位寄存器。并且用Verilog语言能描述出来,做好每一个Module的仿真。养成良好的文档化设计习惯和代码风格!掌握完基础的知识,然后开始学习写驱动和协议,简单的协议如UART,IIC,SPI等,驱动如AD,DA,数码管等器件!最后学习软核和硬核等!
谢谢邀请
如何学FPGA老生常谈,与其他编程语言的学习路数都大同小异。下面介绍FPGA学习内容及方向:
一、学习FPGA
1、编程语言-Verilog(推荐)
2、上网查verilog语法资料及视频,最好一系列教学视频,按照视频潜心修炼。
3、熟悉FPGA的仿真工具,练习verilog语法编程
4、常用接口学习
5、IP核的使用
6、时序约束
7、软核学习
二、学习FPGA开发工具的使用
1、xilinx的ISE和Vivado
2、Intel的quartus
3、仿真公具modelsim
4、综合工具synthesis
5、SDK
三、学习FPGA的开发流程
自顶向下,模块化
1、需求分析
2、模块化分
3、代码编程
4、功能仿真
5、后仿真
6、编译综合、布局布线,管脚配置
7、下载硬件调试,会使用逻辑分析仪抓信号调试,直至功能正确
四、购买FPGA入门开发板
任何的学习都是需要实践的,试着编写人生中第一个自己FPGA程序。同时开发板也配套了开发板例程,包括代码及视频,耐心观看开发板的每一个例程,读懂每一行代码。
五、交流
1、与他人积极交流学习心得,不耻下问
2、学会上网查资料解决自己的问题,FPGA入门方面的问题及解决都是挺多的。
六、贵在坚持、耐得住寂寞。
祝自学FPGA的同仁一路顺利,找到一份满意的工作!
至少要有数字电路,逻辑设计的基础,而且还要有FPGA的实验平台如果只能说学会FPGA难度很大
可以参考这个文章: