Я несколько застрял и отчаянно нуждаюсь в помощи. Я столкнулся с проблемой светофора и полностью понимаю ее фактическую логику. Однако мне очень трудно превратить это в цифровую логику. Я продумал диаграмму состояний. Моя самая большая проблема, которую я не могу понять, заключается в том, что состояние представлено двухбитным двоичным числом. Итак, при построении моей схемы, как мне «создать» это двухбитное число с помощью вентилей, а что нет?
Это моя упрощенная таблица истинности для задачи. 4 состояния: новый красный свет (00), существующий красный свет (01), новый зеленый свет (10) и существующий зеленый свет (11) [желтый свет игнорируется в моей версии проблемы].
Reduced Truth Table
State Input new State
00 00 10
00 *1 10
00 10 01
01 00 10
01 *1 10
01 10 01
10 ** 11
11 0* 11
11 1* 00
Теперь я понимаю, как грубо спроектировать вывод каждого состояния + ввод, чтобы получить каждое новое состояние. Мне просто очень трудно собрать все это воедино. У меня есть вся моя диаграмма состояний, и я понимаю, когда должен произойти переход, это цифровая логика, с которой у меня проблемы.
У меня все еще много проблем с мультиплексорами, хотя я знаю, что их можно использовать в этой схеме, которую я нарисовал ниже (потому что я создал грубый дизайн из состояния, а не из входных данных).
смоделируйте эту схему - схема, созданная с помощью CircuitLab
У меня есть еще одна гораздо более сложная схема, которая включает в себя как состояние, так и входы, но я не уверен, что она правильная и как ее использовать дальше (т.е. подключить к триггеру и создать вывод цвета светофора) [ПРИМЕЧАНИЕ : ВЫВОД НЕВЕРНЫЙ, выход первого элемента ИЛИ должен быть S0, а выход второго элемента ИЛИ должен быть S1] [ ] 1
Я ввел вашу таблицу истинности в окно комбинационного анализа Logisim и получил вот это. Это то, что вы ищете?
Что касается наличия двух битов состояния, это не имеет большого значения, если результат один и тот же. Я просто использовал S0 и S1 для старого состояния и BCar и CCar для ввода. New0 и New1 — это новое состояние вывода.
Гуилл
Сэм Уошберн