1.定义
奇偶校验(Parity Check)是一种校验代码传输正确性的方法。根据被传输的一组二进制代码的数位中“1”的个数是奇数或偶数来进行校验。采用奇数的称为奇校验,反之,称为偶校验。
采用何种校验是事先规定好的。通常专门设置一个奇偶校验位,用它使这组代码中“1”的个数总和为奇数或偶数。若用奇校验,则当接收端收到这组代码时,校验“1”的个数是否为奇数,从而确定传输代码的正确性。
总结:
奇校验:原始码流+校验位 总共有奇数个1
偶校验:原始码流+校验位 总共有偶数个1
2.特点
奇偶校验只能检测出错误而无法对其进行修正,同时虽然双位同时发生错误的概率相当低,但奇偶校验却无法检测出双位错误。
3.奇偶校验的计算
按位求异或得到偶校验结果,对其求反得到奇校验结果。
ex:对32bits的wire进行奇偶校验
even = ^wire[31:0] ;//偶校验
odd = ~(^wire[31:0]);//奇校验
通常,对于多bits数据位,按每8bits数据位产生1bits校验位。
4.补充
对于存在无效位的数据来说,按照奇偶检验原则:
偶校验:高位无效数据补全0 ,对应按最小校验单位的pty_value为全0;
奇校验:高位无效数据补全1,对应按最小校验单位的pty_value为全1。