Сходу взять и собрать JK-триггер в каком угодно базисе задача не из простых, а тем более в основном базисе. Поэтому будем разрабатывать триггер постепенно, по схеме от сложного к простому. Реализацию триггеров будем проводим в лабораторном комплексе Logisim.
Начнём построение с самого простого - асинхронный RS-триггер. Для реализации необходимо изучить его таблицу переходов (рис. 1).
Теперь, рассматривая значения столбцов S, R, Q(t) в качестве аргументов функции Q(t+1) составим карту Карно и минимизируем функцию. (рис. 2)
По карте Карно видно, что сложность МДНФ и МКНФ одинакова, так как оба варианта описываются одним интервалом размера 4 и одним интервалом размера 2. Можно выбрать любую форму, пусть будет МДНФ. Её формула:
По формуле реализуем триггер в ОЛБ в комплексе Logisim (рис. 3).
Теперь сделаем следующий по сложности триггер - одноступенчатый синхронный RS-триггер со статическим управлением, для этого добавим контакт С, отвечающий за синхросигнал и через конъюнкции объединим его со входами S и R (рис. 4).
Следующий шаг - двухступенчатый RS триггер. Он состоит из двух одноступенчатых синхронный RS-триггеров со статическим управлением, работающих в противофазе (для реализации противофазы будем подавать на первую ступень сигнал C через инверсию, а на вторую - напрямую). Также RS-триггер должен иметь возможность управляться не только синхронно, но и асинхронного. Для этого добавим два асинхронных входа не S и не R (рис. 5).
Остался финальный шаг - превратить двухступенчатый RS-триггер в двухступенчатый JK-триггер. Для этого отсоединим синхронные входы S, R (переименуем их в J и K) и соединим их через конъюнкции со значениями не Q и Q соответственно. Выходы конъюнкций подадим туда, куда раньше напрямую подавались S и R (рис. 6)
Таким образом, мы рассмотрели реализацию JK-триггера в основном логическом базисе. Стоит сказать, что на практике реализация в ОЛБ не используется, но в качестве теоретической задачи почему бы и нет.