always @(posedge clk )块里面包含for循环?
verilog跟软件还是有区别的,这么写是无法综合成为硬件实现的。
从语法上看,当时钟clk上升沿来临时,只要year_s_in>0,就不停的赋值给year_s。
死循环了吧?你想在一个时钟内全部计算出来吗?
always @(posedge clk )通常综合出寄存器,而寄存器每个时钟只能赋一次值,多次赋值,最后一次也会覆盖前面的赋值,只能改为多周期实现。
你可以不用for,改成串行输入year_s_in,利用clk上升沿采样,然后判断,每个时钟进行一次计算。