verilog赋值问题

reg [0:2]WX;
WX=3'b000;

always@(posedge CLK)
begin
WX=WX+1;
SS=WX;
end
编译错误始终指向第二句,寄存器这么赋值应该没问题,不知道该怎么改。目的是想让SS实现0到7循环

寄存器不能直接这样赋值,想初始化的话在always里面用reset信号初始化,另外最好用非阻塞赋值<=
ss 0到7的话可以直接对ss赋值
always @(posedge clk or negedge reset)
begin
if(!reset)
ss<=3'b0;
else if(ss!=3'd7)//不等于7的时候加1
ss<=ss+1'b1;
else ss<=3'd0;//等于7的时候循环到0
end
温馨提示:答案为网友推荐,仅供参考
相似回答