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 に答える