always @ (posedge CLK,negedge RST)
begin
if(EN) // 提示在这里出现错误 Error: Can't elaborate top-level user hierarchy
if(!RST)
U <= 0;
else
if(CTRL)
begin
U <= U + 1;
if(U == 15) c_b <= 1;
else c_b <= 0;
end
else
begin
U <= U - 1;
if(U == 0) c_b <= 1;
else c_b <= 0;
end
end
对于 数学的爱好者 和 wangxuede220 所说的,很抱歉,我都试过了,不管用啊!
microshuke 能再具体详细解释一下吗?多谢了,为什么有这样情况出现,如果我想在EN在低电平时,其他按键就失效,应该怎么做?
这里时钟也是一个按键,我现在做的是一个十进制 加/减 法器,CLK作为按键计数,RST起置零作用,EN我想用来作为使能,但always@()括号里又不能把EN加进去(加进去会有麻烦,因为是低电平动作,回到高电平要能继续工作就难办了)
追答clk不能作为按键。
同步电路里需要有一个稳定的时钟驱动寄存器。
应该这样写
always@(posedge clk or negedge rst)
if(~rst)
清零
else if(按了键)
加或者减
你很幽默