工具:quartus18.1 lite
代码
module biao_v(clk,reset,pause,msh,msl,sh,sl,minh,minl);
//其中msh为百分秒的十位,msl为百分秒的个位,sh为秒的十位,sl为秒的个位,minh为分的十位,minl为分的个位
input clk,reset,pause;//时钟,复位,暂停
output [3:0] msh,msl,sh,sl,minh,minl;//输出
reg [3:0] msh,msl,sh,sl,minh,minl;//寄存器
reg count1,count2;//寄存器
//设置百分秒
always @(posedge clk or posedge reset)//时钟上升沿或复位上升沿
begin
if(reset)//信号为复位时
begin
{msh,msl}<=0;//百分秒十位和百分秒个位赋0
count1<=0;//寄存器count1赋0
end
else if(!pause)//信号不是复位不是暂停时
begin
if(msl==9)//如果百分秒个位为9
begin
msl<=0;//百分秒个位赋0
if(msh==9)//如果百分秒十位为9
begin
msh<=0;//百分秒十位赋0
count1<=1;//寄存器count1赋1
end
else//如果百分秒十位不为9
msh<=msh+1;//百分秒十位加1
end
else//如果百分秒个位不为9
begin
msl<=msl+1;//百分秒个位加1
count1<=0;//寄存器coount1赋0
end
end
end
//设置秒
always @(po