Логические Ворота - Dmux (nand2tetris)

Я только начал проходить курс nand2tetris! В первом проекте требовалось построить логические элементы с "Nand", начиная с "Not". Ну, это было легко в начале, здание или, и, xor. Но потом появился "Мультиплексор". Мне потребовалось некоторое время, чтобы решить, какие ворота использовать... Затем я обнаружил новую технику под названием "Каноническое представление", и проблема легко решается.

Но тут возникает вопрос: демультиплексор!!! Он имеет два выхода, так что я застрял, как реализовать эти два выходных шлюза с помощью канонического представления?


^ выше решено ^


И у меня есть более общая проблема. Как вы, люди, строите эти ворота! Возможно ли логически прийти с реализацией мультиплексорного шлюза, например?

1 ответ

Решение

Предполагая, что вы построили базовые логические элементы (И, Или, Xor...), демультиплексор может быть построен из трех из этих компонентов.

Рассмотрим описание состояния, которое вам дано:

/** * Demultiplexor: * {a, b} = {in, 0} if sel == 0 * {0, in} if sel == 1 */

Просто создайте две схемы, одна из которых вычисляет a, а другая - b. Вы можете подключить свои входы (вход и выход) к обеим цепям.

Другие вопросы по тегам