![]() |
Звоните! (926)274-88-54 Бесплатная доставка. Бесплатная сборка. |
Ассортимент тканей График работы: Ежедневно. С 8-00 до 20-00. Почта: soft_hous@mail.ru |
![]() ![]() ![]() |
Читальный зал --> Программные средства foundation CLOCK А Рис. 7.47. Временные диаграммы для конечного автомата, рассматриваемого в качестве примера (CLOCK - тактовый сигнал) Первый шаг при составлении таблицы состояний заключается в подготовке трафарета. Из словесного описания нам известно, что предмет нашего рассмотрения является автоматом Мура: сигнал на его выходе зависит только от текущего состояния, то есть от того, что происходило в течение предшествующих периодов тактового сигнала. Следовательно, мы должны предусмотреть по одному столбцу, в котором будут перечислены следующие состояния, для каждой возможной комбинации входных сигналов и один столбец для значений выходного сигнала, что и сделано нарис. 7.48(a). Порядок, в котором перечисляются комбинации входных сигналов, на этом этапе существенен, но мы выбираем его таким, как на карте Карно, чтобы позднее нам было проще вывести уравнения возбуждения. В случае автомата Мили нам надо было бы опустить столбец, относящийся к выходу, а значения выходного сигнала записывать вместе со следующими состояниями для каждой ко.мбинации входных сигналов. Левый столбец предназначен для словесного комментария, который просто напоминал бы нам значение каждого состояния или связанной с ним истории . В словесном описании ничего не говорится о том, что должно происходить в автомате с самого начала, так что здесь мы должны импровизировать. Предположим, что сразу после включения питания автомат входит в начальное состояние (initial state), которое мы назовем в этом примере INIT. Пишем имя начального состояния (INIT) в первой строке и оставляем достаточно места для других строк (состояний), которые понадобятся в дальнейшем. Мы можем также заполнить место для значения Z в состоянии INIT; здравый смысл подсказьшает нам, что это значение следует взять равным О, поскольку никаких входных сигналов у нас не было. Теперь нам необходимо заполнить строку INIT информацией о следующих состояниях. Выходной сигнал Z не сможет стать равным \, пока мы не увидим, по меньшей мере, двух значений сигнала на входе А, поэтому возможны только два состояния АО и А1, которые будут помнить значение сигнала А на предыдущем такте [рис. 7.48 (Ь)]. В каждом из этих состояний сигнал Z равен О, так как условия возникновения 1 на выходе все еще не удовлетворены. Точное значение состояния АО таково: На предыдущем такте сигнал А равнялся О, за такт до этого сигнал А не равнялся нулю и сигнал В не оставался равным 1 со времени предыдущей пары одинаковых значений сигнала А . Аналогично определяется состояние А1.
Рис. 7.48. Процесс составления таблицы состояний К этому моменту мы знаем, что у нашего конечного автомата есть, по крайней мере, три состояния, и мы приготовились заполнить еще две пустые строки. Хм! Это не очень хорошая тенденция! При заполнении данными о следующих состояниях одной строки (соответствующей состоянию INIT) нам понадобилось два новых состояния АО и А1. Если продолжать в том же темпе, то к вечеру у нас будет 65 535 состояний! Впрочем, нам надо будет внимательно присматриваться к уже существующим состояниям, имеющим то же самое значение, всякий раз, когда нам, возможно, понадобится вводить новые состояния. Давайте посмотрим, как это делается. Пусть автомат находится в состоянии АО; тогда известно, что на последнем такте сигнал А равнялся 0. Поэтому, если сигнал А будет равен О снова, то мы перейдем в новое состояние ОК со значением выходного сигнала Z, равным 1 [рис. 7.48(c)]. Если же сигнал А будет равен 1, то у нас не будет двух одинаковых значений этого сигнала подряд, так что автомат перейдет в состояние А1, запомнив тем самым, что в последний раз была 1. Аналогично, из состояния А1 мы переходим в состояние ОК, если получаем вторую 1 на входе А подряд, или в состояние АО, если придет О [см. рис. (d)]. Описание автомата говорит нам, что после того, как автомат попал в состояние ОК, он может оставаться в нем, пока В = 1, независимо от значений сигнала на входе А [см. рис. 7.49(a)]. Если В = О, то снова необходимо проверить, нет ли двух единиц или двух нулей подряд на входе А. Однако в этом случае мы сталкиваемся с небольшой проблемой. Текущее значение входного сигнала А может быть вторым следующим подряд тем же самым значением, а может и не быть; таким образом, мы можем опять остаться в состоянии ОК или должны вернуться назад к состоянию АО или А1. Мы определили состояние ОК слишком широко: оно не помнит достаточно информации, чтобы сказать нам, куда идти дальше.
Рис. 7.49. Продолжение процесса составления таблицы состояний Эта проблема решается расщеплением состояния ОК на рис. 7.49(b) на два состояния ОКО и OKI, которые помнят последнее значение сигнала на входе А. Для состояний АО и А1 все следующие состояния можно выбрать из уже существующих, как это следует из рисунков 7.49(c) и (d). Если, например, автомат, находясь в состоянии ОКО, получает О на входе А, то он может оставаться в состоянии ОКО; мы не должны вводить новое состояние, чтобы помнить три нуля подряд, так как описание автомата не требует от нас обнаружения этого случая. Таким образом, мы достигли замкнутости таблицы состояний, которая описывает теперь автомат с конечным числом состояний. Ради спокойствия, в качестве проверки на рис. 7.50 повторены временные диаграммы, приведенные ранее на рис. 7.47, только на этот раз они сопровождаются перечислением состояний, через которые должен проходить автомат согласно нашей окончательной таблице состояний. state init
око 0К1 Рис. 7.50. Временные диаграммы и последовательность состояний для конечного автомата в рассматриваемом примере (CLOCK - тактовый сигнал, STATE - состояние) ООО «Мягкий Дом» - это Отечественный производитель мебели. Наша профильная продукция - это диваны еврокнижка. Каждый диван можем изготовить в соответствии с Вашими пожеланияи (размер, ткань и материал). Осуществляем бесплатную доставку и сборку. Звоните! Ежедневно! (926)274-88-54 Продажа и изготовление мебели. Копирование контента сайта запрещено. Авторские права защищаются адвокатской коллегией г. Москвы. |