codificación 8b10b: Calcular la disparidad de ejecución para múltiples palabras

2

Estoy diseñando un codificador 8b10b en SystemVerilog. El circuito tiene la capacidad de codificar 1-16 bytes (8 bits / byte) en un solo ciclo de reloj.

Tengo una pregunta sobre el cálculo de la disparidad de ejecución (RD), que es una salida de un solo bit. Entiendo que representa la diferencia entre no. de unos - no. De ceros en una corriente de bits. La disparidad neutral implica que la diferencia es 0.

El cálculo es sencillo cuando la entrada es de un solo byte. Pero si tengo 3 bytes para codificar a la vez, ¿cómo hago para calcular el RD?

  1. Primero, codifico cada byte separado para formar una salida 30b.

  2. ¿Tomo la salida codificada 30b (3x10) y calculo RD, es decir, RD (fuera [29: 0])?

O

  1. ¿Calculo RD (out [9: 0]), RD (out [19:10]) y RD (out [29:20]) por separado y luego decido si mantener o invertir la RD actual?

Gracias.

    
pregunta user4979733

1 respuesta

1

Encontré una respuesta en este documento en la página 10/11.

enlace $ File / rc23408.pdf

La disparidad de ejecución se calcula a nivel de byte y se encadena. Con una lógica más sofisticada, el comportamiento de "encadenamiento" puede estar en cortocircuito.

    
respondido por el user4979733

Lea otras preguntas en las etiquetas