Рассмотренный нами пример счетчика с прямым/обратным счетом, реализованного в виде синхронной последовательной схемы на основе триггеров и вентильной комбинаторной логики (рис. 4.9), легко обобщить до формальной модели конечного автомата, показанной на рис. 4.11.
В этой модели запаздывание при прохождении сигнала через элементы задержки равно длительности такта. Это время между изменениями, происходящими в точках Yi и соответствующими изменениями в точках уi. В данной модели предполагается, что через блок комбинаторной логики сигналы проходят без задержки; поэтому выходные значения z, Y1 и У2 являются мгновенными функциями входных значений х, у1 и у2
Рис. 4.11. Модель конечного автомата
. В реальной схеме все элементы, как показано на рис. 4.10, служат источниками определенных задержек. Схема будет работать правильно лишь при условии, что задержка блока комбинаторной логики не велика по сравнению с длительностью такта. Значения на выходах следующего состояния, Y1 и Y2, должны быть установлены таким образом, чтобы состояния триггеров изменились до окончания такта. Кроме того, в течение некоторого времени на выходе z требуемого значения может не быть, но оно должно появиться задолго до окончания такта.
Входы блока комбинаторной логики соединены с выходами триггеров уi предшествующих текущее состояние, и с внешним входом х. Выходы блока, обозначенные как Yi , соединены со входами триггеров и внешним выходом z. На отрицательном фронте тактового сигнала, соответствующем концу текущего такта, в триггеры загружаются значения выходов Yi которые становятся следующими значениями переменных состояния уi . Поскольку выходы триггеров соединены со входами блока комбинаторной логики, они вместе со следующим значением внешнего входа х определяют новые значения переменных z и Yi . На следующем такте значения Yi передаются на входы yi и процесс повторяется сначала. Таким образом, триггеры образуют обратную связь между выходом и входом комбинаторного блока с задержкой в один такт.
Хотя в рассмотренной нами схеме (рис. 4.11) имелся лишь один внешний вход и две переменные состояния, совершенно очевидно, что в схеме может быть нескольку переменных каждого из трех типов.