「FPGA」- Field Programmable Gate Array

  CREATED BY JENKINSBOT

FPGA 是一种以数字电路为主的集成芯片,于 1985 年由 Xilinx 创始人之一 Ross Freeman 发明,属于可编程逻辑器件(Programmable Logic Device,PLD)的一种。这个时间比著名的摩尔定律出现的时间晚 20 年左右,但是 FPGA 一经发明,后续的发展速度之快,超出大多数人的想象;

发展历程

在 PLD 未发明之前,工程师使用包含若干个逻辑门的离散逻辑芯片进行电路系统的搭建,复杂的逻辑功能实现起来较为困难;

为了解决这一问题,20 世纪 70 年代,可编程逻辑阵列(Programmable Logic Array,PLA)问世,PLA 中包含了一些固定数量的与门、非门,分别组成了“与平面”和“或平面”,即“与连接矩阵”和“或连接矩阵”,以及仅可编程一次的连接矩阵(因为此处编程是基于熔丝工艺的),因此可以实现一些相对复杂的与、或多项表达式的逻辑功能

学习方法

分享些学习思路吧。可以淘宝买个200块钱的开发板,一边学习verilog,一边学习demo入门。买个altera。,黑金、小梅哥都还不错。verilog的语法非常简单,基本没有语法,掌握if else、assign、case、还有状态机就齐活了,撑死在搞一个generate for,剩下的就是搭积木。掌握常用的通信协议例如UART、I2C和SPI,最好能自己搭一个图像采集和显示的demo。能在上面搞一些图像处理的算法就更厉害了,例如中值滤波、直方图均衡、sobel边缘处理。直方图均衡这个算法稍微有点难度,其他两个都能在开发板上找到现成的。学习完这些以后,在补个时序分析a和约束,有纸质和视频教程,自己买也不贵,300块吧。

参考文献

FPGA 是什么(超级详细)