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

【FPGA】使用移位实现LED流水灯

一、原理

  • 时钟信号
  • 复位信号
  • 输出管脚,位宽为8,因为要点亮8个灯

二、注意

1.

2.

将光标拖到红线处可以提示报错信息

3.

这个25000000-1值影响仿真速度,在仿真时少些时间,将500ms变成了5000us

三、源文件

verilog

`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company: 
// Engineer: 
// 
// Create Date: 2025/11/07 21:16:22
// Design Name: 
// Module Name: led_run
// Project Name: 
// Target Devices: 
// Tool Versions: 
// Description: 
// 
// Dependencies: 
// 
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
// 
//////////////////////////////////////////////////////////////////////////////////


module led_run(
    Clk,
    Reset_n,
    Led
    );
    
    input Clk;
    input Reset_n;
    output reg [7:0]Led;
    
    reg [24:0] counter;
    
    always@(posedge Clk or negedge Reset_n)
    if(!Reset_n)
    counter <=0;
    else if(counter ==25000000-1)
    counter<=0;
    else
    counter<= counter+1'd1;
    
     always@(posedge Clk or negedge Reset_n)
     if(!Reset_n)
     Led <= 8'b0000_0001;
     else if(counter ==25000000-1)begin
     if((Led==8'b1000_0000)|Led==8'b0000_0000)
     Led<=8'b0000_0001;
     else
     Led <=Led<<1;
     end
endmodule
 

仿真代码

`timescale 1ns / 1ns

module led_run_tb();

    reg Clk;
    reg Reset_n;
    wire [7:0]Led;//位宽八位

    led_run led_run(
        .Clk(Clk),
        .Reset_n(Reset_n),
        .Led(Led)
    );
    
    initial Clk = 1;
    always #10 Clk = ~Clk;
    
    initial begin
        Reset_n = 0;
        #201;
        Reset_n = 1;
        //#4000_000_000;32位有符号数不能表示已经超过最大值,换另一种表达方式
        //#2000_000_000;
        //#2000_000_000;
        #40_000_000;//缩短时间,提高仿真效率
        $stop;    
    end
    
endmodule
 

管脚文件

set_property PACKAGE_PIN Y18 [get_ports Clk]
set_property IOSTANDARD LVCMOS33 [get_ports Clk]
set_property PACKAGE_PIN B21 [get_ports Reset_n]
set_property IOSTANDARD LVCMOS33 [get_ports Reset_n]
set_property PACKAGE_PIN M22 [get_ports Led[0]]
set_property PACKAGE_PIN N22 [get_ports Led[1]]
set_property PACKAGE_PIN L21 [get_ports Led[2]]
set_property PACKAGE_PIN K21 [get_ports Led[3]]
set_property PACKAGE_PIN K22 [get_ports Led[4]]
set_property PACKAGE_PIN J22 [get_ports Led[5]]
set_property PACKAGE_PIN H22 [get_ports Led[6]]
set_property PACKAGE_PIN M21 [get_ports Led[7]]
set_property IOSTANDARD LVCMOS33 [get_ports Led[0]]
set_property IOSTANDARD LVCMOS33 [get_ports Led[1]]
set_property IOSTANDARD LVCMOS33 [get_ports Led[2]]
set_property IOSTANDARD LVCMOS33 [get_ports Led[3]]
set_property IOSTANDARD LVCMOS33 [get_ports Led[4]]
set_property IOSTANDARD LVCMOS33 [get_ports Led[5]]
set_property IOSTANDARD LVCMOS33 [get_ports Led[6]]
set_property IOSTANDARD LVCMOS33 [get_ports Led[7]]
 

http://www.dtcms.com/a/581974.html

相关文章:

  • Arbess零基础学习 - 使用Arbess+GitLab+Hadess实现Java项目自动化构建/主机部署/上传制品
  • S12 简单排序算法--冒泡 选择 直接插入 希尔排序
  • 【RabbitMQ】工作模式实现
  • 自己做淘宝优惠券网站旅游网站模板html免费下载
  • 进一步强化网站建设wordpress用户权限在哪改
  • 【Android Studio】Android Studio的安装过程以及初步使用
  • [人工智能-大模型-138]:如何把文本语言转化成词向量,然后作为模型的输入?给出中间每个步骤的输入和输出的实例值。
  • [Linux]学习笔记系列 -- [kernel]cpu
  • 河南建设工程信息网站怎么自己做游戏软件的app
  • 公司做网站是做什么账务处理传奇网页版在线玩
  • 西门子PLC扩展模块连接兼容性详解
  • 手机使用过的痕迹能查到吗?完整查询指南与步骤
  • Python 类继承详解:深度学习神经网络架构的构建艺术
  • 网站域名申请怎么做wordpress七牛云图床插件
  • 界面控件DevExpress WPF v25.1新版亮点:数据管理功能全新升级
  • 张家港专业的网站制作公司建设部职称网站
  • C# AutoResetEvent和ManualResetEvent
  • AI驱动半导体良率提升:基于机器学习的晶圆缺陷分类系统搭建
  • 系统架构师·案例分析相关知识点
  • 建站公司前景网站运营有前途吗
  • Leetcode 48
  • 因需写了个内网运维专用的IP地址管理工具,有点不同
  • 沈阳seo整站优化网页设计大师
  • 瓯北网站制作公司怎么用思维导图做网站结构图
  • 【代码随想录算法训练营——Day61】图论——97.小明逛公园、127.骑士的攻击
  • [Dify 实战] 使用 System Prompt 实现企业级策略管控
  • JVM架构与执行流程详解
  • 02 Prompt组件及使用技巧
  • 做网站能用微软企业公示信息年报
  • 本地赣州网站建设网站建设数据库选择