Perché il teorema del pericolo di corsa funziona?


12

Quindi, per chi non lo sapesse, il teorema del pericolo di gara (RHT) afferma che:

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

Capisco l'altra parte dell'RHT, riguardo ai ritardi temporali e simili, ma non capisco perché la frase logica sopra dovrebbe essere vera, qualcuno può aiutarmi a capirlo?

Risposte:


20

Come altri hanno sottolineato, matematicamente le affermazioni sono esattamente le stesse e il termine aggiuntivo è "ridondante". Sarebbe anche "ridondante" per me copiare le loro prove matematiche qui.

Puoi anche verificare facilmente che le affermazioni siano equivalenti creando una tabella di verità a 8 righe per le tre combinazioni di input.

    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

Lo scopo del termine aggiuntivo è impedire ad A di provocare alterazioni ogni volta che B e C sono alti.

Ad esempio, supponiamo che ci sia un ritardo finito tra A e A '(ragionevole). Ora considera anche che sia B che C sono '1'. Come puoi vedere nelle forme d'onda sottostanti, c'è un problema tecnico all'uscita.

rischio

Supponendo che la logica sia CMOS statica, il problema tecnico è recuperabile. Ma, se si trattasse di alcune forme di logica dinamica, potrebbe propagare l'errore.

L'aggiunta del termine ridondante è una soluzione per coprire il problema tecnico.


2
Downvoting perché questo non tenta nemmeno di rispondere alla domanda che è stata posta. Risponde a una domanda diversa.
user253751

@immibis Ovviamente il richiedente è d'accordo con questa risposta.
glglgl,

@immibis Inoltre, senza questa risposta, molte cose non erano abbastanza ovvie.
glglgl,

@glglgl Il richiedente in particolare dice di conoscere già questa parte.
user253751,

4
@immibis: A dire il vero, la maggior parte della risposta è di fondo, ma il nocciolo è nel primo paragrafo: scrivi le tabelle di verità. I due lati dell'equazione sono identici, perché le loro tabelle di verità sono identiche. Per tutti e 8 i possibili valori di A, B e C, sinistra e destra sono uguali. Il resto della risposta spiega quindi perché, in realtà, non possiamo supporre che {A,A',B,C}siano limitati a soli 8 valori; c'è questa condizione transitoria A = A '.
MSalters,

9

Prova dell'algebra booleana:

A x B + A 'x C [Lato sinistro]
= A x B x 1 + A' x C x 1 [Non semplificato E con vero]
= A x B x (1 + C) + A 'x C x ( 1 + B) [Vero O qualsiasi cosa]
= A x B x 1 + A x B x C + A 'x 1 x C + A' x B x C [Distribuisci]
= A x B + A x B x C + A 'x C + A' x B x C [Semplifica E con vero]
= A x B + A 'x C + A x B x C + A' x B x C [Riorganizza i termini]
= A x B + A 'x C + (A + A ') x B x C [Fattorizza]
= A x B + A' x C + 1 x B x C [O la negazione è vera]
= A x B + A 'x C + B x C [ Lato destro]

Prova per casi:

  • Supponiamo che B x C sia vero.
    Quindi B è vero e C è vero contemporaneamente.
    Quindi il lato destro diventa A x B + A 'x C + 1 x 1 = 1.
    Il lato sinistro diventa A x 1 + A' x 1, che è 1 indipendentemente da A.
    Quindi l'LHS è uguale all'RHS.
  • Supponiamo che B x C sia falso.
    Quindi il lato destro diventa A x B + A 'x C + 0 = A x B + A' x C, rendendolo identico a LHS.
    Quindi l'LHS è uguale all'RHS.

In tutti i casi, l'LHS è uguale all'RHS. Pertanto concludiamo che le due formule valutano sempre allo stesso valore.

Riferimenti:


8

Considera l'LHS da solo:
A x B + A 'x C

Se sia B che C sono vere in questa affermazione, la condizione di A fa differenza per il risultato?
No - perché (A x B) o (A 'x C) saranno veri, producendo un risultato di vero.

Quindi ora guardando l'RHS, i primi 2 termini AND sono semplicemente un duplicato dell'LHS e il terzo termine AND rappresenta ciò che abbiamo appena scoperto su B & C.


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


2

Diamo un'occhiata alla mappa di Karnaugh :

CBCBCBCBA0110A1100

ABACBC

ABACBC

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.