zoukankan      html  css  js  c++  java
  • 【iCore4 双核心板_FPGA】例程一:GPIO输出实验——点亮LED

    实验现象:

    三色LED循环点亮。

    核心源代码:

    module led_ctrl(
        input clk_25m,
        input rst_n,
        output fpga_ledr,
        output fpga_ledg,
        output fpga_ledb
    );
    
    //--------------------cnt----------------------------------//
    reg [24:0]cnt;
    reg [2:0]led_cnt;
    
    always @ (posedge clk_25m or negedge rst_n)
        if(!rst_n)
            begin
                cnt <= 25'd0;
                led_cnt <= 1'd0;
            end
        else if(cnt == 25'd5000000)
            begin
                cnt <= 25'd0;
                if(led_cnt == 3'd2)
                    led_cnt <= 3'd0;
                else 
                    led_cnt <= led_cnt + 1'd1;
            end        
        else
            begin
                cnt <= cnt + 1'd1;
            end
        
    //--------------------led_ctrl----------------------------//
    /*led状态切换状态机*/
    reg ledr,ledg,ledb;
    
    always @ (posedge clk_25m or negedge rst_n)
        if(!rst_n)
            begin
                ledr <= 1'd1;
                ledg <= 1'd1;
                ledb <= 1'd1;
            end
        else 
            case(led_cnt)                        
                3'd0:                                //红灯亮
                    begin
                        ledr <= 1'd0;
                        ledg <= 1'd1;
                        ledb <= 1'd1;
                    end
                3'd1:                                //绿灯亮
                    begin
                        ledr <= 1'd1;
                        ledg <= 1'd0;
                        ledb <= 1'd1;
                    end
                3'd2:                                //蓝灯亮
                    begin
                        ledr <= 1'd1;
                        ledg <= 1'd1;
                        ledb <= 1'd0;
                    end
                    default:                        //都不亮
                    begin
                        ledr <= 1'd1;
                        ledg <= 1'd1;
                        ledb <= 1'd1;
                    end
            endcase
    
    assign {fpga_ledr,fpga_ledg,fpga_ledb}    = {ledr,ledg,ledb};    
    
    //--------------------endmodule---------------------------//
    endmodule

    源代码下载链接:

    链接:http://pan.baidu.com/s/1nu74Iy1 密码:dz3y

    iCore4链接:

  • 相关阅读:
    Two Sum II
    Subarray Sum
    Intersection of Two Arrays
    Reorder List
    Convert Sorted List to Binary Search Tree
    Remove Duplicates from Sorted List II
    Partition List
    Linked List Cycle II
    Sort List
    struts2结果跳转和参数获取
  • 原文地址:https://www.cnblogs.com/xiaomagee/p/7266617.html
Copyright © 2011-2022 走看看