【问题标题】:How do I fix shift operator syntax error?如何修复移位运算符语法错误?
【发布时间】:2011-04-18 16:27:08
【问题描述】:

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

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

我的错误是什么?

【问题讨论】:

    标签: compiler-errors verilog system-verilog bit-shift


    【解决方案1】:

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

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

    或许:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多