Compiler errors 如何修复移位运算符语法错误?

Compiler errors 如何修复移位运算符语法错误?,compiler-errors,verilog,system-verilog,bit-shift,Compiler Errors,Verilog,System Verilog,Bit Shift,我试图编译代码,但在使用算术右移运算符时出错:>。代码如下: if (from_id_hmic[117:115]==3'b011) begin reg_stat[rt[0]]>>>1'b1; end 以下是错误: Error: E:/Modeltech_pe_edu_10.0/examples/hmic.v(86): near ">>>": syntax error, unexpected >>> 我的错误是什么?您的Verilog

我试图编译代码,但在使用算术右移运算符时出错:
>
。代码如下:

if (from_id_hmic[117:115]==3'b011)
begin
  reg_stat[rt[0]]>>>1'b1; 
end
以下是错误:

Error: E:/Modeltech_pe_edu_10.0/examples/hmic.v(86): near ">>>": syntax error, unexpected >>>

我的错误是什么?

您的Verilog语句不完整。你需要做个作业。仅仅尝试执行移位是不够的,就像
a+2是一个不完整的语句。你可能想要这样的东西:

result = reg_stat[rt[0]]>>>1'b1;
或许:

reg_stat[rt[0]] >>>= 1'b1; 
>>=
是一种“二进制算术移位赋值运算符”(参考IEEE标准1800-2009“运算符和数据类型”)