Verilog: XOR semua sinyal vektor bersama


13

Katakanlah saya diberi vektor wire large_bus[63:0]lebar 64. Bagaimana saya bisa XOR sinyal individu bersama-sama tanpa menuliskan semuanya:

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

Saya terutama tertarik melakukan ini untuk vektor di mana lebar ditentukan oleh a localparam.

Jawaban:


14

Operator biner seperti &, |, ^ dan beberapa lainnya juga bisa unary di Verilog, yang cukup nyaman. Mereka melakukan operasi bitwise pada operan dan mengembalikan nilai bit tunggal. Lihat misalnya operator reduksi di asic-world.com.

reg [63:0] large_bus;

wire xor_value;
assign xor_value = ^large_bus;
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.