verilog shift operator基本错误

时间:2011-04-18 16:27:09

标签: 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 >>>

我还有更多这样的陈述,但它们都给出了同样的错误。我的错是什么?谢谢。

1 个答案:

答案 0 :(得分:2)

你有一个不完整的Verilog声明。你需要做一个任务。只是尝试执行转换是不够的,就像a + 2;是一个不完整的陈述一样。你可能想要这样的东西:

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

或者也许:

reg_stat[rt[0]] >>>= 1'b1; 

>>>=是“二进制算术移位赋值运算符”(参见IEEE Std 1800-2009“运算符和数据类型”)。