Verilog:ベクトルのすべての信号を一緒にXOR


13

wire large_bus[63:0]幅64のベクトルが与えられたとします。個々の信号をすべて記述せずにXORするにはどうすればよいですか。

assign XOR_value = large_bus[0] ^ large_bus[1] ^ ... ^ large_bus[63]

私は、幅がで指定されているベクトルに対してこれを行うことに特に興味がありますlocalparam

回答:


14

&、|、^などの2項演算子も、Verilogで単項演算子になる可能性があり、非常に便利です。これらは、オペランドに対してビット演算を実行し、単一ビット値を返します。たとえば、asic-world.comのリダクション演算子を参照してください。

reg [63:0] large_bus;

wire xor_value;
assign xor_value = ^large_bus;
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.