|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
求助
小弟乃verilog新手,以下这个程序不知道错误在哪,仿真就是不正确呢,表现为q的值始终为0,求各位大仙多多指教!
module zdws(q,clk,clr,plus,minus);
input clk,clr,plus,minus;
output[7:0]q;
reg[7:0]q;
always@(posedge clk or negedge clr)
begin
if(!clr) q<=8'h00;
else
case({plus,minus})
2'b10:begin //递增
if(q[3:0]==4'd9)
begin
q[3:0]<=4'd0;
if(q[7:4]==9)q[7:4]=4'd0;
else q[7:4]<=q[7:4]+1'b1;
end
else q[3:0]<=q[3:0]+1'b1;
end
2'b01:begin //递减
if(q[3:0]==4'd0)
begin
q[3:0]<=4'd9;
if(q[7:4]==0)q[7:4]=4'd9;
else q[7:4]<=q[7:4]-1'b1;
end
else q[3:0]<=q[3:0]-1'b1;
end
2'b11:q<=q; //暂停
default:q<=4'bx;
endcase
end
endmodule |
|