如何自学FPGA研发?


FPGA属于数电的范畴 。在学习FPGA之前 。最好有数电基础知识 。若没有数电基础 。最好先把数电学习一遍 。熟悉数电的一些基本逻辑门电路、组合逻辑、逻辑化简等 。还有各种触发器、锁存器、计数器等用法 。
FPGA在嵌入式行业的优势还是挺大的 。如今的电子产品对处理速度、处理能力要求越来越高 。FPGA在这方面有明显的优势 。只要FPGA的逻辑资源允许 。很多线程可以并行处理 。FPGA属于并行处理器 。并不像单片机、DSP、ARM等属于完全串行的处理平台 。
FPGA该如何自学呢?下面谈谈本人的观点 。
编程语言
FPGA的编程语言使用的是硬件描述语言——Verilog或VHDL 。Verilog更容易入门一些 。很多语言风格、语法跟C语言很相似 。但是编程思想跟C语言又不同 。不能按照C语言的思想去学习Verilog 。可以自己买一本教材自学 。注意若学Verilog就购买Verilog教材 。别买错了 。
下图为Verilog编写的ram小模块例子程序

如何自学FPGA研发?

文章插图
如何自学FPGA研发?

文章插图
▲生成的ram模块
开发实践
主流的FPGA开发平台有Altera 公司(目前属于Intel公司)的quartus开发平台和Xilinx公司的Vivado、ISE开发平台 。Altera和Xilinx占据FPGA市场的绝大部分份额 。
购买FPGA开发板时 。最好选择外围扩展功能较多 。例子齐全、资料丰富的开发板 。跟着开发板编程实践即可 。
如何自学FPGA研发?

文章插图
可以从最简单的例子开始实践 。比如简单的LED控制 。实践LED闪烁 。模拟串口通信、SPI通信等 。学会使用常见的IP核 。
如何自学FPGA研发?

文章插图
FPGA实战中涉及的内容很多 。比如在什么情况下使用上升沿和下降沿触发 。什么情况下使用电平触发 。掌握FPGA的设计思路 。编程模块化 。
如何自学FPGA研发?

文章插图
总之 。学习FPGA 。关键是参与项目实践 。在实践中前行 。多编程历练 。才能快速成长 。
以上是本人的观点 。想了解更多知识请关注本头条号 。谢谢!
其他观点:
自学FPGA需要一些基础 。而且需要学习庞杂的知识 。下图是我总结的一个FPGA学习者需要掌握的知识体系或是架构!基础从数字电路开始 。学会常用的电路 。比如加法器 。计数器 。上升沿下降沿检测等 。移位寄存器 。并且用Verilog语言能描述出来 。做好每一个Module的仿真 。养成良好的文档化设计习惯和代码风格!掌握完基础的知识 。然后开始学习写驱动和协议 。简单的协议如UART,IIC,SPI等 。驱动如AD,DA,数码管等器件!最后学习软核和硬核等!
如何自学FPGA研发?

文章插图
其他观点:
【如何自学FPGA研发?】谢谢邀请
如何自学FPGA研发?

文章插图
如何学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的同仁一路顺利 。找到一份满意的工作!

    推荐阅读