0

たとえば、ビット ベクトル x[0:3] の x[3] の 1 ビットを、0 の場合は 1 に、verilog の 1 の場合は 0 に切り替えることについて質問したいので、x=0101 の場合は x=0100 になります。 not との連結を試みましたが、verilog ではエラーです。私のコードはここにあります: http://www.edaplayground.com/x/JAc ここで、x:input と y:x は 1 ビットを変更した後

前もって感謝します。

4

2 に答える 2

1

バスの一部として 1 ビットを変更するには、次のようにします。

module bit_mangle(
  input  [3:0] x,
  output [3:0] y
);

  always @* begin
    y = {x[3:1], ~x[0]} ;
  end

endmodule

EDA プレイグラウンドでコードのコピーを更新し、テストハーネスのいくつかの問題を修正しました。 EDA Playground での作業シミュレーション

[SIZE-1:0] からバスを定義する方が一般的です。古い Mutation コードは、上のレベルで値を駆動するのではなく、2 つの場所で入力を駆動しようとしていました。

于 2014-11-19T08:42:38.523 に答える