たとえば、ビット ベクトル 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 ビットを変更した後
前もって感謝します。
たとえば、ビット ベクトル 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 ビットを変更した後
前もって感謝します。
バスの一部として 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 つの場所で入力を駆動しようとしていました。