复杂度提升直接驱动方法升级 · 现代流程强调可建模、可验证、可复用、可维护 · 从手工设计到自动化设计
绪论
建立 FPGA、Verilog HDL 与现代数字系统设计流程的整体认知框架
一、本章导航
两种 HDL 的定位与区别
FPGA:灵活、并行、可定制 · ASIC:高性能、固定功能、量产优势 · 器件关系与应用场景
二、本章定位
本章先解决“为什么学”和“学什么”的问题,再进入后续语法与设计实践。重点是把硬件开发思维建立起来,而不是急于写复杂代码。
- 什么是 FPGA?
- 为什么硬件开发要学习 HDL?
- 硬件开发与软件开发的本质差异是什么?
- FPGA、CPLD、ASIC 之间是什么关系?
三、知识点讲解
1. 集成电路设计技术的发展
1.1 从手工设计到自动化设计
早期数字电路规模小,工程师可以通过原理图和手工连线完成设计。随着系统复杂度提升,这种方式在效率、错误率和维护成本上都迅速恶化。
现代流程采用“HDL 描述 + EDA 工具实现 + 仿真验证”的方式,把复杂系统拆解为可管理模块,并通过工具保障一致性和可追踪性。
- - 复杂度提升直接驱动方法升级
- - 现代流程强调可建模、可验证、可复用、可维护
1.2 疑难点:为什么必须先学发展脉络
很多初学者会问“为什么不直接学代码”。答案是:不了解方法演进,就很难理解后续章节中每个工具和语法存在的意义。
当你明确“代码是在描述硬件,而不是写软件流程”后,学习效率会明显提升,常见误解也会显著减少。
2. Verilog HDL 与 VHDL
2.1 两种 HDL 的定位与区别
HDL 用于描述数字硬件行为和结构,其目标是让工具能够综合出实际电路。Verilog HDL 语法简洁、资料丰富、工程使用广,适合作为课程主线。
VHDL 类型约束更强、表达更严谨,在高规范项目中较常见。两者都能实现数字系统设计,核心区别在风格与学习门槛。
2.2 疑难点:会语法为何仍做不好设计
会语法只代表你能写出“形式正确”的代码,不代表你已经具备硬件设计能力。真正能力来自模块划分、时序理解、验证闭环和工程规范。
建议把学习重点放在“如何用语句表达硬件意图”,而不是只背关键词。每段代码都应能回答:它在硬件里对应什么结构和行为。
3. FPGA/CPLD 简介
3.1 器件关系与应用场景
FPGA 是可重构硬件平台,通过 Verilog HDL 描述功能,再由工具映射到逻辑资源。它适合教学实验、原型验证和中小规模系统开发。
CPLD 也属于可编程逻辑器件,规模通常更小;ASIC 功能流片后固定,适合大批量量产。三者不是互斥关系,而是面向不同约束的选择。
- - FPGA:灵活、并行、可定制
- - ASIC:高性能、固定功能、量产优势
3.2 疑难点:FPGA 与 CPU 到底有什么不同
CPU 主要按指令顺序执行程序;FPGA 主要通过并行硬件结构执行任务。两者性能特征和开发思路不同,不能简单类比。
FPGA 的优势不只是“快”,而是“可并行 + 可定制 + 低延迟”。理解这一点,才能正确判断应用场景。