实验 6 流水灯设计

6.1 实验目的

编 写 Verilog HDL 代 码 驱 动 开 发 板 上 10 颗 LED 实现流水灯效果

6.2 实 验 仪 器 与 器 材

1. EDA 开发软件 一 套

2.微机 一 台

3.实验开发系统 一 台

4.打印机 一 台

5.其他器件与材料 若 干

6.3 实 验 说 明

1、 10 位的流水灯,从左到右流水,每隔 500ms 流动一下;

2、交替点亮 10 位 LED 灯,即 0.2.4.6.8LED 先 亮 , 然 后 1.3.5.7.9 LED 后亮, 循环,间隔 500ms;

6.4 实 验 要 求

1. 写出全部设计文件。

2. 编写测试向量,进行功能仿真。

3. 下 载 并 用 实 验 板 验 证 。

6.5 实 验 报 告 要 求

1. 写出全部设计文件。

module led1(

       input clk_50,

       input rst_n,

       output reg [9:0]led

);

reg [3:0]count;

reg a;

// 初始化

initial

       begin

              led <= 10'b1000000000;

              count<=4'b0000;

             

       end

// 计数 

always @ (posedge clk_50 )

begin

       if(count==4'b1001)

              begin

              count=4'b0000;

              end

             

       else

       count=count+4'b0001;

end

always @ (posedge clk_50 )

begin

       if(rst_n==1)

       begin

              case(count)

                     4'b0000:led= 10'b1000000000;4'b0101:led=10'b0100000000;

                     4'b0001:led= 10'b0010000000;4'b0110:led=10'b0001000000;

                     4'b0010:led= 10'b0000100000;4'b0111:led=10'b0000010000;

                     4'b0011:led= 10'b0000001000;4'b1000:led=10'b0000000100;

                     4'b0100:led= 10'b0000000010;4'b1001:led=10'b0000000001;

                    

             

                  

                endcase

          end

       else

       led=10'b0000000000;

end

endmodule

测试文件:

`timescale 1ms / 1ms

module led1tb;

  reg clk_50, rst_n;

  wire [9:0]led;

led1 U1(.led(led), .clk_50(clk_50), .rst_n(rst_n));

  initial begin

    {clk_50, rst_n} = 1'b0;

        #1000 rst_n=1'b1;

  

    forever #250 clk_50 = ~clk_50;

  end

endmodule


2. 打印仿真报告和波形。

3. 分析测试结果

从1000000000——0100000000——0010000000 ——0001000000——0000100000——0000010000——0000001000——0000000100——0000000010——0000000001

及灯0.2.4.6.8LED 先 亮 , 然 后 1.3.5.7.9 LED 后亮循环


实验板:

                    

  • 42
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值