Verilog:输入A的偶数奇偶校验

时间:2017-09-16 20:24:35

标签: for-loop architecture verilog parity

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

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

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

1 个答案:

答案 0 :(得分:1)

这样的事情应该有效。基本上你想要做的是从向量的一端开始,然后按照自己的方式进入另一端。每当你发现'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