|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
请问一下各位存储一个数字9是不是需要一个四位的寄存器?
还有麻烦各位高人帮我看一下这个时钟计数器程序哪有错误,编译可以通过但是仿真结果不对。谢谢了。
module COUNTER (NEW_CURRENT_TIME, LOAD_NEW_C, CLK, RESET,CURRENT_TIME);
input NEW_CURRENT_TIME;
input LOAD_NEW_C;
input CLK;
input RESET;
output[5:0] CURRENT_TIME;
wire[5:0] CURRENT_TIME;
reg[5:0] I_CURRENT_TIME;
always @(posedge CLK or posedge RESET or posedge LOAD_NEW_C)
begin : xhdl_1
reg[5:0] C_T;
if (RESET == 1'b1)
begin
I_CURRENT_TIME[5] <= 0 ;
I_CURRENT_TIME[4] <= 0 ;
I_CURRENT_TIME[3] <= 0 ;
I_CURRENT_TIME[2] <= 0 ;
I_CURRENT_TIME[1] <= 0 ;
I_CURRENT_TIME[0] <= 0 ;
end
else if (LOAD_NEW_C == 1'b1)
begin
I_CURRENT_TIME <= NEW_CURRENT_TIME ;
end
else
begin
C_T =I_CURRENT_TIME;
if (C_T[0] < 9)
begin
C_T[0] = C_T[0] + 1;
end
else
begin
C_T[0] = 0;
if (C_T[1] < 5)
begin
C_T[1] =C_T[1] + 1;
end
else
begin
C_T[1] = 0;
if (C_T[2] < 9)
begin
C_T[2] =C_T[2] + 1;
end
else
begin
C_T[2] = 0;
if (C_T[3] < 5)
begin
C_T[3] =C_T[3] + 1;
end
else
begin
C_T[3] = 0;
if (C_T[5] < 2)
begin
if (C_T[4] < 9)
begin
C_T[4] =C_T[4] + 1;
end
else
begin
C_T[4] = 0;
C_T[5] = C_T[5] + 1;
end
end
else
begin
if (C_T[4] < 3)
begin
C_T[4] =C_T[4] + 1;
end
else
begin
C_T[4] = 0;
C_T[5] = 0;
end
end
end
end
end
I_CURRENT_TIME<= C_T;
end
I_CURRENT_TIME<= C_T;
end
end
assign CURRENT_TIME =I_CURRENT_TIME ;
endmodule |
|