Джон Ф.Уэйкерли Проектирование цифровых устройств. Том I (2002) (1095889), страница 163
Текст из файла (страница 163)
7.26 приведены результирующие уравнения возбуждения и выхода, составленные АВЕ(.-компилятором (уравнения обратной полярности не показаны). Обратите внимание на имена переменных в правых частях равенств типа "01. ЕВ'. Здесь признак-суффикс ". БВ" указывает, что это — сигнал обратной связи ("(ееНЬасх"), поступающий в решетку И-ИЛИ с выхода триггера, но не с соответствующего вывода ПЛУ, с учетом выбираемого инвертирования в тех ПЛУ, где это возможно. На рис.
7Н04 показано, что язык АВВЕ реально позволяет вам, путем использования различных признаков-суффиксов прн имени сигнала, выбирать в правой части равенства одно из трех возможных значений сигнала: — фактический сигнал на выходе триггера до программируемой инверсии. . Г — то значение сигнала, какое было бы на выходном выводе при наличии разрешения выхода.
7 11. Проектирование пооледовательностиых схем не языке АВЕЕ 737 гты — фактическое значение сигнала на выводе плу. если буфер с тремя состояниями на выходе заперт, то этот сигнал задается другим устройством, либо данный выход остается в плавшощем состоянии. Очевидно, что значение . РТ(ч не следует использовать в уравнении возбуждения конечного автомата, поскольку в этом случае не гарантируется, что оно всегда будет равно значению переменной состояния. Табл. 7.26. Сокращенный пе- речень уравнений для ПЛУ ЗМЕХТ 01 : (!02-ГВ й 'ЦЗ.РВ й ВЕЗЕТ 1. З Ц1.ГВ й ВЕБЕТ 1.); Ц1.С = (СЬОСК); Ц1.
ПЕ = (1); Ц2 := (Ц1.РВ й !ЦЗ.ГВ й ВЕЯЕТ Е й !А В 01.ГВ й ЦЗ.РВ й ВЕЗЕТ О й А з 01.РВ й 02.РВ й ВЕЗЕТ 1 й В); 02.С = (СТ.ОСЕ)1 02.ОЕ = (1); ЦЗ := ('Ц2,ЕВ й !ЦЗ.ГВ й ВЕЗЕТ Ь й А Ф Ц1.РВ й ВЕЗЕТ Е й А); ЦЗ.С = (С1ОСК); ЦЗ.ОЕ = (1); 2 = (Ц2 й Ц1); выходной вывод 1Я перемычками мультиплексор выбора выхода рмс. 7.104. Возможность выбора выходного сигнала в сложных ПЛУ Несмотря на использование «языка высокого уровня», при написании программы на языке АВЕ1. (табл.
7.25.) все же пришлось опираться на исходную, составленную вручную таблицу состояний (в данном случае это была таблица, представленная на рис, 7,49). В табл. 7.27 показан другой подход, Эта программа составляется непосредственно из словесного описания конечного автомата, воспроизводимого здесь еще раз: 738 Глава 7. Принципы проектирования последовательностных схем Построить тактируемый синхронный конечный автомат с двумя входами А н В и одним выходом 2, таким что выходной сигнал 2 равен 1, если — входной сигнал А имел одно и то же значение на каждом из двух предыдущих тактов тактового сигнала нли — входной сигнал В равен 1 с последнего момента времени, когда первое условие было выполнено.
В противном случае выходной сигнал должен равняться О. шоди1е ЯНЕХ2 11сХе 'АХсегпаге уегваоп о1 ехварХе ягаге наса(пе' Харис апВ оигрпс ране С!.ОСК, ВЕЗЕТ Ь. А, В ЬАВТА, 01, 02 2 ргп; рзп Авгуре 'геЕ'; р1п 1есуре 'сок'; " Ое11п1с1опв ОВТАТЕ Щ1,023; хихт ( о, 03; !.ООКХИС = ( О, 13; Ок " ( 1, 03 ! ХТВА « ( 1, 1); ВЕЗЕТ = !ВЕЗЕТ„Ь; " Втаге таг1аоХев " Зсаге епсоадпяв всаге 41аЯгаа ОЯТАТЕ вяасе ХИХТ: ХР ВЕЗЕТ ТНЕИ 1ИХТ ЕЬЗЕ ЬООКХИС; всего ЬООКХИС: Хр КЕЯЕТ ТНЕИ ХИХТ ЕЬЯЕ ХР (А = ЬАЯТА) ТИКИ ОК ЕЬЯЕ 1.0РКХИС; ХР ВЕЗЕТ ТНЕИ ХМХТ ЕЬЯЕ ХР В ТНЕИ ОК ЕЬЯЕ ХР (А = ЬАВТА) ТНЕИ ОК ЕЬЯЕ ЬООКХИС; СОТО ХИХТ; агате ХТНА: ечпес1опв ЬАВТА.С1.К С1.0СК; ОВТАТЕ,С1.К» СХОСК; ОЯТАТЕ.ОЕ 1; ЬАЯТА := А; 2 (ОЯТАТЕ ОК); Табл.
7.27. Более «естественная» программа на языке АВЕК для конечного автомата нз раздела 7.4.! 7 З т. Проектирование последовательностями схем на языке АВЕЕ 739 ОПЕРАНД-ФАНТОМ Обычно в реальных ИС типа СРЬР имеются только двухвходовые мультиплексоры выбора выходного сигнала, так что выход . КВ, указанный на рис. 7 [04, бывает опушен.
Если в уравнении возникает обращение к сигналу с признаком . РВ, то компилятор использует соответствующий сигнал с признаком . О, осуществляя, если это необходимо, его инвертирование. Основная идея нового подхода заключается в отказе от состояния, ответственного за последнее значение сигнала А, и введении вместо этого отдельного триг~еРа ТАБ ТА для хранения этой информации. Тогда должны быть определены ~олько два состояния, помимо первоначального состояния 1[41т: 1ООк1на [«ожидание пары одинаковых значений сигнала Ав) и ОК [«поступили два одинаковых значения сигнала А, либо сигнал В остается равным 1 с последнего момента поступления пары одинаковых значений сигнала А»). Сигнал на выходе Š— это результат простого комбинационного декодирования состояния ОК.
"7.11.3. Внешняя память состояния Бывают случаи, когда информация о состоянии конечного автомата, построенного на основе ПЛУ, хранится во внешних по отношению к ПЛУ триперах. В языке АВЕС есть специальный вариант оператора в саге с[1адгапдля такой ситуации: всасе с[1аугап сиггепе-агаге-тапаЫез -> пехввгаге-тапаЫез Здесь сштепрзгаге-танаЫез — АВЕЕ-набор, в котором перечислены входные сигналы, представляющие в совокупности текущее состояние, а пехГмГаГетапаЫез — набор соответствующих выходных сигналов, подаваемых на входы внешних О-триггеров, в которых хранится состояние автомата; например, зсаГе с[1адгаш [СОц01, СОц02) — > [НЕХТ01, нЕХТО2) "7.11.4. Задание выходных сигналов автомата Мура, В рассматриваемом примере конечный автомат является автоматом Мура, так что его выходной сигнал 8 зависит только от состояния, что и было нами реализовано с помощью соответств> ющих равенств в разделах е Чцас у опз программ, приведенных в табл.
7.25 и 7.27. Но можно было поступить и иначе; язык АВЕЕ позволяет задавать выходные сигналы автомата Мура одновременно с определением самих состояний. Оператору перехода в определении состояния власе ~ожет предшествовать одно или большее число необязательных равенств, как ~оказано в табл. 7.28. Чтобы воспользоваться этой возможностью, например, в ~лучае автомата, описываемого программой в табл. 7.27, следует исключить относящееся к сигналу 8 равенство из раздела есцагТопз и переписать диаграмму состояний так, как это сделано в табл. 7.29.
740 Глава 7. Принципы проектирования последоватальностных схем Табл. 7.28. Структура диаграммы состояний в языке АВЕ), в которой задаются значения выходных сигналов автомата Мура. втаза сзабтаа егаге-иагыыее всаее гааге-еа!ие У: ор!гола! ечиолол; орлопа!ечиалол; гела!!дол е!агетелц велев егагегиа!ие 2: ор!!ола! еаиалол; ор!игла! еаиаНоп; ггапеиюл егагетет; велев на!е-ио!ие Ти: ор!!ола! едко!гоп; ариола!ее!калил; !гале!лоп его!отел! ! Табл. 7.29. Конечный автомат Мура со встроенными определениями выход- ных сигналов азате атлБтаа ОБТАТЕ лепта тятт: К О; 1Р ВЕБЕТ ТНЕИ 1И1Т ИЛЕ ЬООК1МО; ахате 100К1МО: К = О; 1Р ВЕЗЕТ ТНЕИ 1И1Т Е!.БЕ 1Р (А = ьАБТА) ТНЕМ ОК Е1,3Е ЬООК1МО; Е 1; 1Р ВЕЗЕТ ТНЕМ 1И1Т Е!.БЕ 1Р В ТНЕИ ОК ЕьБЕ 1Р !А = !.АБТА) ТНЕН ОК Е1.БЕ 1.00К1ИО; вьасв ОК: к о; СОТО И1Т; Если такая переменная, как К, встречается в левой части нескольких соотношений, то так же, как это имеет место и в отношении других равенств в АВН-- программе, результирующее значение данной переменной получается путем обьединения правых частей по правилам операции ИЛИ (подробнее это было объяснено в разделе 4.6.3).
Заметьте, что все сказанное относилось к случаю, когда выход г является комбинационным, не регистровым. Если бы выход Е был регистровым, то желаемые значения сигнала возникали на выходе лишь на следующем такте, то есть на один такт позднее, после того как автол!ат побывал в соответствующем состоянии. 7 1 1 Проектирование последе вательностных схем на языке АВЕ1. 74 1 *7.11.5. Задание сигналов на выходах типа Мили и на 1СОНВЕЙЕРНЫХ ВЫХОДаХ С ПОМОЩЬЮ ОПЕРатОРа нГП« В ходные сигналы конечных автоматов могут зависеть не только от состояния, но .
аюке и от входных сигналов. В разделе 7.3.2 мы назвали выходы таких автоматов выходами типа Мили или конвейерными выходами в зависимости от того, возника, ли соответствующие сигналы на выходе сразу же после изменения входных ,игналов илн толью на очередном фронте тактового сигнала. Оператор НТТН 1н1тН ла1етепс языка АВЕЕ позволяет задавать зги выходные сигналы одновременно со следующими состояниями, а не в разделе программы ес1цасйопз Синтаксис оператора ХТТН очень прост, как это видно нз табл. 7.30 За именем любого следующего состояния, являющимся частью оператора перехода, может следовать ключевое слово н1тн и заключенный в слобки список равенств, которые «исполняются» при данном переходе. Формально процедуру можно описать так: пусть "Е" — выражение возбуждения, истинное только при осуществлении данного перехода„тогда в каждом равенстве, содержащемся во взятом в скобки списке оператора Н1ТН, результат объединения правой части с Н по правилам логической операции И присваивается сигналу, указанному в левой части.
В равенствах можно использовать как нетактируемое, так и тактируемое присваивание для получения сигнала на выходе Мили и на конвейерном выходе соответственно. Табл. 7.30. Структура оператора нттн в языке АВЕН пе«»змее Н1ТН кязипипп; е««аппп; В разделе 7.4.6 мы рассмотрели в качестве примера конечного автомата с выходом Мили «кодовый замок» и пришли к табл. 7.14.
Тот же самый конечный автомат представлен в виде программы на языке АВЕ1. в табл. 7.31, где для выходов типа Мили использованы операторы Н1ТН, Заметьте, что при этом определения состояний оканчиваются закрывающими скобками, а не точками с запятой, которыми обычно оканчиваются операторы переходов.
Со~ласно словесному описанию кодового замка, выходные сигналы нннк и Н1НТ не могут быть конвейерными, поскольку нх значения зависят от текущего значения входного сигнала х. Если же переопределить состояния, положив„что "Н»К вЂ” это полностью «незапертое» состояние, а н1нт — само рекомендуемое следующее значение Х, то можно построить новый автомат с конвейерными выходамн, как это сделано в табл. 7.32.