¿Por qué funciona el teorema del peligro racial?

12

Entonces, para aquellos que no saben, el teorema del riesgo racial (RHT) establece que:

A x B + A 'x C = A x B + A' x C + B x C

Entiendo la otra parte de la RHT, acerca de los retrasos y demás, pero no entiendo por qué la declaración lógica anterior debería ser cierta, ¿alguien puede ayudarme a entender esto?

Alex Robinson
fuente

Respuestas:

20

Como otros han señalado, matemáticamente las declaraciones son exactamente las mismas, y el término adicional es "redundante". También sería "redundante" para mí copiar sus pruebas matemáticas aquí.

También puede verificar fácilmente que las declaraciones son equivalentes haciendo una tabla de verdad de 8 filas para las tres combinaciones de entradas.

    A B C           A*B + A'*C                       A*B + A'*C + B*C
    0 0 0               0                                    0
    0 0 1               1                                    1
    0 1 0               0                                    0
    0 1 1               1  ** hazard b/w states              1
    1 0 0               0                                    0
    1 0 1               0                                    0
    1 1 0               1                                    1
    1 1 1               1  ** hazard b/w states              1

El propósito del término adicional es evitar que A cause un cambio cuando B y C son altos.

Como ejemplo, supongamos que hay un retraso de tiempo finito entre A y A '(razonable). Ahora también considere que tanto B como C son '1'. Como puede ver en las formas de onda a continuación, hay una falla en la salida.

peligro

Asumiendo que la lógica es CMOS estática, la falla es recuperable. Pero, si se tratara de algunas formas de lógica dinámica, podría propagar el error.

La adición del término redundante es una solución para cubrir la falla.

jbord39
fuente
2
Voto porque esto ni siquiera intenta responder la pregunta que se hizo. Responde una pregunta diferente.
user253751
@immibis Obviamente el autor de la pregunta está de acuerdo con esta respuesta.
glglgl
@immibis Además, sin esta respuesta, muchas cosas no eran tan obvias.
glglgl
@glglgl El autor de la pregunta dice específicamente que ya conoce esta parte.
user253751
44
@immibis: Para ser sincero, la mayor parte de la respuesta es de fondo, pero el núcleo está en el primer párrafo: escriba las tablas de verdad. Los dos lados de la ecuación son idénticos, porque sus tablas de verdad son idénticas. Para los 8 valores posibles de A, B y C, la izquierda y la derecha son iguales. El resto de la respuesta explica por qué, en realidad, no podemos suponer que {A,A',B,C}están restringidos a solo 8 valores; existe esta condición transitoria A = A '.
MSalters
9

Prueba de álgebra booleana:

A x B + A 'x C [lado izquierdo]
= A x B x 1 + A' x C x 1 [No simplificar Y con verdadero]
= A x B x (1 + C) + A 'x C x ( 1 + B) [Verdadero O cualquier cosa]
= A x B x 1 + A x B x C + A 'x 1 x C + A' x B x C [Distribuir]
= A x B + A x B x C + A 'x C + A' x B x C [Simplifica Y con verdadero]
= A x B + A 'x C + A x B x C + A' x B x C [Reorganizar términos]
= A x B + A 'x C + (A + A ') x B x C [Factorizar]
= A x B + A' x C + 1 x B x C [O la negación es verdadera]
= A x B + A 'x C + B x C [ Lado derecho]

Prueba por casos:

  • Supongamos que B x C es cierto.
    Entonces B es verdadero y C es verdadero simultáneamente.
    Entonces, el lado derecho se convierte en A x B + A 'x C + 1 x 1 = 1.
    El lado izquierdo se convierte en A x 1 + A' x 1, que es 1 independientemente de A.
    Por lo tanto, el LHS es igual al RHS.
  • Supongamos que B x C es falso.
    Entonces el lado derecho se convierte en A x B + A 'x C + 0 = A x B + A' x C, haciéndolo idéntico al LHS.
    Por lo tanto, el LHS es igual al RHS.

En todos los casos, el LHS es igual al RHS. Por lo tanto, concluimos que las dos fórmulas siempre se evalúan con el mismo valor.

Referencias

Nayuki
fuente
8

Considere el LHS por sí mismo:
A x B + A 'x C

Si tanto B como C son verdaderas en esta declaración, ¿la condición de A hace alguna diferencia en el resultado?
No, porque (A x B) o (A 'x C) serán verdaderas, produciendo un resultado de verdad.

Así que ahora mirando el RHS, los primeros 2 términos AND son simplemente un duplicado del LHS, y el tercer término AND representa lo que acabamos de descubrir sobre B & C.

brhans
fuente
3

AB+AC+BC=AB+AC+(A+A)BC -- Multiply BC term by 1=AB+AC+ABC+ABC -- Distribute the term=(AB+ABC)+(AC+ABC) -- regroup=AB(1+C)+AC(1+B) -- factor=AB+AC -- Simplify

pgvoorhees
fuente
2

Echemos un vistazo al mapa de karnaugh :

CBCBCBCBA0110A1100

Puede realizar los 3 grupos en el lado derecho de la ecuación , y .A C B CABACBC

En un mapa de karnaugh, las condiciones de carrera se muestran por regiones adyacentes pero disjuntas (al contar el envoltorio toroidal). Si solo toma las regiones y , obtendrá 2 regiones adyacentes pero no unidas. Necesita el término para cerrar la brecha.A C B CABACBC

monstruo de trinquete
fuente