跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
编程语言

FPGA 入门:基于 LED 的 2 选 1 多路选择器实现

讲解 FPGA 中 2 选 1 多路选择器的设计与实现。通过 Verilog 描述逻辑功能,区分 wire 与 reg 数据类型,在 Quartus 软件中完成 RTL 视图设计与仿真验证。结合 EP4C 开发板原理图进行引脚分配,将按键映射为输入与选择信号,LED 映射为输出信号。最终通过硬件测试确认不同选择信号下 LED 的正确响应,并强调编译与引脚设置注意事项。

Kubernet发布于 2026/4/9更新于 2026/9/1062 浏览

回顾 LED 工程建立流程后,本篇介绍数据选择器工程的实现方法。

数据选择器是从多个输入逻辑信号中选择一个输出的电路。例如电影票 A 和 B 对应输入信号 in1 与 in2,检票员对应选择信号 sel,电影院对应输出信号 out。

电路图

真值表如下:

真值表

当 sel 为 0 时,out 等于 in1;sel 为 1 时,out 等于 in2。

新建工程后,使用 Verilog 实现:

module mux_2to1(
    input wire in1,
    input wire in2,
    input wire sel,
    output reg out
);
    always @(*) begin
        if (sel == 1'b1)
            out = in2;
        else
            out = in1;
    end
endmodule

代码分析:in1、in2、sel 为 wire 类型,用于传递信号;out 为 reg 类型,用于存储状态并在 always 块中循环更新逻辑。

验证电路正确性:

RTL 视图

RTL 视图与设计一致。仿真波形分析:

第一组波形中 sel 恒为 0,out 跟随 in1。

波形 1

第二组波形中 sel 恒为 1,out 跟随 in2。

波形 2

仿真设置提示:Tool name 选项卡中选择 Modelsim 而非 Modelsim-Altera,避免报错。

设置

报错

引脚分配:

参考 EP4C 最小系统板原理图。KEY1(pin90) 接 in1,KEY2(pin89) 接 in2,RESET(pin88) 接 sel。LED1(IO_75/pin75) 接 out。

按键分配

LED 分配

U5 模块

配置完成:

引脚配置

注意:分配引脚后需对未使用管脚进行设置,烧录前必须全编译。

效果演示:

不按 RESET 时,sel 为 0,按 KEY2 则 LED1 亮。

效果 1

长按 RESET 时,sel 为 1,按 KEY1 则 LED1 亮。

效果 2

更多推荐文章

查看全部
  • Z-Image-Turbo 孙珍妮模型使用指南
  • 前端骨架屏实现详解:Vue、React、Angular、jQuery 及小程序实践
  • Python 进阶与高级语法详解
  • Neo4j 安装与配置教程(Windows/MacOS/Linux)
  • C++11 条件变量:notify_one 与 notify_all 的唤醒机制
  • Python 月相可视化项目实战:从计算到 Web 渲染
  • YOLOv8 旋转框角度回归优化:CSL 与 DCL 编码实战
  • OpenClaw 多端交互实测指南:Web、TUI 与钉钉集成配置
  • C++ string 类全面解析
  • BFS 解决边权相同的最短路问题
  • Vue3 组件方法调用无效或提示不存在的排查与修复
  • Spring Boot 与 Leaflet 实现省域迂回可视化实战
  • VS Code 远程连接服务器后 GitHub Copilot 无法使用问题排查
  • OpenClaw:AI 直接操控电脑的开源工具
  • 低代码搭建高企年报自动化系统实践
  • 基于 Ubuntu 22.04 与 Fast_LIVO2 的 3DGS 三维重建实践
  • 单片机与 FPGA 通信方式详解:从 GPIO 到 EXMC/FSMC
  • Spring Cloud Alibaba 2026 微服务实战指南
  • 基于MATLAB的三维A星算法无人机导航与路径规划
  • 基于 AI 与代理池的智能电商价格监控系统实战

相关免费在线工具

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online

  • JSON美化和格式化

    将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online