![]() |
Звоните! (926)274-88-54 Бесплатная доставка. Бесплатная сборка. |
Ассортимент тканей График работы: Ежедневно. С 8-00 до 20-00. Почта: soft_hous@mail.ru |
![]() ![]() ![]() |
Читальный зал --> Программные средства foundation (а) АВ (Ь ) АВ ~ Значение § 00 01 II Ю Z Значение S 00 Oj щ Начальное состояние init АО АО А1 а1 о Начальное состояние init АО Ао а1 а1 п НаАбылО АО ОКОО ОКОО А1 А1 о НаАбылО АО окоо окоо А1 АО АО 0К11 0К11 о НаАбыла! Д1 ДО до ОК11 0К11 На А было 00 окоо окоо окоо ОКД1 А1 , На А было 00 окоо окоо окоо А001 . НаАбылоП 0К11 АО ОКАО 0К11 ОК11 1 НаАбылоП Оки до А110 0K11 окп ОК,наАбылО ОКАО окоо ОКОО 0КД1 Д1 i НаАбыло001, В= 1 А001 АО ДЕЮ 0К11 0К11 0К,наАбыла1 0КА1 до окдо ОК11 окп НаАбыло 110, В= 1 дно окоо окоо aeoi ai S* На А было bb 10,В=1ДЕ1о окоо Окоо aeoi ai НаАбылоЬЬ 01,0=1 aeoi АО дею 0К11 0К11 Рис. 7.51. Неминимальные таблицы состояний, эквивалентные таблице на рис. 7.49(d) Основная идея формальных процедур минимизации заключается в обнаружении эквивалентных состояний (equivalent states): два состояния эквивалентны, если их невозможно различить, наблюдая только текущие и следующие значения сигначов на выходе автомата (но не переменных состояния, характеризующих его внутренние состояния). Пару эквивалентных состояний можно заменить одним состоянием. Два состояния S1 и S2 эквивалентны, если выполнены следующие два условия. Во-первых, находясь в состояниях S1 и S2 автомат должен вырабатывать одинаковые значения сигнала (или сигналов) на выходе; в случае автомата Мили это должно быть верно для всех входных комбинаций. Во-вторых, при каждой входной комбинации за состояниями S1 и S2 должно следовать либо одно и тоже состояние, либо эквивалентные состояния. неужели все это нужно на самом деле? Детали формальных процедур минимизации числа состояний можно найти в литературе. Однако большинство разработчиков цифровых устройств редко пользуется этими процедурами. Более тщательное увязывание значения состояний с требованиями задачи позволяет опытным проектировщикам - в случае задач небольшого объема ~ составлять таблицы с минимальным или близким к минимальному числом состояний, не прибегая к формальной процедуре минимизации. Бывают также такие ситуации, коглаувеличение числа состояний может упростить конструкцию или уменьшить ее стоимость; в таких случаях даже нет необходимости прибегать к помощи автоматизированной процедуры минимизации числа состояний. Разработчик может больше сделать для упрощения конечного автомата на этапе представления состояний в двоичной записи, о чем идет речь в разделе 7.4.3. 7.4.2. Минимизация числа состояний При нашем словесном описании таблица состояний на рис. 7.49(d) является минимальной в том смысле, что содержит наименьшее возможное число состояний. Но возможны и другие таблицы с большим числом состояний, как, например, на рис. 7.51, которые также будут работать. К таким таблицам можно применить формальную процедуру минимизации числа состояний. Применяя формальную процедуру минимизации числа состояний к таблице состояний, приведенной на рис. 7.51(a), мы видим, что состояния ОКОО и ОКАО эквивалентны, поскольку в этих состояниях вырабатывается одно и то же значение выходного сигнала и их множества следующих состояний тождественны. Так как эти состояния эквиваленты, состояние ОКОО можно исключить, а там, где оно встречается в таблице, заменить его состоянием ОКАО; можно поступить и наоборот Аналогично, эквивалентными являются состояния 0К11 и 0КА1. Чтобы минимизировать таблицу состояний, приведенную на рис. 7.51 (Ь), в рамках формальной процедуры придется прибегнуть к рассуждениям, носящим отчасти циклический характер. Находясь в состояниях ОКОО, А110 и АЕ10, автомат вырабатывает один и тот же сигнал и в качестве следующих состояний имеет почти идентичные множества состояний, так что эти три состояния могли бы быть эквивалентными. Они строго эквивалентны только в том случае, если эквивалентны состояния А011 и АЕ01. Аналогично, состояния OK11, А001 и АЕ01 эквивалентны только тогда, когда эквивалентны А110 и АЕ10. Другими словами, состояния, входящие в первый набор, эквивалентны, если эквивалентны состояния, входящие во второй набор, и наоборот. Так вот, давайте двигаться вперед, приняв, что они эквивалентны. 7.4.3. Кодирование состояний Следующий шаг в процессе проектирования состоит в определении того, сколько требуется двоичных переменных для представления состояний в таблице состояний, и в распределении двоичных комбинаций между состояниями с теми или иными именами. Мы будем называть двоичную комбинацию, присвоенную конкретному состоянию, кодом состояния (coded state). Полное число состояний (total number of states) автомата с п триггерами равно 2 , так что число триггеров, необходимое для кодирования s состояний, равно flog s], то есть наименьшему целому числу, большему, чем log2 s, или равному этой величине. Ради удобства, в табл. 7.6 вновь воспроизведена таблица состояние/выход для автомата, рассматриваемого в качестве примера. У него пять состояний, так что ему требуется три триггера. Конечно, у трех триггеров полное число состояний равно восьми, поэтому в данном случае 3 из них являются неиспользуемыми состояниями (unused states). Мы рассмотрим альтернативные варианты обращения с неиспользуемыми состояниями в конце этого раздела. А сейчас нам нужно разобраться с массой возможностей, возникающих при выборе способа кодирования состояний. начальное состояние и состояние незанятости Конечный автомат, рассматриваемый в этом разделе в качестве примера, попадает в начальное состояние только при запуске, тогда как многие автоматы проектируются таким образом, чтобы у них было состояние незанятости ( idle state), в которое автомат попадал бы как при запуске, так и во всех тех случаях, когда он ничего не должен делать. Табл. 7.6. Таблица состояний и значений выходного сигнала в рассматриваемом примере Простейший способ назначения s кодов состояний из 2 возможных двоичных комбинаций заключается в использовании первых .у целых двоичных чисел в порядке двоичного счета, как это сделано в левом столбце назначаемых кодов состояний в табл. 7.7. Однако простейший способ назначения не всегда приводит к простейшим уравнениям возбуждения и уравнениям выхода, и, следовательно, к наиболее простой принципиальной схеме. Действительно, назначение состояний часто существенно влияет на стоимость схемы и может быть тесно связано с другими факторами, такими как выбор элементов памяти (например, D-триггеры или JK-триггеры) и подход к реализации логики возбуждения и логики выхода (например, в виде суммы произведений , произведения сумм или в каком-то частном виде применительно к данному проекту). математика предостерегает Число различных способов, которыми можно выбрать т кодов состояний из и возможных кодовых комбинаций, задается биноминальным коэффициентам (от), равным \( щу/ е встречались с биномиальными коэффициентами в парафафе 2.10 в связи с кодированием десятичных чисел.) В нашем примере имеется различных способов выбора пяти кодов состояний из восьми возможных, и при каждом таком выборе существует 5! способов распределения пяти состояний с именами по выбранным двоичным комбинациям. Таким образом, мы можем дТз] * способами установить соответствие между пятью состояниями нашего автомата и комбинациями из трех двоичных переменных состояния. Нам не хватит времени перебрать все способы. ООО «Мягкий Дом» - это Отечественный производитель мебели. Наша профильная продукция - это диваны еврокнижка. Каждый диван можем изготовить в соответствии с Вашими пожеланияи (размер, ткань и материал). Осуществляем бесплатную доставку и сборку. Звоните! Ежедневно! (926)274-88-54 Продажа и изготовление мебели. Копирование контента сайта запрещено. Авторские права защищаются адвокатской коллегией г. Москвы. |