如何创建工程 新建一个测试平台 如何模拟 如何编译 如何配置引脚 如何导入程序 前面文章都已经介绍过了 这里不赘述了 大部分朋友已经学会了 很简单 如果又忘记了 可以看前面的文章复习一下
实验目的
每一秒钟状态改变一次 实现流水灯效果
代码
module lsd410(
rst_n,
clk,
led,
);
input clk;
input rst_n;
output reg [3:0]led;
reg [1:0]state;
reg clk_1s;
reg [25:0]cnt;
//计数部分 (可以直接引用上篇的计数部分)
always@(posedge clk or negedge rst_n)
begin
if(!rst_n)
cnt<=0;
else if(cnt==26'd24_999_999)//(因为是时序逻辑 下面是上升沿控制 所以0.5s改变一次时钟即可)
cnt<=0;
else
cnt<=cnt+1;
end
//1s周期控制部分
always@(posedge clk or negedge rst_n)
begin
if(!rst_n)
clk_1s<=1;
else if(cnt==26'd24_999_999)
clk_1s<=~clk_1s;
else
clk_1s<=clk_1s;
end
always@(posedge clk_1s or negedge rst_n)
begin
if(!rst_n)
begin
led<=4'b11111;
state<=0;
end
else
begin
case(state)//利用case来实现流水灯
0:begin
led<=4'b0111;
state<=1;