Tenía la impresión de que para generar 'Paridad par' tenías que tener un número par de bits ... así que, ¿cómo podría ese bloque lógico tener solo una salida? Estoy seguro de que estoy equivocado, pero no estoy seguro de qué hacer ...
Se utiliza un bit de paridad para detectar errores de un solo bit en un flujo de datos. Lo hace agregando un bit extra, el bit de paridad. Este bit se establece en un valor para garantizar que el número de 1 en una palabra sea par . Entonces, si hay un número impar de 1 en el flujo de datos, el bit de paridad sería 1. Si ya hay un número par, el bit de paridad sería 0.
No importa si hay un número par o impar de bits en la palabra de datos, ya que el bit de paridad cuenta el número de 1, no el número de bits.
3 bits de datos + 1 bit de paridad
010 1
110 0
111 1
101 0
6 bits de datos + 1 bit de paridad
001000 1
101110 0
011001 1
100001 0
Observe cómo el bit de paridad garantiza que haya un número par de 1 en cada una de esas palabras. De hecho, funciona para cualquier palabra de cualquier longitud.
En realidad, simplemente. Básicamente es la suma de bits de cada bit en el flujo, módulo 2. Por lo tanto, agrega cada bit por turno, haciendo módulo 2 después de cada suma (*) . Esto da como resultado un 0 o 1, que es el bit de paridad.
(*) Realmente puedes hacerlo después de sumar todos los bits si lo deseas.
Lea otras preguntas en las etiquetas digital-logic parity