zoukankan      html  css  js  c++  java
  • FPGA之verilog流水灯小程序

    同样话不多说直接上代码:

    //自己修改过的流水灯,从板子上的led4亮到led1,延迟改为了2s
    module led_water(
                 led,
                 clk,
                 rst_n

                 ); // 模块名及端口参数

                input clk; // 输入端口定义,50M 时钟
               input rst_n;
               output[3:0] led; // 输出端口定义
              reg[3:0] led; //变量led_out 定义为寄存器型
              reg[26:0] counter; /*变量led_out 定义为寄存器型,至于为甚么要定义27位宽,
                                          是因为延迟时间的要求,要计数100000000次的话,那么该次数
                                          值在2的26次方到2的27次方之间,所以采用27位宽*/
    /*接下来严格按照明德扬代码编写规范,一个always中只一个输出信号。第一个always块用于编写计数器*/
    always @(posedge clk or negedge rst_n)begin
    if(rst_n == 1'b0)begin
    counter <= 0;
    end
    else if(counter == 27'd99999999)begin /*时钟周期为50MHz,那么一个时钟周期就是1/50M=20ns,
    那么若要实现延迟2s下一个灯亮的话,就要计数时钟周期100000000次。*/
    counter <= 0;
    end
    else begin
    counter <= counter+1;
    end
    end
    //第二个always块用于编写流水灯
    always @(posedge clk or negedge rst_n)begin
    if(rst_n == 1'b0)begin
    led <= 4'b0000;
    end
    else if(led == 4'b0000 && counter == 99_999_999)begin
    led <= 4'b1111;
    end
    else if(counter == 99_999_999)begin
    led <= led<<1;
    end
    end
    endmodule

  • 相关阅读:
    SAP OPEN UI5 Step 8: Translatable Texts
    SAP OPEN UI5 Step7 JSON Model
    SAP OPEN UI5 Step6 Modules
    SAP OPEN UI5 Step5 Controllers
    SAP OPEN UI5 Step4 Xml View
    SAP OPEN UI5 Step3 Controls
    SAP OPEN UI5 Step2 Bootstrap
    SAP OPEN UI5 Step1 环境安装和hello world
    2021php最新composer的使用攻略
    Php使用gzdeflate和ZLIB_ENCODING_DEFLATE结果gzinflate报data error
  • 原文地址:https://www.cnblogs.com/curatan/p/7419144.html
Copyright © 2011-2022 走看看