首页 > 其他分享 >FPGA 让LED灯按照指定的亮灭模式亮灭,亮灭模式未知,由用户随机指定

FPGA 让LED灯按照指定的亮灭模式亮灭,亮灭模式未知,由用户随机指定

时间:2023-09-20 17:04:14浏览次数:38  
标签:Reset Led 亮灭 Clk counter 指定 模式 led reg

代码内容如下:

module counter_led_3(   
    Clk,
    Reset_n,
    Ctrl_n,
    Led
);
    input Clk;
    input Reset_n;
    input [7:0]Ctrl_n;
    output reg Led;
    
    reg [26:0]counter;
    parameter MCNT= 100000000;
    
    always@(posedge Clk or negedge Reset_n)
    if(!Reset_n)
        counter<=0;
    else if(counter == MCNT-1)
        counter <=0;
    else 
        counter <= counter +1'b1;
     always@(posedge Clk or negedge Reset_n)
     if(!Reset_n)
        Led <=0;
     else if(counter ==MCNT/8-1)
        Led <=Ctrl_n[0];
     else if(counter ==MCNT*2/8-1)
        Led <=Ctrl_n[1];
     else if(counter ==MCNT*3/8-1)
        Led <=Ctrl_n[2];
     else if(counter ==MCNT*4/8-1)
        Led <=Ctrl_n[3];   
     else if(counter ==MCNT*5/8-1)
        Led <=Ctrl_n[4];
     else if(counter ==MCNT*6/8-1)
        Led <=Ctrl_n[5];
     else if(counter ==MCNT*7/8-1)
        Led <=Ctrl_n[6];
     else if(counter ==MCNT*8/8-1)
        Led <=Ctrl_n[7];  
     else
        Led <=Led;                 
endmodule

仿真代码如下:

`timescale 1ns/1ns
 
module counter_led_3_tb();
    reg Clk_0;
    reg Reset_n_0;
    reg [7:0]Ctrl_n;
    wire Led_0;
    counter_led_3 counter_led_0_inst0(
        .Clk(Clk_0),
        .Reset_n(Reset_n_0),
        .Ctrl_n(Ctrl_n),
        .Led(Led_0)
    );
    initial Clk_0=1;
    always #10 Clk_0 =!Clk_0;
    defparam counter_led_3.MCNT=100000;
    initial begin
        Reset_n_0 <= 0;
        Ctrl_n =0;
        #201;
        Reset_n_0 <=1;
        #2000;
        Ctrl_n=8'b1000_0110;
        #200000000;
        $stop;
    end
endmodule

FPGA 让LED灯按照指定的亮灭模式亮灭,亮灭模式未知,由用户随机指定_Verilog

标签:Reset,Led,亮灭,Clk,counter,指定,模式,led,reg
From: https://blog.51cto.com/u_16055951/7540952

相关文章

  • Chrome 指定版本
    查找版本https://raw.githubusercontent.com/Bugazelle/chromium-all-old-stable-versions/master/chromium.stable.json找到之后可以根据链接直接下载(有梯子)......
  • Soul CEO张璐创新平台安全治理模式,筑牢用户健康上网的安全防线
    作为备受年轻人喜爱的新型开放式社交平台,SoulApp自成立以来就致力于为用户打造一个真实无压力的社交空间,帮助用户摆脱现实的束缚,在其构建的社交空间里自在互动,尽情真实。为了营造真实、温暖、安全、多元的平台生态,保障用户的安全体验,SoulCEO张璐带领团队,持续升级平台风控......
  • redis三主三从哨兵模式 redis三主三从集群
    转自:https://blog.51cto.com/u_16213559/7033634conf复制/usr/local/src/redis-6.2.6文件夹下redis.conf文件到/usr/local/src/master-slave文件夹中命名为redis6381.conf1#允许访问的地址,默认是127.0.0.1,会导致只能在本地访问。修改为0.0.0.0则可以在任意IP访问,生产环境不......
  • Jmeter5.4参数化上传文件提示系统找不到指定的文件的解决方法
    问题:java.io.FileNotFoundException:D:\A_JFKJ\A_a项目资料\1_20230906国家教育考试指挥系统V2.10\测试数据\报名_编排_考场对应\${username}-报名.xlsx(系统找不到指定的文件。) 解决方法:在文件路径${}参数化内容前方加反斜杠“\”即可解决  ......
  • 【WCH蓝牙系列芯片】-基于CH582开发板—四种低功耗模式电流测试
    ---------------------------------------------------------------------------------------------------------------------在WCH沁恒官方提供的CH583的EVT资源包中,找到BLE文件中找到PW这个工程文件,这是一个系统睡眠模式并唤醒例程;其中GPIOA_5作为唤醒源,共4种功耗等级。芯片提......
  • Java 21 新特性:switch的模式匹配
    在之前的Java17新特性中,我们介绍过关于JEP406:switch的模式匹配,但当时还只是关于此内容的首个预览版本。之后在JDK18、JDK19、JDK20中又都进行了更新和完善。如今,在JDK21中,该特性得到了最终确定!下面,我们就再正式学习一下该功能!在以往的switch语句中,对于case中的类型匹配限......
  • 指定eclipse启动使用jdk
    右键点击快捷方式,属性在目标一项中添加启动参数 -vm"C:\ProgramFiles(x86)\Java\jdk1.6.0_24\bin\javaw.exe"注意jdk路径用双引号包围上,因为这个路径中含有空格。==================================================......
  • pip install 安装模块指定版本
    一、Scipy模块指定安装版本pipinstallScipy#最新版本pipinstallScipy==1.2.1#指定版本pipinstall'Scipy>=1.2.1'#最小版本免责声明:本号所涉及内容仅供安全研究与教学使用,如出现其他风险,后果自负。参考、来源:https://blog.csdn.net......
  • 使用策略模式优化你的代码
    策略模式简介策略模式(StrategyPattern:Defineafamilyofalgorithms,encapsulateeachone,andmaketheminterchangeable.)中文解释为:定义一组算法,然后将这些算法封装起来,以便它们之间可以互换,属于一种对象行为型模式。总的来说策略模式是一种比较简单的模式,听起来可能有点费......
  • Windows-Sqlserver2016对指定数据库进行扩容
    前言:之所以会想起来写这一篇文章,是因为工作中正好需要用到,所以记录一下如何对想要的数据库进行扩容操作实际上在处理这种问题之前,我翻阅了许多文章,也没找到自己想要的答案,也正因为如此打算自己写一篇关于扩容数据库的操作文章 搭建实验环境:在扩容之前,我们先创建一个数据库......