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;
文章来源地址https://www.toymoban.com/news/detail-795374.html
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 后亮循环
实验板:文章来源:https://www.toymoban.com/news/detail-795374.html
到了这里,关于实验 6 流水灯设计的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!