📄 fdivyear.v
字号:
//=====对年计数,并根据哪年是闰年产生leapyear信号=====//
module fdivyear(clki,clr,year,leapyear);
input clki,clr;
output year,leapyear;
reg[7:0] year;
reg leapyear;
always @(posedge clki or posedge clr)
begin
if(clr) // 异步清零
year=0;
else // 计数
begin
if(year>=8'h99)
year=0;
else if(year[3:0]>=9) // 将二进制码变为BCD码
year=year+7;
else
year=year+1;
// 列举出产生闰年的条件
leapyear= (year==8'h4 || year==8'h8 || year==8'h12 || year==8'h16 ||
year==8'h20 || year==8'h24 || year==8'h28 || year==8'h32 ||
year==8'h36 || year==8'h40 || year==8'h44 || year==8'h48 ||
year==8'h52 || year==8'h56 || year==8'h60 || year==8'h64 ||
year==8'h68 || year==8'h72 || year==8'h76 || year==8'h80 ||
year==8'h84 || year==8'h88 || year==8'h92 || year==8'h96 );
end
end
endmodule
/* 闰年的判断法:
最简单的方法是求模,但是Max+PlusII并不
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -