我正在尝试编译我的程序,但在使用算术右移运算符时遇到错误:“>>>”。这是代码:
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 >>>
我还有更多这样的陈述,但它们都给出了同样的错误。我的错是什么?谢谢。
答案 0 :(得分:2)
你有一个不完整的Verilog声明。你需要做一个任务。只是尝试执行转换是不够的,就像a + 2;
是一个不完整的陈述一样。你可能想要这样的东西:
result = reg_stat[rt[0]]>>>1'b1;
或者也许:
reg_stat[rt[0]] >>>= 1'b1;
>>>=
是“二进制算术移位赋值运算符”(参见IEEE Std 1800-2009“运算符和数据类型”)。