Логические Ворота - Dmux (nand2tetris)
Я только начал проходить курс nand2tetris! В первом проекте требовалось построить логические элементы с "Nand", начиная с "Not". Ну, это было легко в начале, здание или, и, xor. Но потом появился "Мультиплексор". Мне потребовалось некоторое время, чтобы решить, какие ворота использовать... Затем я обнаружил новую технику под названием "Каноническое представление", и проблема легко решается.
Но тут возникает вопрос: демультиплексор!!! Он имеет два выхода, так что я застрял, как реализовать эти два выходных шлюза с помощью канонического представления?
^ выше решено ^
И у меня есть более общая проблема. Как вы, люди, строите эти ворота! Возможно ли логически прийти с реализацией мультиплексорного шлюза, например?
1 ответ
Предполагая, что вы построили базовые логические элементы (И, Или, Xor...), демультиплексор может быть построен из трех из этих компонентов.
Рассмотрим описание состояния, которое вам дано:
/**
* Demultiplexor:
* {a, b} = {in, 0} if sel == 0
* {0, in} if sel == 1
*/
Просто создайте две схемы, одна из которых вычисляет a, а другая - b. Вы можете подключить свои входы (вход и выход) к обеим цепям.