📄 stopwatch.v
字号:
// StopWatch.v 秒表模块 2006-11-5 version:1.0 作者:田世坤
//输入:
//
//
//输出:
module StopWatch(ClkIn, KeyIn, State,
DSW7, DSW6, DSW5, DSW4, DSW3, DSW2, DSW1, DSW0);
input ClkIn;
input [7:0]KeyIn;
input [11:0]State;
output [3:0] DSW7, DSW6, DSW4, DSW3, DSW1, DSW0;
reg [3:0] DSW7, DSW6, DSW4, DSW3, DSW1, DSW0;
output [3:0] DSW5, DSW2;
assign DSW2 = 4'ha;
assign DSW5 = 4'ha;
parameter SSW = 12'b0111_00000000, SSWRun = 12'b0111_00000100, SSWPause = 12'b0111_00000001;
integer i = 1;
always @(posedge ClkIn)
begin
case(State)
SSW:
begin
i = 1;
DSW0 = 4'h0;
DSW1 = 4'h0;
//DSW2 = 4'ha;
DSW3 = 4'h0;
DSW4 = 4'h0;
//DSW5 = 4'ha;
DSW6 = 4'h0;
DSW7 = 4'h0;
end
SSWRun:
begin
i = i + 1;
end
SSWPause:
begin
i = i;
end
default:
begin
end
endcase
if(i == 200)
begin
i = 1; //时、分、秒
DSW0 = DSW0 + 4'h1;
if(DSW0 > 4'h9)
begin
DSW0 = 4'h0;
DSW1 = DSW1 + 4'h1;
end
if(DSW1 > 4'h9)
begin
DSW1 = 4'h0;
DSW3 = DSW3 + 4'h1;
end
if(DSW3 > 4'h9)
begin
DSW3 = 4'h0;
DSW4 = DSW4 + 4'h1;
end
if(DSW4 > 4'h5)
begin
DSW4 = 4'h0;
DSW6 = DSW6 + 4'h1;
end
if(DSW6 > 4'h9)
begin
DSW6 = 4'h0;
DSW7 = DSW7 + 4'h1;
end
if(DSW7 > 4'h5)
begin
DSW6 = 4'h0;
DSW7 = 4'h0;
end
end
end
endmodule
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -