![]() |
Звоните! (926)274-88-54 Бесплатная доставка. Бесплатная сборка. |
Ассортимент тканей График работы: Ежедневно. С 8-00 до 20-00. Почта: soft_hous@mail.ru |
![]() ![]() ![]() |
Читальный зал --> Программные средства foundation
Рис. 7.91. Примитивная таблица потока для ловушки импульсов Заполним теперь места в таблице, предназначенные для указания состояний, следующих за вновь введенным состоянием RES1. Когда сигнал сброса закончится, мы можем вернуться обратно в состояние IDLE. Если возникнет импульс, то мы должны оставаться в состоянии сброса , так как, согласно временнь/м диаграммам, переход сигнала Р из О в 1 при R = 1 игнорируется. Снова, чтобы таблица потока была примитивной, мы должны ввести для этого случая новое состояние RES2. Теперь, когда у нас в каждом столбце имеется по одному устойчивому состоянию в целом, стоит рассмотреть возможные переходы для уже имеющихся состояний, а не вводить все новые и новые состояния. В самом деле, если схема находится в устойчивом состоянии в целом PLS1/10 и сигнал R становится равным \, то возможен переход в состояние RES2, в котором удовлетворяется требование равенства нулю выходного сигнала. С другой стороны, куда должна перейти схема, если сигнал Р станет равным О? В столбце 00 уже есть устойчивое состояние в целом IDLE, но было бы неправильно сказать, что схема должна перейти именно в это состояние. В состоянии PLS1 импульс был принят, а сигнала сброса не было видно, поэтому даже с окончанием импульса схема должна оставаться в таком состоянии, при котором все еще Z = L Следовательно, для этого случая мы должны ввести новое состояние PLS2. Из состояния RES2 схема беспрепятственно может перейти в состояние RES1, когда импульс заканчивается. Однако в случае, когда заканчивается сигнал сброса, нам нужно быть осторожнее, как это следует из временнь/х диафамм. Коль скоро мы уже пропустили переход от О к 1 в сигнале Р, мы не можем перейти в состояние PLS1, так как в этом случае выходной сигнал оставался бы равным 1. Вместо этого мы вводим новое состояние PLSN с О на выходе. Мы можем, наконец, заполнить строки таблицы, относящиеся к состояниям PLS2 и PLSN, не вводя никаких новых состояний. Заметьте, что из состояния PLS2 схема может перескакивать в состояние PLS1 и обратно, поддерживая на выходе сигнал, равный 1, если приходит последовательность импульсов, а сигнал сброса не возникает. S 00 01 П 10 IDLE (J£L) Cj£b RES PLS PLS idle RES CPl) RES IDLE IDLE Рис. 7.92. Сокращенная таблица потока для ловушки импульсов *7.10.4. Кодирование состояний, гарантирующее отсутствие гонок Следующий, в определенной мере творческий (читай: трудный ) шаг в проектировании последовательностной схемы с обратной связью заключается в нахождении такого способа присвоения кодов состояниям, называемым в сокращенной таблице потока по именам, при котором не было бы гонок. Напомним, что, согласно сказанному в разделе 7.9.3, гонка возникает в том случае, когда в результате изменения одного входного сигнала изменяется несколько внутренних переменных состояния. В последовательностной схеме с обратной связью недопустимы никакие критические гонки; в противном случае схема может вести себя непредсказуемо. Как мы увидим, для исключения гонок часто оказывается необходимым увеличить число состояний схемы. Возможность наличия гонок в таблице переходов схемы можно проанализировать с помощью диаграммы смежности состояний {state adjacency diagram) для ее таблицы потока. Диафамма смежности представляет собой упрощенную *7.10.3. Минимизация таблицы потоки Как уже говорилось, в примитивной таблице потока обычно бывает больше состояний, чем это необходимо. Однако существует формальная процедура минимизации числа состояний в таблице потока, описываемая в литературе. Эта процедура часто оказывается очень сложной, если среди следующих состояний в таблице потока имеются безразличные состояния. К счастью, в нашем примере таблица потока достаточно мала и проста, так что ее можно минимизировать непосредственно. В состояниях IDLE и RES1 вырабатывается одинаковый выходной сигнал, и у них одни и те же следующие состояния при таких комбинациях входных сигналов, когда следующие состояния указаны. Поэтому эти состояния совместимы и их можно заменить в сокращенной таблице потока одним состоянием IDLE. То же самое можно сказать о состояниях PLS1 и PLS2 (заменяемых на PLS) и о состояниях RES2 и RLSN (заменяемых на RES). Результирующая сокращенная таблица потока всего с тремя состояниями представлена на рис. 7.92. Рис. 7.93. Пример таблицы потока к задаче выбора кодов состояний ![]() Рис. 7.94. Пример кодирования состояний: (а) диаграмма смежности; (Ь) 2-мерный куб; (с) один из восьми возможных способов кодирования состояний без гонок Два состояния называют смежными {adjacent states), если они связаны дугой на диафамме смежности состояний. Для того чтобы при переходах не было гонок, коды смежных состояний должны различаться только в одном разряде. Если два состояния А и В являются смежными, то неважно, имеется ли в исходной таблице потока переход от А к В или от В к А, или переходы могут происходить в обоих направлениях. Любой из этих переходов может содержать гонку, если состояния А и В различаются более чем одной переменной состояния. Вот почему нет необходимости в указании направления переходов на диафамме смежности. Задача нахождения свободного от гонок кодирования состояний посредством переменных состояния эквивалентна отображению узлов и дуг диафамм смежности на вершины и ребра и-мерного куба. На рис. 7.94 это сводится к отображению диафаммы смежности, изображенной на рис. (а), на 2-мерный куб, представленный на рис. (Ь). Вы можете визуально найти восемь способов осуществить такое отображение (четыре вращения умножить на два зеркальных соответствия), один из которых приводит к присвоению состояниям кодов, указанных на рис. (с). диаграмму состояний, где опущены пути, по которым состояния замыкаются сами на себя, и не указаны направления переходов (переход А -> В изображается точно так же, как В А) и вызывающие их комбинации входных сигналов. На рис. 7.93 приведен пример таблицы потока для схемы классического образца, на рис. 7.94(a) - соответствующая диафамма смежности. ООО «Мягкий Дом» - это Отечественный производитель мебели. Наша профильная продукция - это диваны еврокнижка. Каждый диван можем изготовить в соответствии с Вашими пожеланияи (размер, ткань и материал). Осуществляем бесплатную доставку и сборку. Звоните! Ежедневно! (926)274-88-54 Продажа и изготовление мебели. Копирование контента сайта запрещено. Авторские права защищаются адвокатской коллегией г. Москвы. |