![]() |
Звоните! (926)274-88-54 Бесплатная доставка. Бесплатная сборка. |
Ассортимент тканей График работы: Ежедневно. С 8-00 до 20-00. Почта: soft_hous@mail.ru |
![]() ![]() ![]() |
Читальный зал --> Программные средства foundation 7.4. Проектирование тактируемых синхронных конечных автоматов Создание тактируемого синхронного конечного автомата начинается с его словесного описания или задания его технических характеристик, а затем выполняются те же шаги, что и при анализе, перечисленные в предыдущем параграфе, только в обратном порядке: 1. На основе словесного описания составляется таблица состояние/выход ; для состояний используются мнемонические имена. (Можно также начинать с диаграммы состояний; этот метод рассмотрен в параграфе 7.5.) 2. (Необязательный шаг) Минимизируется число состояний в таблице состояние/выход {state minimization). 3. Выбирается набор переменных состояния и комбинации переменных состояния ставятся в соответствие именам состояний {state assignment). 4. Чтобы получить таблицу переход/выход , комбинации переменных состояния подставляются в таблицу состояние/выход ; в результате каждой возможной комбинации состояние/вход теперь соответствует желаемая следующая комбинация переменных состояния и желаемый выход. 5. Выбирается тип триггеров для памяти состояния (например, D- или JK-триггеры). В большинстве случаев этот выбор бывает уже произведен в уме на начальной стадии проекта, но данный шаг - это ваша последняя возможность передумать. 6. Составляется таблица возбуждения {excitation table), в которую заносятся значения возбуждающих воздействий, необходимые для того, чтобы получить желаемое следующее состояние для каждой комбинации состояние/вход . 7. Из таблицы возбуждения выводятся уравнения возбуждения. 8. Из таблицы переход/выход выводятся уравнения выхода. 9. Рисуется принципиальная схема, включающая элементы, хранящие переменные состояния, и реализующая требуемые уравнения возбуждения и выхода. (Впрочем, уравнения можно реализовать непосредственно в программируемом логическом устройстве.) В данном парафафе мы рассмотрим каждый из этих шагов в процессе построения конечного автомата. Самым важным является шаг 1, так как именно здесь разработчик занимается собственно проектированием в творческом процессе перевода словесного (возможно, неоднозначного) описания конечного автомата на обычном языке в формальное табличное описание. Шаг 2 практически никогда опытными разработчиками не выполняется, а вот для шага 3 требуется большое мастерство. После того как первые три шага пройдены, все остающееся можно считать рутинной работой, требующей следования вполне определенным правилам синтеза. Самыми утомительными являются шаги 4 и 6 - 9, но их легко автоматизировать. Например, при разработке конечного автомата, который предстоит реализовать в программируемом логическом устройстве, рутинную часть работы можно поручить компилятору языка ABEL, как это будет сделано в разделе 7.П.2. Но все же важно понимать детали процедуры синтеза как для того, чтобы иметь возможность оценивать работу компилятора, так и для того, чтобы была возмож- составление таблицы состояний -это своего рода программирование Составление таблицы состояний (или, что эквивалентно, вычерчивание диаграммы состояний) - творческий процесс, многими своими чертами напоминающий написание профаммы для компьютера: Вы начинаете с достаточно точного описания входов и выходов, но с возможно неоднозначным описанием желаемого соотношения между ними, не заботясь о том, как действительно получить желаемые выходы при имеющихся входах. В процессе осуществления проекта вам, возможно, приходится уточнять, что именно и каким из многих способов будет реализовываться, иногда руководствуясь здравым смыслом, а иногда произвольно. Возможно, вам понадобится оговорить специальные случаи, о которых не было речи в первоначальном описании, и предусмотреть их обработку. Вероятно, при выполнении этой работы вам надо будет не упускать из виду несколько идей. Поскольку вьшолняемые действия не алгоритмизуемы, нет никакой гарантии, что вы составите таблицу состояний с конечным числом состояний или напишете профамму, состоящую из конечного числа строк. Однако, если вы не работаете на правительство, вы должны попытаться сделать это. Когда, наконец, вы запустите конечный автомат или профамму, он или она будут делать точно то, что вы им повелели, - ни больше и ни меньше. Нет гарантии, что ваш продукт заработает с первого раза; возможно, придется его отлаживать или даже весь процесс в целом повторить. Хотя составление таблицы состояний - это, конечно, проблема, не надо бояться. Если вам приходилось сталкиваться с подобными задачами во время учебы, то вы, вероятно, уже написали несколько работающих профамм; вот почему вы вполне можете стать также хорошим составителем таблиц состояний. 7.4.1, Пример составления таблицы состояний Существует несколько различных способов описания таблицы состояний конечного автомата. Позднее мы увидим, как можно косвенно задавать таблицу состояний на языках ABEL и VHDL. Однако в этом парафафе мы будем иметь дело только с таблицами состояний, задаваемыми явно, в той же самой табличной форме, в какой мы пользовались ими при анализе в предыдущем парафафе. Процесс составления таблицы состояний, а затем - в следующих разделах - вся процедура синтеза, будут представлены нами на примере следующей простой задачи: Построить тактируемый синхронный конечный автомат с двумя входами А и В и одним выходом Z, таким что выходной сигнал Z равен 1, если ность сообразить, что происходит в действительности, когда компилятор дает неожиданные результаты. Поэтому ниже в этом парафафе рассмафиваются все девять шагов процедуры проектирования конечного автомата. реализация надежной начальной установки Система будет работать надлежащим образом только в том случае, если конструкция конечного автомата гарантирует, что при включении он войдет в известное начальное состояние типа состояния INIT в разбираемом нами примере. Обычно для этого аналоговой схемой генерируется сигнал начальной установки RESET. Такая схема, как правило, обнаруживает напряжение, близкое к полному напряжению питания (скажем, 4.5 В) и повторяет это напряжение на своем выходе в течение времени (например, порядка 100 мс), достаточного для того, чтобы все компоненты (в том числе генераторы) успели войти в установившийся режим, пока система еще остается незапущенной . Такой аналоговой ИС, предназначенной для начального запуска, является микросхема TL7705 фирмы Texas Instruments; она имеет встроенный эталонный источник напряжения 4.5 В, используемый для обнаружения включения питания, а время, в течение которого система остается незапущенной , задается внешними резистором и конденсатором. Если конечный автомат строится на дискретных триггерах с асинхронными входами установки в состояние 1 и сброса, то автомат можно ввести в желаемое начальное состояние, подавая сигнал RESET на эти входы. Когда таких входов нет, или в том случае, когда запуск должен быть синхронным (как это бывает в системах с быстродействующими микропроцессорами), для сигнала RESET можно выделить отдельный вход конечного автомата, такой что при действии сигнала на этом входе происходит желаемая начальная установка всех элементов, ответственных за следующее состояние автомата. - входной сигнал А имел одно и то же значение на каждом из двух предыдущих тактов в тактовом сигнале или - входной сигнал В равен 1 с последнего момента времени, когда первое условие было выполнено. В противном случае выходной сигнал должен равняться 0. Не волнуйтесь, если на этом этапе смысл данного задания, мягко говоря, вам не вполне ясен. Ваша задача как разработчика состоит в преобразовании описания такого рода в таблицу состояний, которая должна быть совершенно недвусмысленной; даже если не получится то, что имелось в виду, все же будет, по крайней мере, основа для обсуждения и усовершенствования. В качестве дополнительного указания или требования условия задачи о составлении таблицы состояний включают временные диаграммы, демонстрирующие ожидаемое поведение конечного автомата для одной или нескольких последовательностей входных сигналов. Такого рода временные диаграммы вряд ли однозначно зададут поведение автомата при всех возможных входных воздействиях, но, как и раньше, это служит хорошей отправной точкой и контрольным тестом, по которому можно будет проверить правильность работы созданного устройства. Применительно к рассматриваемой нами задаче составления таблицы состояний временные диаграммы пусть имеют вид, указанный на рис. 7.47. ООО «Мягкий Дом» - это Отечественный производитель мебели. Наша профильная продукция - это диваны еврокнижка. Каждый диван можем изготовить в соответствии с Вашими пожеланияи (размер, ткань и материал). Осуществляем бесплатную доставку и сборку. Звоните! Ежедневно! (926)274-88-54 Продажа и изготовление мебели. Копирование контента сайта запрещено. Авторские права защищаются адвокатской коллегией г. Москвы. |