【iCore1S 双核心板_FPGA】例程三:计数器实验——计数器的使用

实验现象:

程序下载成功后,程序中的计数器开始计数,每次计满后,计数器清零,三色LED中红色LED的状态反转。可以看到,红色LED以一定的时间间隔闪烁。

核心源代码:

//--------------------Module_counter------------------//
module counter(
    input clk_12m,
    output fpga_ledr
);

//-----------------------rst_n------------------------//
    reg rst_n;
    reg [3:0]cnt_rst;
    
    always@(posedge clk_12m)
        begin
            if(cnt_rst == 4'd10)
                begin
                    rst_n <= 1'd1;
                    cnt_rst <= 4'd10;
                end
            else cnt_rst <= cnt_rst + 1'd1;
        end

//-----------------------led-------------------------//
    reg [19:0]cnt_led;
    reg led;
    
    always@(posedge clk_12m or negedge rst_n)
        begin
            if(!rst_n)
                begin
                    cnt_led <= 20'd0;
                    led <=1'd1;
                end 
            else if(cnt_led == 20'd1000000)
                begin 
                    led <= ~led;
                    cnt_led  <= 20'd0;
                end 
            else cnt_led <= cnt_led + 1'd1;
        end
        
    assign fpga_ledr = led;
    
//------------------------endmodule------------------//
endmodule 

代码包下载:

链接:http://pan.baidu.com/s/1bpfEvU3 密码:3yu1

posted @ 2017-07-21 08:58  XiaomaGee  阅读(375)  评论(0编辑  收藏  举报