开发工具:
文件大小: 2kb
下载次数: 0
上传时间: 2020-06-06
详细说明:`timescale 1ns / 1ps
module flow(
clk,
reset,
led
);
input clk;
input reset;
output [3:0] led;
reg [3:0] led;
reg [11:0] counter; //计数器
reg [2:0] state; //状态控制
//计数器
always (posedge clk or negedge reset)
begin
if(!reset) begin
counter <= 12'd0;
end
else if ( counter == 12'd100) begin
counter <= 12'd0;
end
else begin
counter <= counter + 12'd1;
end
end
//状态跳转,通过计数器的计数值决定
always (posedge clk or negedge reset)
begin
if(!reset) begin
state <= 3'd0;
end
else if( counter < 12 xss=removed>= 12'd20 && counter < 12 xss=removed>= 12'd40 && counter < 12 xss=removed>= 12'd60 && counter < 12 xss=removed>= 12'd80 && counter < 12'd100 )
state <= 3'd4;
end
//led状态控制
always (posedge clk or negedge reset)
begin
if(!reset) begin
led <= 4'b1111;
end
else begin
case(state)
3'd0:led <= 4'b1110; //led低电平时点亮,默认状态为灭
3'd1:led <= 4'b1101; //以下为依次点亮各灯
3'd2:led <= 4'b1011;
3'd3:led <= 4'b0111;
3'd4:led <= 4'b1111;
default:led <= 4'b1111;
endcase
end
end
endmodule
`timescale 1ns / 1ps
module test;
reg clk;
reg reset;
wire [3:0] led;
initial begin
clk = 1'b0;
reset = 1'b0;
repeat(10) (posedge clk);
reset = 1'b1;
repeat(1000) (posedge clk);
$finish;
end
always #10 clk = ~clk;
flow u0 (
.clk(clk),
.reset(reset),
.led(led)
);
endmodule
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.