Чому працює теорема гоночної небезпеки?


12

Тож для тих, хто не знає, теорема про небезпеку гонки (RHT) говорить, що:

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

Я розумію іншу частину RHT, про затримки в часі і таке інше, але я не розумію, чому вищезазначене твердження логіки повинно бути правдивим, чи може хтось допомогти мені зрозуміти це?

Відповіді:


20

Як зазначали інші, математично твердження точно такі ж, а додатковий термін - "зайвий". Для мене також було б "зайвим" копіювати тут свої математичні докази.

Ви також можете легко переконатися, що твердження є рівнозначними, склавши 8-рядкову таблицю істинності для трьох комбінацій входів.

    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

Мета додаткового терміну - не допустити, щоб A викликав будь-яке перемикання, коли і B, і C високі.

Наприклад, припустимо, що між A і A є обмежена кількість часу (розумне). Тепер також врахуйте, що і B, і C є "1". Як видно з форм сигналів нижче, на виході є глюк.

небезпека

Якщо припустити, що логіка є статичною CMOS, глюк відновлюється. Але, якби це були деякі форми динамічної логіки, вона могла б поширити помилку.

Додавання зайвого терміна - це рішення для покриття глюку.


2
Нахил, оскільки це навіть не намагається відповісти на поставлене запитання. Це відповідає на інше запитання.
користувач253751

@immibis Очевидно, що запитувач з цією відповіддю все гаразд.
glglgl

@immibis Крім того, без цієї відповіді багато речей були не зовсім очевидні.
glglgl

@glglgl Лист, що задає запитання, спеціально каже, що / він уже знає цю частину.
користувач253751

4
@immibis: Якщо чесно, основна частина відповіді є фоном, але суть у першому абзаці: випишіть таблиці правдивості. Дві сторони рівняння однакові, оскільки таблиці їх правдивості однакові. Для всіх 8 можливих значень A, B і C ліві та праві рівні. Решта відповіді потім пояснює, чому насправді ми не можемо припустити, що {A,A',B,C}вони обмежені лише 8 значеннями; є ця перехідна умова A = A '.
MSalters

9

Доказ булевої алгебри:

A x B + A 'x C [зліва]
= A x B x 1 + A' x C x 1 [Не спрощено І з істинним]
= A x B x (1 + C) + A 'x C x ( 1 + B) [Істинно АБО що-небудь]
= A x B x 1 + A x B x C + A 'x 1 x C + A' x B x C [Розподілити]
= A x B + A x B x C + A 'x C + A' x B x C [Спростити ТА з істинним]
= A x B + A 'x C + A x B x C + A' x B x C [Переставити терміни]
= A x B + A 'x C + (A + A ') x B x C [Факторизація]
= A x B + A' x C + 1 x B x C [АБО заперечення вірно]
= A x B + A 'x C + B x C [ Правосторонній]

Доведення справами:

  • Нехай B x C - це правда.
    Тоді B є істинним, а C - істинним одночасно.
    Тож права частина стає A x B + A 'x C + 1 x 1 = 1.
    Ліва сторона стає A x 1 + A' x 1, що дорівнює 1 незалежно від A.
    Отже, LHS дорівнює RHS.
  • Припустимо, що B x C помилково.
    Тоді права частина стає A x B + A 'x C + 0 = A x B + A' x C, що робить її ідентичною LHS.
    Отже LHS дорівнює RHS.

У всіх випадках LHS дорівнює RHS. Тому ми робимо висновок, що дві формули завжди оцінюють однакове значення.

Список літератури:


8

Розглянемо LHS самостійно:
A x B + A 'x C

Якщо і B, і C вірні в цьому твердженні, чи умова A чи має значення в результаті?
Ні - тому що або (A x B), або (A 'x C) буде істинним, створюючи результат true.

Отже, дивлячись на RHS, перші 2 І терміни - це просто дублікат LHS, а 3-й термін AND являє собою те, що ми тільки що дізналися про 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

Давайте подивимось на карту Карно :

CBCBCBCBA0110A1100

ABACBC

ABACBC

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.