Булево выражение из диаграммы конечного автомата
У меня проблемы с определением булевого уравнения для Q1 и Q2. Что я сделал, так это ввел значения в карту Карно. Но поскольку диаграмма состояний состоит только из 3 состояний (00, 01 и 11), я немного не уверен в том, как настроить Карно. Я знаю, как бы это выглядело, если бы в нем было четыре состояния (00, 01, 11 и 10).
Вот так выглядит мой карно, хотя, вероятно, это неправильно
Изменить: Должен ли я добавить последнюю строку (10) в моем Карно, и просто ввода не волнует?
1 ответ
Я бы сказал, что K-карта в порядке, но я бы предложил сделать каждую из выходных переменных ("новой"). Q_1
а также Q_0
в следующем шаге диаграммы состояний) их собственная K-карта.
Таким образом, вы можете минимизировать функцию отдельно для каждого из них.
Я заполнил таблицу правды следующим образом:
+-----------------++-----------+
input variables || next state
+-----+-----+-----++-----+-----+
| Q_1 | Q_0 | x || Y_1 | Y_0 |
+-----+-----+-----++-----+-----+
| 0 | 0 | 0 || 0 | 1 |
| 0 | 0 | 1 || 0 | 0 |
| 0 | 1 | 0 || 0 | 0 |
| 0 | 1 | 1 || 1 | 1 |
+-----+-----+-----++-----+-----+
| 1 | 0 | 0 || X | X |
| 1 | 0 | 1 || X | X |
| 1 | 1 | 0 || 0 | 0 |
| 1 | 1 | 1 || 1 | 1 |
+-----+-----+-----++-----+-----+
И выходные функции определяют следующее состояние (Y_1
как "новый" следующий Q_1
, Y_0
как "новый" следующий Q_0
) являются:
Индексы в картах Карно соответствуют строкам таблицы истинности из-за порядка переменных.
Также обратите внимание, что я использовал вывод "dont-care" X (для 10
состояние), чтобы преимущество в минимизации второй функции (Q_0
).
Машина (теоретически) никогда не должна переходить в состояние "не заботиться", поэтому вам не следует беспокоиться об использовании ее в функции.
Не обведя X
Y_0
функция будет длиннее: Y_0 = ¬x·¬Q_1·¬Q_0 + x·Q_0
, С X
это только: Y_0 = ¬x·¬Q_0 + x·Q_0
,
Если вам покажется неясным, не стесняйтесь спрашивать в комментарии, пожалуйста.