2

EDAPlayground を使用して Verilog で Multiplex 4x1 を実行していますが、それでもテストベンチ エラーが発生し、理由がわかりません。

ここに 1 つのエラーがあります。

ERROR VCP2000 「構文エラー。予期しないトークン: and[_AND]。」「デザイン.sv」26 6

module mux4x1(
  input x1, x2, x3, x4, s0, s1, 
  output f);
  wire s0_inv, out_x1, out_x2;
  wire s1_inv, out_x3, out_x4;
  wire out_mux1, out_mux2;
  wire out_mux3, out_mux4;
  
// mux2x1_1
  not (s1_inv, s1);
  and (out_x1, s1_inv, x1);
  and (out_x2, s1, x2);
  or (out_mux1, out_x1, out_x2);

// mux2x1_2
  not (s1_inv, s1);
  and (out_x3, s1_inv, x3);
  and (out_x4, s1, x4);
  or (out_mux2, out_x3, out_x4);
  
// mux4x1
  not (s0_inv, s0)
  and (out_mux3, s0_inv, out_mux1);
  and (out_mux4, s0_inv, out_mux2);
  or (f, out_mux3, out_mux4);
endmodule 

リンク: https://www.edaplayground.com/x/bkNc

4

1 に答える 1

1

デザイン コードだけをコンパイルしようとすると、次のエラーが発生します。

  and (out_mux3, s0_inv, out_mux1);
    |
xmvlog: *E,EXPSMC : expecting a semicolon (';') [7.1(IEEE)].

多くの場合、このタイプのエラーは、報告された行より上のコード行によって引き起こされます。

  not (s0_inv, s0)

セミコロンを追加するだけです:

  not (s0_inv, s0);

EDAplayground はいくつかの異なるシミュレーターを提供しており、一部のシミュレーターは他よりも役立つエラー メッセージを提供します。アルデック用に設定しました。たとえば、Cadence に切り替えると、別のエラー メッセージが表示されます。

于 2020-10-08T18:49:45.920 に答える