请教大神们,下面的代码有一个错误,死活找不出啊
时间:10-02
整理:3721RD
点击:
/*信号定义:
CLR: 异步复位信号
CLK: 时钟信号
PAUSE:暂停信号
MUH,MSL:百分秒的高位和低位
SH,SL:秒信号的高位和低位
MH,ML:分钟信号的高位和低位*/
module paobiao(CLR,CLK,PAUSE,MUH,MSL,SH,SL,MH,ML);
input CLK,CLR;
input PAUSE;
output[3:0] MSH,MSL,SH,SL,MH,ML;
reg[3:0] MSH,MSL,SH,SL,MH,ML;
reg cn1,cn2; //cn1为百分秒向秒的进位,cn2为秒向分的进位
//百分秒计数进程,每计数100,cn1产生一个进位
always @(posedge CLK or posedge CLR)
begin
if(CLR) begin //异步复位
{MSH,MSL}<=8'h00;
cn1<=0;
end
else if(!PAUSE) //PAUSE为0时正常计数,为1是暂停计数
begin
if(MSL==9) begin
MSL<=0;
if(MSH==9)
begin MSH<=0; cn1<=1; end
else MSH<=MSH+1;
end
else begin
MSL<=MSL+1; cn1<=0;
end
end
end
//秒计数进程,每计满60,cn2产生一个进位
always@(posedge cn1 or posedge CLR)
begin
if(CLR) begin //异步复位
{SH,SL}<=8'h00;
cn2<=0;
end
else if(SL==9) //低位是否为9
begin
SL<=0;
if(SH==5) begin SH<=0; cn2<=1;end
else SH=SH+1;
end
else
begin SL<=SL+1; cn2<=0; end
end
//分钟计数进程,每满60,自动清零
always@(posedge cn2 or posedge CLR)
begin
if(CLR) begin //异步复位
{MH,ML}<=8'h00; end
else if(ML==9) begin //低位是否为9
ML<=0;
if(MH==5) MH<=0;
else MH=MH+1;
end
else
ML<=ML+1;
end
endmodule
CLR: 异步复位信号
CLK: 时钟信号
PAUSE:暂停信号
MUH,MSL:百分秒的高位和低位
SH,SL:秒信号的高位和低位
MH,ML:分钟信号的高位和低位*/
module paobiao(CLR,CLK,PAUSE,MUH,MSL,SH,SL,MH,ML);
input CLK,CLR;
input PAUSE;
output[3:0] MSH,MSL,SH,SL,MH,ML;
reg[3:0] MSH,MSL,SH,SL,MH,ML;
reg cn1,cn2; //cn1为百分秒向秒的进位,cn2为秒向分的进位
//百分秒计数进程,每计数100,cn1产生一个进位
always @(posedge CLK or posedge CLR)
begin
if(CLR) begin //异步复位
{MSH,MSL}<=8'h00;
cn1<=0;
end
else if(!PAUSE) //PAUSE为0时正常计数,为1是暂停计数
begin
if(MSL==9) begin
MSL<=0;
if(MSH==9)
begin MSH<=0; cn1<=1; end
else MSH<=MSH+1;
end
else begin
MSL<=MSL+1; cn1<=0;
end
end
end
//秒计数进程,每计满60,cn2产生一个进位
always@(posedge cn1 or posedge CLR)
begin
if(CLR) begin //异步复位
{SH,SL}<=8'h00;
cn2<=0;
end
else if(SL==9) //低位是否为9
begin
SL<=0;
if(SH==5) begin SH<=0; cn2<=1;end
else SH=SH+1;
end
else
begin SL<=SL+1; cn2<=0; end
end
//分钟计数进程,每满60,自动清零
always@(posedge cn2 or posedge CLR)
begin
if(CLR) begin //异步复位
{MH,ML}<=8'h00; end
else if(ML==9) begin //低位是否为9
ML<=0;
if(MH==5) MH<=0;
else MH=MH+1;
end
else
ML<=ML+1;
end
endmodule
编译时没提示的吗? 端口名称和里面寄存器名称核对一下 有点乱
有一个什么错误?
我知道什么错了,根本是我的modelsim证书没搞好,一直不能编译。大神这个的测试程序怎么写。
没有错误,是软件没有完全破解,就开始去编译了。