我试图编译我的代码,但当我使用算术右移操作符时,我得到了错误。>>>
. 下面是代码。
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 Std 1800-2009 "运算符和数据类型")。