Generador de paridad
Un generador de paridad calcula un unico bit de verificacion a partir de un bus de entrada haciendo XOR de todos sus bits. Para paridad par el bit hace que el numero total de unos sea par; para paridad impar lo hace impar. Anexado a los datos, este bit permite al receptor detectar cualquier corrupcion de un solo bit.
Paridad par de 3 bits
El bit de paridad par es el XOR de todos los bits de datos. La entrada 101 tiene dos unos, un conteo par, asi que P es 0; un solo uno hace que P sea 1 para mantener par el total.
| b2 | b1 | b0 | P (even) |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 |
| 0 | 1 | 0 | 1 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 0 | 1 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 0 |
| 1 | 1 | 1 | 1 |
Paridad par frente a impar
El modo de paridad invierte el bit de verificacion. Para la entrada 100 (un bit en 1) la paridad par entrega 1 y la impar entrega 0. La paridad impar tiene la ventaja practica de que la palabra todo-cero produce un 1, por lo que una linea completamente muerta es detectable.
Anexar paridad al transmitir
En un enlace serie o de memoria el generador anexa su bit de paridad a cada palabra antes de enviarla o almacenarla. Las tramas UART, los canales ASCII antiguos y la DRAM con paridad llevan este bit extra para que el receptor pueda verificar la palabra, siguiendo el principio de deteccion de errores de Hamming.
Citas
- Hamming, R. W. (1950). Error detecting and error correcting codes. Referencia 1
- Texas Instruments (2003). CD74HC280: 9-bit odd/even parity generator/checker [Data sheet]. Referencia 2
- Mano, M. M., & Ciletti, M. D. (2018). Digital design: With an introduction to the Verilog HDL, VHDL, and SystemVerilog (6th ed.). Pearson.