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,关键是参与项目实践,在实践中前行,多编程历练,才能快速成长。

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查