2013-02-14 3 views
2

Использование DeMorgans я получаю:Как конвертировать (abc) в NAND-ворота?

~~(abc) // ~ is the not. 

Моя проблема, когда я пытаюсь построить схему логический элемент принимает только два входа. Итак, как бы я разделил его на 3? Если бы это был и ворота, я бы просто использовать два и уравнение будет:

(a AND b) AND c 

Однако, это не будет работать с моей NAND, так как

~((a NAND b) NAND c) != (abc) 

ответ

0

Если все, что вы хотите, это схема, которая выходы 0, когда все входы 1 ...

Вы можете просто проверить, есть ли какой-либо из них 0, а затем отменить это.

Вы уже сказали ответ: законы Де Моргана. Просто примените их: ~ (a^b^c) = ~ a or ~ b or ~ c

Хотя, возможно, я что-то пропустил. Есть ли другие ограничения, которые я, возможно, не взял?

+0

Я хочу использовать только NAND. Я где-то читал, что у процессора есть только NAND-ворота. В общем, я только хочу использовать NAND. –

+0

Я думаю, что вы могли бы быть готовы к тому, что CPU можно будет использовать только с помощью NAND-ворот и сложной проводки. Дайте мне минуту, чтобы набросать, как это будет достигнуто с использованием только NAND – amarunowski

+0

Итак, имейте в виду, что вы можете подключить «a» к обоим входам на NAND-ворот и получить инвертор (или «не ворота»). Если вы это сделаете, вы можете легко сделать или выйти из 3-х ворот NAND. – amarunowski

0

Значит ли вы, что 2 ~ означает, что вы НЕ должны выводить дважды? Если это так, ~~ (abc) = (abc), (два НЕ отменяют друг друга), поэтому вы можете просто сделать (a AND b) И c.

Если вы хотите просто взять NOT (abc) один раз, вы можете сначала выполнить (a AND b) И c, а затем вы можете передать этот выход через инвертор. Вам понадобится два чипа вместо одного.

0

Я бы предложил использовать сетки Rott's. Сетка Ротта является графическим приложением законов Де Моргана, и она особенно полезна для решения таких проблем, как ваша. Некоторые логические вентили требуют больше транзисторов, чем другие. Необходимость уменьшения потенциальных задержек на логических воротах может быть мотивацией для оптимизации дизайна с использованием ворот NOR или NAND. Поиск соответствующей функции - с логическими вентилями вам нужно - можно сделать очень быстро с помощью сетки Ротт в:

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

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

Все пять следующих сеток разные представления данной функции:

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

Equivalent boolean expressions to the given function

Первая сетка не очень полезно, это просто оригинальная функция реализуется 3 -вход И:

f = a ⋅ b ⋅ c 

Вторая сетка Ротта реализована с использованием только 2-входных NAND.Вы можете использовать либо две NAND-устройства с 2 входами, либо два инвертора или четыре 2-входных NAND - два из них в месте инверторов, потому что 2-входная NAND с тем же входом на обоих выводах инвертирует сигнал.

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

Третья сетка Ротта - это всего лишь вариация на первом.

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

Четвертая сетка Ротта может быть реализована с использованием двух 2-входных NOR и четырех инверторов. Инверторы могут быть заменены 2-входными NOR или 2-входными NAND.

f = nor(¬a,¬(nor(¬b,¬c)))) 

Пятая сетка ROTT может быть реализован с помощью комбинации одного 2-входа NOR, один-два входа NAND и одного инвертора.

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

(Изображение было получено с помощью online latex tool.)

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