Verilog:输入 A 的偶校验

Verilog: Even parity for input A

以下代码获取输入A的偶校验。(即如果A包含0个1或偶数个1,则奇偶校验= 1)

reg [7:0] A; 
wire parity;
assign parity = ~^A;

如何在程序块中使用 for 循环来获得相同的功能

像这样的东西应该有用。基本上你想要做的是从向量的一端开始,然后一直走到另一端。每当您发现“1”时翻转奇偶校验位。如果没有发现,则奇偶性为 1。如果发现偶数 #,则奇偶性也为 1。

integer i;
reg parity;

always (*) begin
    // Default values
    parity = 1'b1;

    for (i = 0; i < 8; i++)
        if (A[i])
            parity = ~parity;
end