-5

Как преобразовать это выражение NOT (a) ИЛИ NOT (b) И НЕ (c) используя только NAND-ворота? Я пытался это сделать, но я не нашел правильного ответа.Преобразование выражения только с использованием логических логических элементов NAND

+2

Что вы пробовали? Где * конкретно * вы застряли? –

+0

Я пытаюсь сделать demorgan, но я не достиг результата –

+0

- это проблема программирования или проблема с дизайном схемы? – Claies

ответ

0

Вы можете применить следующие формулы шаг за шагом:

NOT(A) OR NOT(B) = A NAND B 
A AND B = NOT(A NAND B) 
NOT(A) = A NAND A 
+0

Я сделал это! Но я не нахожу решение –

1

Во-первых, все логические уравнения могут быть представлены вентилей. Рассмотрим НЕ .... Просто свяжите два входа NAND вместе, и у вас есть НЕ! NOT NAND - это AND, а OR - это два НЕ ворот, управляющих NAND! Это все довольно круто ... Проделайте немного исследований по математической логике, и вы должны найти подробную информацию о различных методах преобразования.

+0

Хорошо, я думаю, вы думаете, что я глуп –

+0

Ответ есть - запишите некоторые таблицы правды – skyman

+0

Дайте мне ответ PLS. Я не могу. Я устал, измучен, pfff –

0

Я бы предложил использовать решетки Ротта. Это графическое приложение законов Де Моргана, и оно полезно для оптимизации дизайна с использованием только комбинаций ворот NOR и NAND. Обычно это можно сделать очень быстро, не беспокоясь о том, чтобы совершить ошибку.

сетки Каждая Ротт в создается в соответствии с этими тремя принципами:

  • Законы Де Моргана уважаются переключения между ⋅ (конъюнкции) и + (дизъюнкции) и деля их с горизонтальными линиями (отрицания),
  • вертикальные линии разделяют отдельные входы, меняя количество входов логических входов,
  • В последней строке помещаются входные переменные либо в их простой, либо в отрицательной форме - это определяется индивидуально количество горизонтальных линий над ними (начальный ¬ также считается) ,

Это данное выражение в сопрягая сетке Ротт в:

f = ¬a + ¬b ⋅ ¬c 
    -------------- 
     ⋅ +  
     | -------- 
     | ⋅ 
     | | 
    a | ¬b | ¬c 

A function equivalent to the original expression.

Как вы можете видеть, исходное выражение было преобразовано в эквивалент, который использует только два 2- входные вентили NAND (и некоторые инверторы, которые могут быть заменены также вентилями NAND). Сетка только графическое представление применения законов в Де Моргана на исходное выражение:

f = (¬a + (¬b ⋅ ¬c)) 
    = ¬(¬(¬a + (¬b ⋅ ¬c)))  //double negation law: ¬(¬x) = x 
    = ¬(¬¬a ⋅ ¬(¬b ⋅ ¬c))   //De Morgan's law 
    = ¬(a ⋅ ¬(¬b ⋅ ¬c))   //double negation law: ¬¬a = a 

f = nand(a, nand(not(b), not(c))) 

(.gif картина была сгенерирована используя online latex tool)

Смежные вопросы