从计数器到可控线性序列机2

本文介绍如何使用FPGA开发技术,设计一个允许用户自定义LED亮灭模式的系统。该系统支持8种不同的变化状态,每个状态持续时间可调,形成一个完整的周期。
摘要由CSDN通过智能技术生成

题目:让led灯按照指定的亮灭模式亮灭,亮灭模式未知,由用户随机指定。8个变化状态为一个周期,每个变化状态的时间值可以根据不同的应用场景选择

代码:

`timescale 1ns / 1ps
module cnt_led_4(
        clk ,
        rst_n,
        ctrl,
        TIME,
        led
    );
    input clk;
    input rst_n;
    input [7:0] ctrl;
    input [31:0] TIME;
    
    output reg led;
    
    parameter  MCNT=100_000_000;
    
    reg [31:0] cnt0;
    always @(posedge clk or negedge rst_n)begin
       if(!rst_n)
          cnt0<=0;
          else if(cnt0==TIME-1)
               cnt0<=0;
               else 
               cnt0 <= cnt0 +1;
               end
               
        reg [2:0] cnt1;
    always @(posedge clk or negedge rst_n)begin
       if(!rst_n)
          cnt1<=0;
          else if(cnt0==TIME-1)
               cnt1<=cnt1+1;

               end   
                       
    always @(posedge clk or negedge rst_n) begin
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值