当前位置: 首页 > news >正文

流水灯 FPGA 设计 Verilog Vivado

名称:流水灯 FPGA 设计 Verilog Vivado

软件:Vivado

语言:Verilog

功能介绍

本设计实现一个 8 位 LED 流水灯控制系统,顶层模块为 led_top,输入包括系统时钟 clk 和低有效复位 rst_n,输出为 8 位 led 信号。系统通过分频模块产生固定节拍 tick,再由 LED 控制模块根据 tick 推动灯效状态变化,实现按节奏步进的流水灯显示效果。 工程采用模块化 Verilog 结构,适合用于 FPGA 入门实验、时钟分频练习、LED 外设控制以及 Vivado 工程流程学习。设计重点覆盖顶层例化、参数化分频、复位控制、时序逻辑状态更新和 Testbench 仿真验证,便于学习者理解从 RTL 编写到仿真观察的完整过程。 顶层参数 DIVIDE 默认设置为 50_000_000,用于将输入时钟转换为约 1Hz 的单周期 tick 脉冲。实际使用时可根据板载时钟频率或仿真速度调整该参数,从而改变 LED 流水切换速度。

运行环境

开发软件:Vivado 设计语言:Verilog 工程类型:Vivado FPGA 工程 主要文件包括 led_top.v、clk_divider.v、led_controller.v 和 led_top_tb.v,工程中包含行为仿真相关文件,可用于查看整体仿真、分频模块和 LED 控制模块的运行效果。

设计思路

系统采用“时钟分频 + LED 花型控制”的设计思路。顶层 led_top 只负责端口组织和子模块连接,将时钟节拍生成与 LED 输出控制拆分为两个独立模块,降低模块耦合度,也方便单独理解和调试。 clk_divider 模块根据参数 DIVIDE 对输入时钟进行计数,当计数达到设定周期后输出一个单周期 tick 脉冲。该 tick 不直接替代系统时钟,而是作为 LED 控制模块的节拍使能信号,这种写法能让核心逻辑仍然工作在同一个 clk 时钟域下,结构更清晰,也更符合常见 FPGA 同步设计习惯。 led_controller 模块在复位后初始化 LED 状态,并在每次 tick 到来时更新 led[7:0] 输出。通过将 LED 状态变化集中在控制模块中,后续若需要调整流水方向、增加花型或扩展显示模式,只需要修改控制逻辑,不影响分频器和顶层连接。

模块结构

顶层模块:led_top 分频模块:clk_divider,负责将输入时钟转换为周期性 tick 脉冲。 LED 控制模块:led_controller,负责根据 tick 节拍更新 8 位 LED 输出花型。 测试模块:led_top_tb,用于对顶层设计进行行为仿真。

演示视频

包含流水灯效果演示视频,可用于直观看到 LED 按节拍变化的运行表现。

演示视频请关注公众号后获取对应资料查看。

仿真图/仿真说明/设计文档图片

设计文档包含工程文件、程序文件、程序编译、RTL 图、Testbench、整体仿真图、分频模块仿真说明以及 LED 控制模块相关内容。仿真部分可用于观察 tick 节拍产生过程、复位后的 LED 输出变化,以及顶层模块中分频器与 LED 控制器之间的连接关系。

部分代码

以下展示顶层模块led_top的部分代码,完整代码可关注下方公众号卡片获取。

module led_top #(parameter DIVIDE = 50_000_000) ( input clk, input rst_n, output [7:0] led ); // 分频器输出的 1Hz 单周期脉冲 wire tick; // 实例化分频器:将 clk 转换为 1Hz tick clk_divider #(.DIVIDE(DIVIDE)) u_div ( .clk(clk), .rst_n(rst_n), .tick(tick) ); // 实例化 LED 控制器:根据 tick 触发花型步进 led_controller u_led_ctrl ( .clk(clk), .rst_n(rst_n), .tick(tick), .led(led) ); endmodule

代码获取:点击下方公众号卡片

http://www.zskr.cn/news/1479303.html

相关文章:

  • 2026年南通SCMP资料试听课怎么问?众智商学院官网400冯老师班期 - 众智商学院职业教育
  • 流量卡代理加盟平台:浩卡联盟官方邀请码16888注册一级合伙人(佣金全网置顶0抽成) - 流量卡代理招商
  • 如何在碎片时间悄悄变身单词达人?ToastFish的5个隐藏玩法大揭秘
  • 多场景沐浴露实测评测:成分、清洁力与适配性横向对比 - 奔跑123
  • Windows下开箱即用的APK逆向分析工具集:解包、反编译、改代码、重签名一站式搞定
  • Wireshark Statistics 隐藏技巧:用‘解析地址’和‘协议特定统计’深挖网络元数据
  • MATLAB三次样条插值工具包:含边界条件设置与光栅反射谱建模示例
  • WarcraftHelper:魔兽争霸3终极优化指南,解锁300帧+宽屏完美体验
  • 成都欧米茄+卡地亚手表专业回收,26年精选回收店铺排行榜推荐 - 莘州文化
  • 2026年北辰区本地上门黄金回收门店指南 彩金+铂金+金条+白银回收门店联系方式推荐 - 奢金汇
  • Wand-Enhancer终极教程:三步免费解锁Wand专业版完整功能
  • 高校生常用的AI论文软件有哪些?
  • 别只刷题了!拆解NISP八套模拟题,手把手教你构建个人网络安全知识体系
  • Zotero GPT插件终极指南:3步搭建你的AI文献助手
  • 2026 年海口 GEO 优化效果提升:大模型时代企业破局关键 - 环岛AI智推GEO系统
  • Li Chen提案“生成模板”,或为进程创建原语指明新方向!
  • 大模型药物相互作用评估的临床决策盲区分析
  • 2026 南通厨卫屋面地下室漏水测评靠谱防水商家对比参考 - 吉修匠
  • 2026深圳闲置黄金回收实测:本土门店深度对比与避坑指南 - 薛定谔的梨花猫
  • 3分钟轻松解锁网易云音乐:ncmdump高效转换工具完整指南
  • iPhone 屏蔽号码管理攻略:快速查找、解除与添加,常见问题解答
  • 2026乌鲁木齐金银回收避坑指南优质门店排名 - 余生黄金回收
  • Joy-Con Toolkit完整指南:免费开源的Switch手柄终极定制方案
  • 2025-2026年国内十大品牌策划公司推荐:专业评测市场份额特点价格案例适用场景
  • ESP32+MicroPython驱动串口屏的即用型通信工程包(含HMI界面文件与UART控制脚本)
  • 网盘下载限速终结者:9大主流平台直链解析工具完整指南
  • PCIe 6.0实战前瞻:从L0p低功耗到新机制,看它如何重塑数据中心与AI硬件
  • 轻量级文档图像自动裁正工具:支持名片、试卷等矩形目标的角点检测与仿射校正
  • 从机载雷达到你的手机:缝隙天线是如何‘隐身’并改变我们生活的?
  • SpaceX IPO 前夕与谷歌达成协议,每月获 9.2 亿美元计算能力租金