偶校验:
数据和校验位中1的总数为偶数,则认为数据无误,否则标识数据有误;
奇校验:
数据和校验位中1的总数为奇数,则认为数据无误,否则标识数据有误;
奇偶校验位的计算方法:
module parity_check(
input clk,
input rst_n,
input [7:0] data_in,
output reg even_bit,
output reg odd_bit
);
always@(posedge clk or negedge rst_n)
begin
if(!rst_n)
begin
even_bit <= 1'b0;
odd_bit <= 1'b0;
end
else
begin
even_bit <= ^data_in; //偶校验需求下计算出来的校验位
odd_bit <= !(^data_in);//奇校验需求下计算出来的校验位
end
end
endmodule