Джон Ф.Уэйкерли Проектирование цифровых устройств. Том I (2002) (1095889), страница 202
Текст из файла (страница 202)
Прежде чем обратиться к дальнейшим примерам, давайте рассмотрим временные характеристики конечных автоматов, построенных на основе ПЛУ, и соображения, касающиеся их компоновки. 9.1.1. Временные характеристики и компоновка конечных автоматов на основе ПЛУ На рис. 9.1 показано, как можно было бы воспользоваться программируемым логическим устройством общего вида с комбинационными и регистровыми выходами для построения конечного автомата. Временные параметры г и грр были введены в разделе 8.3.3: г р — задержка от тактового входа до выхода, а гр, — задержка прохождения сигнала через матрицу И-ИЛИ. 9.1. Примеры проектирования на языке АВЕ~ 923 — — ~ ~го сьоск переменные состояния внешние входы выходы типа Мили выходы типа Мура конвейерные выходы Рис.9.1.
Структура и временные параметры ПЛУ, используемого в качестве конечного автомата Переменные состояния, естественно, отнесены к регистровым выходам; их значения устанавливаются спустя время Г „после нарастающего фронта сигнаЛа С1.0СК. Выходы типа Мили — это комбинационные выходы; сигналы на выходах типа Мили принимают установившиеся значения спустя время г „после любого го изменения относящихся к ннм входных сигналов. Сипшлы на выходах типа Мили могут принимать новые значения также в том случае, когда изменяется состояние; момент, когда зги значения можно считать установившимися, наступает спустя время г + х после нарастающего фронта сигнала С1 0СК.
Сигнал на выходе типа Мура, по определению, является комбинационной логической функцией текущего состояния, поэтому он также устанавливается к момен- тУ вРемени Г .о-ьт после пРохождениЯ пеРеключающего фРонта в сигнале С1 ОСК. РО Таким образом, при реализации конечного автомата в ПЛУ выходы Мура не имеют никаких преимушеств по сравнению с выходами Мили в отношении быстродействия.
Для уменьшения задержки распространения мы ввели в разделе 7.3.2 конвейерные выходы, а в разделе 7.11.5 воспользовались нми. При реализации конечного автомата в ПЛу сигналы на эти выходы поступают непосредственно с триггеров, и их задержка„таким образом, составляет всеголишь г по отношению к тактовому со 924 Глава 9. Примеры проектирования последовательностных схем сигналу. Но кроме меньшей задержки, конвейерные выходы гарантируют также отсутствие п враз итных импульсов, что важно для целого ряда приложений.
Возможность построения конечного автомата на основе ПЛУ часто бывает ограничена числом выводов для входов и выходов у одного ПЛУ. Согласно модели, приведенной на рис. 9. 1, на каждую переменную состояния, а также на каждый выход типа Мили и типа Мура требуется по одному выходному выводу ПЛУ. Например, для автомата, управляющего задними фонарями автомобиля марки Гогд ТЬпн3ег1ягд (см параграф 7. 5), требуется три регистровых выхода лля переменных состояния и шесть комбинационньк выходов для зажигания отдельных фонарей; это слишком много для большинства ПЛУ, которые мы рассматривали, за исключением ИС 22У!0 КАК ОБОЙТИСЬ БЕЗ ГОЛОВНОЙ БОЛИ ПРИ РАЗБИЕНИИ При размещении устройства в нескольких ПЛУ часто приходится идти путем проб и ошибок. Этого можно избежать, применяя современные программные средства проектирования цифровых систем на основе ПЛУ. Чтобы воспользоваться ими, разработчик вводит уравнения и описание проектируемого конечного автомата без конкретизации того, в каких микросхемах должно быть реал изовано это устройство, и без назначения выводов.
Так называемая лроерам.иа разбпслия (раггп)олег) пытается поместить устройство в возможно меньшем числе интегральных схем из указанного семейства, одновременно минимизируя число выводов, используемых для соединения этих ИС между собой. Процедура разбиения может быть полностью автоматизированной, либо осуществляться при частичном контроле со стороны пользователя или под его управлением.
При проекгировании на ИС ббльших размеров типа СР1 Р и ГРСА их внутренние архитектурные ограничения могут вызывать головную боль, если рядом нет специалиста по программным средствам. Разработчик исходит из необходимого числа входов и выходов, нужного объема комбинационной логики и требований, предъявляемых к триггерам, и ему кажется, что устройство помещается в одной ИС типа СР1.Р или ГРОА. Но оказывается, что проект все же должен быть разбит на нескольло ПЛУ или логических блоков внузри ИС ббльших размеров, функции каждого из которых ограничены. Может случиться, например, что выходной сигнал, для формирования которого требуется большое число термов-произведений, необходимо отвести от других выходных сигналов, располагающихся физически рядом.
В свою очередь, от этого зависит, можно ли соседние выволы назначить теми или иными входами и выходами и скольло для них имеется термов-произведений. Указанные обстоятельства могут затронуть также возможности обмена сигналами между соседними блоками и поьчч нять на задержки этих сигналов в худшем случае. Все такие ограничения могут быть учтены програлаиой компоновки Яггег), в которой используется эвристический подход и находится наилучшее фу и кциональное разбиение на блоки в пределах одной ИС типа СР1.Р или ГРСА. Чаше всего программа разбиения и программа компоновки работают в среде проектирования совместно и в интерактивном взаимодействии с разработчиколц в результате находится приемлемая реализация с использованием нескольких ПЛУ и ИС типа СР).Р и ГРСА.
9.1. Примеры проектирования на языке АВЕ!. 925 С другой стороны, при записи состояний в форме выходного кода (см. раздел 7.3 2) требуется меньшее общее число выходов ПЛУ. Используя такое представление состояний, автомат, управляющий задними огнями автомобиля, можно разместить в одной ИС 1бу8, как мы увидим это в разделе 9.! .3. Аналогично любой переменной состояния или выходу типа Мура, переменная состояния, записанного в форме выходного кода, принимает установившееся значение спустя время т после фронта тактового сигнала.
Следовательно, представление состояния в форме выходного кода позволяет повысить быстродействие и обеспечивает ббльшую эффективность компоновки. При управлении задними огнями автомобиля включение аварийной сигнализации на 1О нс раньше не существенно, однако в высококачественной цифровой системе лишние 1О нс задержки могут вызвать уменьшение максимальной частоты системного тактового сигнала со! 00 МГц до 50 МГц.
Прн необходимости размещения системы в двух или большем числе ПЛУ лучше всего-с точки зрения простоты проекта и эффективности использования микросхем — осуществлять разбиение так, как показано на рис. 9.2. Единственное последовательностное ПЛУ применяется для того, чтобы обеспечить требуемые переходы из одного состояния в другое.
С помощью комбинационных ПЛУ из переменных состояния и входных сигналов формируются значения сигналов на выходах типа Милн и типа Мура. СЬОСК выходы типа Мура внешние входы выходы типа Мили Рис. 9.2. Разбиение конечного автомата по трем ПЛУ 926 Глава 9. Примеры проектирования последовательиостиых схем 9.1.2. Несколько простых автоматов Должен быть построен тактируемый синхронный конечный автомат с двумя входами Х и т'и одним выходом 2. Сигнал на выходе должен равняться 1, если число единиц, поступивших на входы Х и У с момента запуска, кратно 4; в противном случае сигнал 2 должен равняться О. Таблица состояний для этого автомата уже была нами составлена гом.
табл. 7. 12). Однако функции такого автомата значительно легче выразить средствами языка А ВЕ1., как это видно из табл. 9.1. Заметьте, что в данном случае лучше воздержаться от использования синтаксиса «диаграмм состояний» языка А ВЕЬ. Функцию этого автомата естественнее выразить с помощью вложенного оператора ИНЕИ и встроенной операции суммирования. Первым предложением пНЕН автомат устанавливается в его начальное состояние и счет сбрасывается в О, а в последующих предложениях счет увеличивается на 2, на 1 или на О при выполнении соответствующих условий, когда автомат не пребывает в сброшенном состоянии.
Заметьте, что по правилам языка АВЕЕ при сложении бит переноса «теряется», что эквивалентно выполнению сложения по модулю 4. Этот автомат легко умегцается в ПЛУ ОАЕ!6ЧЯ. У него четыре состояния, поскольку он реализуется на двух триггерах. Табл. 9.1. Программа на языке АВЕН для конечного автомата, считающего число единиц аоцц1е опевсевл е«11е 'Осев-совв»1пб як«ее иасв1ле' ОМЕЯСТЯИ «еч1се 'Р16УЯР', Явреев ал6 оаерыев СЕОСК, ВЕБЕТ, Х, Т рзш 1, 2, 3, 4; 2 р1п 13 Хвеуре 'соя'; СООИТ1..СООМТО р1в 14, 1Е Хасуре 'геЕ'; " Беев СООИТ ~ 1СООМТ1.,СООИТО3; есцас1овв СООИТ.С1К - С1ОСК; ИНЕИ ЕЕЯЕТ ТНЕИ СООИТ := О„ ЕЕЯЕ ИНЕЯ Х « '1' ТНЕИ СОПЯТ : СООЯТ + 2; Е1БЕ ИНЕИ Х Я Т ТНЕИ СООИТ ;= СООИТ + 1; Е1ЯЕ СОЛТ;-" СООИТ; Е = (СООМТ == О) епа олевссвл В параграфе 7.4 мы построили несколько простых конечных автоматов традиционными методами.