初学者如何学习 FPGA - [FPGA 学习]
随着半导体和嵌入式系统应用技术的高速发展,FPGA 已经被广泛地应用于各行各业,无
论是家用电器、智能玩具、数码产品,还是通信行业、工业自动化、汽车电子、医疗器械
等领域无处不在。从 1985 年第一颗 FPGA 诞生至今,FPGA 已经过去了 20 多个年头,从当
初集成几百个门电路到现在的几百万门、几千万门……,从原来的上千元的天价到现在几
元的超低价,发生了翻天覆地的变化,所以当前正是学习 FPGA 的最好时机。无论是社会
的需求也好,还是技术的成熟度也好,已经达到了前所未有的高度,初学者可以花更少的
成本,并以最快的速度掌握一种处于前沿的新技术,无论是对就业还是对未来的发展具有
极其重要的意义和价值。
本书从初学者的立场出发,为广大初学者提供了一个 FPGS 入门学习平台,以深入浅出的
方式介绍 FPGA 的基本原理、Verilog 语言和应用设计。但作为一个 FPGA 的初学者必须先
了解以下几个问题:何为 FPGA?为什么要学习 FPGA?如何学习 FPGA?
1.何为 FPGA?
FPGA 是 Field Programmable Gate Array 的 缩 写 , 即 现 场 可 编 程 门 阵 列 , 它 是 在
PAL、GAL、CPLD 等可编程器件的基础上进一步发展的产物。它是作为专用集成电路
(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可
编程器件门电路数有限的缺点。
FPGA 是 Ross Freema 于 1985 年发明的,当时第一个 FPGA 采用 2μm 工艺,包含 64 个逻辑
模块和 85000 个晶体管,门数量不超过 1000 个,当时他所创造的 FPGA 被认为是一项不切
实际的技术,他的同事 Bill Carter 曾说:“这种理念需要很多晶体管,但那时晶体管是非常
珍贵的东西。”所以人们认为 Ross 的想法过于脱离现实。但是 Ross 预计:根据摩尔定律
(每 18 个月晶体管密度翻一翻),晶体管肯定会越来越便宜,因此它必将成为未来不可或
缺的技术。在短短的几年时间内,正如 Ross 所预言的,出现了数十亿美元的现场可编程门
阵列(FPGA)市场。但可惜的是,他已经无法享受这一派欣欣向荣的景象, Ross Freeman
在 1989 年已经与世长辞了,但是它的发明却持续不断地促进电子行业的进步与发展。
我们知道构成数字逻辑系统最基本的单元是与门、或门、非门等,而门电路是由用二极管
三极管和电阻等元件构成的,然后与门、或门、非门又构成了各种触发器实现状态记忆 。
FPGA 同样也属于数字逻辑电路的一种,也是由最基本的元件构成的。一片 FPGA 可以在
内部集成上亿个门电路,打破了以往使用数量繁多分立器件实现电子装置的历史,不仅电
路面积、成本大大减小,而且可靠性得到了大幅度的提升。
一般来说,FPGA 内部是由最小的物理逻辑单位 LE、布线网络、输入输出模块与片内外设
组成的,而最小物理逻辑单元是指用户无法修改的、固定的最小单元,设计者只能将这些
单元通过互联线将其连接起来,然后实现特定的功能。一个 LE 是由触发器、LUT 与控制
逻辑组成的,从而同样可以实现组合逻辑和时序逻辑。
随 着 FPGA 集 成 度 的 不 断 增 加 , 其 内 部 的 片 内 外 设 也 越 来 越 多 , 可 集 成
SRAM、Flash、AD、RTC 等外设,真正用单芯片方案完成系统设计,所以我们所理解的
FPGA 最底层是一些实实在在的门电路构成的,然后由门电路构成最小的物理逻辑单元,