查看: 114|回复: 2

[原创] 流水灯代码

[复制链接]

4

主题

0

好友

106

积分

童生

Rank: 2

该用户从未签到

发表于 2016-8-17 21:43:25 |显示全部楼层
下面是流水灯的代码,内含解释。
module Running_LED
(
        //输入端口
        CLK_50M,RST_N,       
        //输出端口
        led               
);

input CLK_50M;
input RST_N;
output [7:0] led;

reg [7:0] led; // 8个LED
reg [23:0] counter;//分频计数器
reg [3:0] led_state; //定义状态机的变量  9种情况 4位二进制表示
reg clk_div;  //分频器变量

always @(posedge CLK_50M)   //时钟上升沿、、、、。
  begin
     if(counter==24'h500000) //计数器
      begin
        clk_div<=~clk_div;  //产生新的频率,分频器产生
        counter<=24'h000000;
      end
     else
        counter<=counter+1'b1;
  end


always @(posedge clk_div or negedge RST_N)
begin
    if(!RST_N)
      begin
       led<=8'hff;
       led_state<=4'b0;
                if(led_state > 4'b1000)
                        led_state <= 4'b0000;
      end
    else
     begin
      case (led_state)  //状态机
        4'b0000: led<=8'b1111_1111;
        4'b0001: led<=8'b1111_1110;
        4'b0010: led<=8'b1111_1101;
        4'b0011: led<=8'b1111_1011;
        4'b0100: led<=8'b1111_0111;
        4'b0101: led<=8'b1110_1111;
        4'b0110: led<=8'b1101_1111;
        4'b0111: led<=8'b1011_1111;
        4'b1000: led<=8'b0111_1111;
        default:led<=8'b0000_0000;
      endcase
     led_state<=led_state+1'b1;
    end
end

endmodule

1、下面介绍阻塞赋值和非阻塞赋值的用法:
     阻塞赋值(=)是顺序执行的,一般用于组合逻辑电路
     非阻塞赋值(<=)是并行执行的,一般用于时序逻辑电路
**FPGA所谓的并行,并不是所有的都是并行的,在硬件语法中是指always @(xxxx)的并行。
但是always模块语句里面的代码,有些是并行,有些是顺序的。并行中有顺序。
2、组合逻辑电路和时序逻辑电路的区别
    时序逻辑电路(简称组合电路)包含记忆单元,输出不仅与输入有关,而且与其他时刻的输入状态有关。   组合逻辑电路简称时序电路)不包含记忆单元,输出与输入有关,与其他时刻的输入状态无关。




回复

使用道具 举报

21

主题

1

好友

975

积分

举人

Rank: 4

  • TA的每日心情
    郁闷
    昨天 21:14
  • 签到天数: 110 天

    [LV.6]常住居民II

    发表于 2016-8-17 22:10:00 |显示全部楼层
    谢谢分享,流水灯的程序和使用网上也比较多,我去看看有没有类似的
    回复

    使用道具 举报

    553

    主题

    3

    好友

    1万

    积分

    翰林

    Rank: 7Rank: 7Rank: 7

  • TA的每日心情
    擦汗
    2014-2-12 10:49
  • 签到天数: 150 天

    [LV.7]常住居民III

    发表于 2016-8-18 09:26:57 |显示全部楼层
    学习了!
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    关闭

    站长推荐上一条 /5 下一条


    手机版|爱板网 |网站地图  

    GMT+8, 2016-12-11 02:28 , Processed in 0.108619 second(s), 10 queries , Memcache On.

    苏公网安备 32059002001056号

    Powered by Discuz!

    回顶部