首页 > 其他分享 >FPGA 让2个LED灯按照设置的模式各自在一个变化循环内独立亮灭变化

FPGA 让2个LED灯按照设置的模式各自在一个变化循环内独立亮灭变化

时间:2023-09-21 10:05:47浏览次数:65  
标签:Reset LED 亮灭 FPGA Clk CtrlA CtrlB Time reg

代码如下:

//让多个LED灯按照设置的模式各自在一个变化循环内独立亮灭变化。
module counter_led_5(
    Clk,
    Reset_n,
    CtrlA,
    CtrlB,
    Time,
    Led
);
    input Clk;
    input Reset_n;
    input [7:0]CtrlA;
    input [7:0]CtrlB;
    input [31:0]Time;
    output reg [1:0]Led;
 
    reg [31:0]counter;
    
    always@(posedge Clk or negedge Reset_n)
    if(!Reset_n)
        counter <= 0;
    else if(counter == Time - 1)
        counter <= 0;
    else
        counter <= counter + 1'b1;
    
    reg [2:0]counter2;
    always@(posedge Clk or negedge Reset_n)
    if(!Reset_n) 
        counter2 <= 0; 
    else if(counter == Time - 1)
        counter2 <= counter2 + 1'b1;
 
    always@(posedge Clk or negedge Reset_n)
    if(!Reset_n)
        Led <= 2'd0;
    else case(counter2)
        0:begin Led[0] <= CtrlA[0]; Led[1] <= CtrlB[0]; end
        1:begin Led[0] <= CtrlA[1]; Led[1] <= CtrlB[1]; end
        2:begin Led[0] <= CtrlA[2]; Led[1] <= CtrlB[2]; end
        3:begin Led[0] <= CtrlA[3]; Led[1] <= CtrlB[3]; end
        4:begin Led[0] <= CtrlA[4]; Led[1] <= CtrlB[4]; end
        5:begin Led[0] <= CtrlA[5]; Led[1] <= CtrlB[5]; end
        6:begin Led[0] <= CtrlA[6]; Led[1] <= CtrlB[6]; end
        7:begin Led[0] <= CtrlA[7]; Led[1] <= CtrlB[7]; end
        default:begin Led[0] <= Led; Led[1] <= Led[1]; end
    endcase
            
endmodule

仿真代码如下:

`timescale 1ns/1ns
 
module counter_led_5_tb;
 
    reg Clk;
    reg Reset_n;
    reg [7:0]CtrlA,CtrlB;
    reg [31:0]Time;
    wire [1:0]Led;
 
    counter_led_5 counter_led_5(
        .Clk(Clk),
        .Reset_n(Reset_n),
        .CtrlA(CtrlA),
        .CtrlB(CtrlB),
        .Time(Time),
        .Led(Led)
    );
    
    initial Clk = 1;
    always #10 Clk = !Clk;
    
    initial begin
        Reset_n = 0;
        CtrlA = 0;
        CtrlB = 0;
        Time = 0;
        #201;
        Reset_n = 1;
        #2000;
        Time = 2500;
        CtrlA = 8'b1000_0110;
        CtrlB = 8'b1101_0010;
        #20000000;  
        Time = 25000;
        CtrlA = 8'b1010_0110;
        CtrlB = 8'b1100_1010;
        #20000000;    
        $stop;
    end
    
endmodule

FPGA 让2个LED灯按照设置的模式各自在一个变化循环内独立亮灭变化_Verilog

标签:Reset,LED,亮灭,FPGA,Clk,CtrlA,CtrlB,Time,reg
From: https://blog.51cto.com/u_16055951/7548646

相关文章

  • 关于FAILED: ParseException line 4:0 cannot recognize input near ')' 'row' 'fo
    问题描述在我使用建表语句在hive数据库里面建表时,就出现了这个错误:问题解决指示的是第四行数据没有被访问到;那就是上面的语句有问题:观察发现,我定义的count字符串后面多加了一个逗号,去掉再执行建表语句,就没问题啦!......
  • AiStudio学习-PaddleDirection应用
    你应该把精力放在值得的人和事上~在AiStudio平台应用1.[AI达人特训营第三期]PPYOLOE遇上ViT助力铁路工人安全作业大模型2.[智慧工厂]RT-DETR铁路工人安全作业微调模型,给这一个星期的速通(但没完全通)做个小总结。phase1:看了一遍README.md文件,由于是第一次,所以按部就班地采用paddle......
  • Hyperledger Fabric 2.5.4开发之“定义功能需求”问题
    说明本文描述了一个不再使用“系统通道”的网络(以前该通道由排序服务引导,并且由排序服务专门控制)。自Fabricv2.3发布以来,在创建通道的过程方法中,使用系统通道现在被视为遗留方案。在通道配置(在通道的最新配置区块中找到)中,可以为每个通道定义功能需求。通道配置包含三个位置,每个位......
  • FPGA 让LED灯按照指定的亮灭模式亮灭,亮灭模式未知,由用户随机指定
    代码内容如下:modulecounter_led_3(Clk,Reset_n,Ctrl_n,Led);inputClk;inputReset_n;input[7:0]Ctrl_n;outputregLed;reg[26:0]counter;parameterMCNT=100000000;always@(posedgeClkornegedgeRe......
  • Handler dispatch failed; nested exception is java.lang.NoSuchMethodError: com.fa
    报错:Handlerdispatchfailed;nestedexceptionisjava.lang.NoSuchMethodError:com.fasterxml.jackson.databind.ObjectMapper.canSerialize(Ljava/lang/Class;Ljava/util/concurrent/atomic/AtomicReference;)Zjar包冲突,找到对应的jar包删除......
  • FPGA开发板实验目录
     数字逻辑基础实验   实验文件夹名称   实验说明   lab1   4位并入串出移位寄存器   lab2   4位串入串出移位寄存器   lab3   5位串入并出移位寄存器   lab4   8线-3线编码器   lab5   8线-3线优先编码器   lab6   38......
  • 解决安装wsl时候报错的问题: WslRegisterDistribution failed with error: 0x800701bc
    在Win10或者Win11上安装wsl的时候,可能会遇到如下的错误信息:Error:0x800701bcWSL2??????????????????https://aka.ms/wsl2kernelPressanykeytocontinue...  这个是由于系统内置的WSL内核过低导致的,可以到如下的网址下载升级包:https://learn.microsoft.com/zh-cn......
  • Failed to determine a suitable driver class(maven不编译配置文件)
    现象:启动报错 问题排查与处理:1:根据错误翻译,是datasource没有一些配置属性。不过检查下来写法没有啥问题 2:注意启动端口是不是生效了。发现是配置文件没起作用 3:maven添加resources<resources><resource><directory>src/main/java</dir......
  • 基于Xines广州星嵌OMAPL138 DSP+ARM+FPGA无人机避障系统
    基于Xines广州星嵌OMAPL138 DSP+ARM+FPAGA硬件平台、毫米波雷达平台以及大疆的无人机平台,开发了一套将毫米波雷达与单目视觉相融合的无人机自主避障演示系统;并利用该无人机自主避障演示系统做了避障飞行实验,初步验证了融合方案在无人机自主避障飞行中的可行性。    ......
  • Mac Source Tree fatal: Authentication failed解决办法
    这种情况一般是用户名和密码时间太长,sourceTree自动给你过期了。1.先打开协同偏好设置-高级,把下图中的账号删除了然后你再次推送时,会提醒是输入用户名和密码2.在已经登录的git地址上,退出一下,重新返回登录页面,查看账号和密码就可以了直接在登录页面,把password的dom修改生tex......