1 / 4
文档名称:

Verilog流水灯实验报告.pdf

格式:pdf   大小:157KB   页数:4页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Verilog流水灯实验报告.pdf

上传人:buhuixin1314 2022/6/28 文件大小:157 KB

下载得到文件列表

Verilog流水灯实验报告.pdf

文档介绍

文档介绍:流水灯实验报告
实验二 流水灯
一、 实验目的
学会编写一个简单的流水灯程序并掌握分频的方法。熟悉 Modelst==1)
clk_4 <= 1; //当计数器为 1 时,时钟跳变为 1
else if(cnt==3)
clk_4 <= 0; //当计数器为 3 时,时钟跳变为 0
endmodule
2、测试文件
`timescale 1ns/1nsmodule tb_div_clk();
reg clk;
reg rst_n;
wire clk_4;
initial
begin
clk = 0;
rst_n = 0;
#100
rst_n = 1;
end
always #5 clk=~clk;
div_clk div_clk_inst(
.clk(clk),
.rst_n(rst_n),
.clk_4(clk_4)
);
endmodule
(二) 流水灯
1、 程序文件
module LSD( //模块名与文件名一致。定义端口列表,
input wire clk, //输入线型
input wire rst_n,
output reg[3:0] led
);
reg[25:0] cnt; //中括号定义位宽,定义中间变量 cnt
reg clk_4;
always@(posedge clk)
if(rst_n==0)
cnt <= 0; //复位为 0,计数器也为 0
else if(cnt==49_999_999) //当计数器=49999999 时清零(可用 else if)
cnt <= 0;
else
cnt <= cnt+1; //计数器自加 1
always@(posedge clk or negedge clk) //异步复位
if(rst_n==0)
clk_4 <= 0; //复位为 为 0
else if(cnt==24_999_999)
clk_4 <= 1; //当计数器为时,时钟跳变为 1
else if(cnt==49_999_999)
clk_4 <= 0; //当计数器为时,时钟跳变为 0
else
clk_4 = clk_4;
alw