新手求助,关于一个简单移位器代码
时间:10-02
整理:3721RD
点击:
我想做一个简单的移位器,代码如下:
编译提示错误
Error (10170): Verilog HDL syntax error at circuit.v(15) near text "="
即 Y[1:0]=W[3:2];有错误,但我没有检查出来哪里有问题,请大侠指点下
module circuit(S,W,Y);
input[1:0] S;
input[3:0] W;
output reg[3:0] Y;
always@(S)
begin
case(S)
2'b00:Y=W;
2'b01:
Y[3]=W[0];
Y[2:0]=W[3:1];
2'b10:
Y[3:2]=W[1:0];
Y[1:0]=W[3:2];
2'b11:
Y[3:1]=W[2:0];
Y[0]=W[3];
end
endmodule
编译提示错误
Error (10170): Verilog HDL syntax error at circuit.v(15) near text "="
即 Y[1:0]=W[3:2];有错误,但我没有检查出来哪里有问题,请大侠指点下
module circuit(S,W,Y);
input[1:0] S;
input[3:0] W;
output reg[3:0] Y;
always@(S)
begin
case(S)
2'b00:Y=W;
2'b01:
Y[3]=W[0];
Y[2:0]=W[3:1];
2'b10:
Y[3:2]=W[1:0];
Y[1:0]=W[3:2];
2'b11:
Y[3:1]=W[2:0];
Y[0]=W[3];
end
endmodule
每个分支要加begin 和 and吧!verilog记得不是太清了
是的 case 的 每个分支内,如果只有一个分号不用加begin end, 但是多个分号必须用begin end 括起来表示处于同一个分支。
楼上正解
