2

我正在尝试编译我的代码,但在使用算术右移运算符时出现错误:>>>. 这是代码:

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 >>>

我的错误是什么?

4

1 回答 1

2

您有一个不完整的 Verilog 语句。你需要做一个任务。仅仅试图进行转变是不够的,就像a + 2;一个不完整的陈述一样。你可能想要这样的东西:

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

也许:

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

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

于 2011-04-18T17:08:05.833 回答