Comprobaciones de bits de paridad utilizando el algoritmo de Hamming general

1

En un circuito lógico, tengo un vector de datos de 8 bits que se alimenta a un ECC IC para el cual se supone que debo desarrollar la lógica y que contiene un vector de 5 bits de paridad. Mi primer paso para desarrollar la lógica (con puertas lógicas, XOR), es averiguar qué bit de paridad se va a verificar para qué bits de datos (ya que están entrelazados). Estoy usando paridad uniforme, y siguiendo las reglas generales del código Hamming (un bit de paridad en cada 2 ^ n), obtengo la siguiente secuencia de salida:

P1 P2 D1 P3 D2 D3 D4 P4 D5 D6 D7 D8 P5

Siguiendo el algoritmo general de Hamming:

Para cada bit de paridad, Posición 1,2,4,8,16 y así sucesivamente ... (Potencias de 2), saltamos para la primera posición n (n-1) y comprobamos 1 bit, luego omitir otro, verificar otro, etc. Repetimos el mismo proceso para los otros bits, pero esta vez comprobamos / saltamos cada 2 ^ n, donde n es la posición que ocupan en la matriz de salida ( P1 P2 D1 P3 D2 D3 D4 P4 D5 D6 D7 D8 P5 )

Siguiendo esa convención, obtengo:

P1 Checks data bits -> XOR(3 5 7 9 10 12) P2 Checks data bits -> XOR(3 6 7 10 11) P3 Checks data bits -> XOR(5 6 10 11 12) P4 Checks data bits -> XOR(9 10 11)

Estoy en lo cierto? Lo que me confunde es que si debería comenzar a verificar el bit de paridad como uno de los 2 ^ n bits que se supone que deben verificarse, o 1 bit después de ese bit de paridad específico. Resume bastante si es inclusivo o no.

¡Gracias por su ayuda por adelantado!

¡Salud!

    
pregunta Cesar A

1 respuesta

1

Se realiza de manera inclusiva, es decir, realizando el bit de paridad que se considera, están diseñados de tal manera que junto con el bit de paridad en sí mismo, la palabra de datos o el bit de mensaje generan el tipo de paridad deseado en su caso, incluso paridad.

Mira la imagen de wikipedia

Solo se incluye la paridad 1 al calcular en la posición uno y así sucesivamente.

  

Posición 1 Comprueba los bits de datos - > XOR (1 3 5 7 9 10 12)
Posición 2 Comprueba los bits de datos - > XOR (2 3 6 7 10 11)
Posición 4 Comprueba los bits de datos - > XOR (4 5 6 7 12 ..)
Posición 8 Comprueba los bits de datos - > XOR (8 9 10 11 ...)

Recuerde que no debe confundirse entre la posición y el número de paridad, el flujo de bits está numerado (1-n), donde n es el tamaño de la palabra clave.

Por lo tanto, P1 es la posición 1, P2 es la posición 2, P3 es la posición 4 y P4 es la posición 8.

    
respondido por el MaMba

Lea otras preguntas en las etiquetas