1. 项目背景与核心目标
第一次接触FPGA开发板时,闪烁的LED灯总能带来最直观的成就感。但当我们掌握了基础的点灯操作后,如何用硬件描述语言实现更复杂的逻辑功能,就成了新手进阶的关键一步。这个项目正是要利用LED指示灯,在FPGA上实现数字电路中最基础也最重要的组件之一——2选1多路选择器(2:1 Multiplexer)。
选择这个项目作为FPGA学习的第二个实验,主要基于三点考虑:首先,多路选择器是组合逻辑电路的典型代表,其Verilog实现方式能帮助我们理解硬件描述语言与真实电路的关系;其次,通过LED观察输出结果,可以直观验证代码的正确性;最后,这个实验涉及到的模块化设计思想,是后续构建更复杂系统的基础。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 硬件准备与环境搭建
2.1 开发板选型与LED电路分析
市面上常见的FPGA开发板(如Xilinx的Basys3、Altera的DE10-Lite等)都配有多个用户可编程LED。以Basys3为例,其板载16个LED,每个LED阳极通过330Ω限流电阻连接至FPGA引脚,阴极接地。当对应FPGA引脚输出高电平时,LED点亮;输出低电平时,LED熄灭。
重要提示:不同开发板的LED连接方式可能不同,有些可能是低电平点亮。务必查阅具体开发板的原理图,确认LED的驱动逻辑。
2.2 开发环境配置
根据使用的FPGA厂商不同,需要安装对应的开发工具:
- Xilinx系列:Vivado(WebPACK免费版足够学习使用)
- Intel(原Altera)系列:Quartus Prime Lite Edition
安装完成后,需要:
- 创建新工程,选择正确的FPGA型号(如Basys3对应xc7a35tcpg236-1)
- 设置默认语言为Verilog(或VHDL,根据个人偏好)
- 添加约束文件(.xdc或.qsf),用于引脚分配
3. 多路选择器原理与Verilog实现
3.1 2选1多路选择器真值表
2选1多路选择器有两个数据输入(A和B)、一个选择信号(SEL)和一个输出(Y)。其功能可以用以下真值表描述:
| SEL | A | B | Y |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 0 |
