零基础入门 Verilog VHDL:在线仿真与 FPGA 实战全流程指南
摘要
 本文面向零基础读者,全面详解 Verilog 与 VHDL 两大主流硬件描述语言(HDL)的核心概念、典型用法及开发流程。文章在浅显易懂的语言下,配合多组可在线验证的示例代码、PlantUML 电路结构图,让你在 EDA Playground 上动手体验数字电路设计与仿真,并深入了解从 HDL 编写到 FPGA 板级验证的完整流程。

目录
-  
HDL 简介
 -  
Verilog 入门
-  
2.1 语法结构
 -  
2.2 数据类型与常用运算
 -  
2.3 并行与时序语句
 
 -  
 -  
Verilog 实例演练
-  
3.1 2:1 多路选择器
 -  
3.2 4:1 解码器
 -  
3.3 8 位二进制计数器
 -  
3.4 状态机:简易流水灯
 
 -  
 -  
VHDL 入门
-  
4.1 基本语法
 -  
4.2 类型系统
 -  
4.3 过程语句与并行块
 
 -  
 -  
VHDL 实例演练
-  
5.1 D 触发器
 -  
5.2 同步二进制计数器
 -  
5.3 移位寄存器
 -  
5.4 UART 接收模块雏形
 
 -  
 -  
在线仿真平台:EDA Playground 使用技巧
 -  
从仿真到综合:FPGA 开发流程概览
 -  
板级验证:LED 闪烁与串口测试
 -  
高阶进阶:FSM 设计与时序约束
 -  
总结与下一步学习路线
 
1. HDL 简介
-  
硬件描述语言(HDL):用来描述数字电路结构与行为的“编程语言”。可用于
-  
仿真(Simulation):验证逻辑功能
 -  
综合(Synthesis):生成门级网表并映射到 FPGA/ASIC
 
 -  
 -  
主流 HDL:
-  
Verilog:语法简洁、接近 C 语言,社区活跃
 -  
VHDL:语法严谨、类型系统丰富,适合大型工程
 
 -  
 -  
应用场景:从简单的逻辑门电路到复杂的 CPU 内核、高速接口协议,都可用 HDL 实现
 
2. Verilog 入门
2.1 语法结构
module 模块名 (// 端口列表input  wire clk,input  wire rst_n,input  wire [7:0] data_in,output wire [7:0] data_out
);// 内部信号reg [7:0] tmp;// 行为或结构描述always @(posedge clk or negedge rst_n) beginif (!rst_n) tmp <= 0;else        tmp <= data_in;endassign data_out = tmp;
endmodule
 
2.2 数据类型与常用运算
-  
net 类型(wire):表示连线、用于 assign
 -  
reg 类型:存储元素
 
