Джон Ф.Уэйкерли Проектирование цифровых устройств. Том I (2002) (1095889), страница 80
Текст из файла (страница 80)
табл. 4.43), записанная в потоковой форме. При таком подходе вентили и соединения между ними в явном виде не указываются; вместо этого используются встроенные операторы языка ЧН0Ь апсЬ сх и пос. (На самом деле для сигналов типа яТ0 Ь061С таких встроенных операторов нет, но они определяются и перегружаются пакетом 1ЕЕЕ 1164.) Заметьте, что у оператора по с самый высокий приоритет, так что для получения нужного результата не требуется заключать в скобки подвыражение типа "пес )ч ( 3 ) ". Можно также воспользоваться второй, условной формой параллельного сигнального оператора присваивания (сепг!!х(ола1 з(япа1-азз!интел! хгагетеп!) с ключевыми словами и)зеп и е1зе, как показано в табл. 4.49.
В этом случае в выражении Ьоо!еапехргехиоп отдельные булевы термы объединяются посредством встроенных булевых операторов языка ЧН1)Ь, таких как апс), сх и пот. 342 Глава 4. Принципы проекплрования комбинационных логических схем Под булевыми термами обычно понимаются булевы переменные или результаты сравнения, выполняемого с помощью операторов отношений (ге!аг(ола! орегагогз) =, 1= (не равно), », =, < и <к< Табл. 4.50.
Потоковая ЧН!)Ь-архитектура для ус~родства, обнаруживающего простые числа атсМИСесппге рг1ше2 агсЬ от ртзше 1а в1кпа1 МЗЬ ИО. ИЗЬ М2Ь И1, М2Ь И1 ИО, И2 М1Ь ИО: ЯТР ЬОС1С; Ьебзп МЗЬ„МО <= пос И(3) апп И(0); МЗЬ М2Ь М1 <= пос М(3) апо пос И(2) апо М(1) И2Ь И1 МО < поС М(2) апо И(1) ппп М(0); М2 М1Ь ИО <ч М(2) апо пос И(1) апо И(0); Р < ИЗЬ ИО ог ИЗЬ И2Ь И1 ог М2Ь И1 ИО от М2 М1Ь ИО; епо ртзше2 агсЬ; Табл. 4.51 содержит примериспользованияусловных параллельных операторов присваивания. Каждый бнт переменной типа ЯТР Ь(И1С, например, Ь((3), сравнивается со знаковыми литералами '1' и '0' и результат возвращается в виде значения типа )эоо1еап.
Результаты сравнения обьедиюпотся в булево выражение, помещенноеое в каждом операторе между ключевыми словами хпе п и е1ве. В общем случае требуются предложения е1 ве; совокупный набор условий в каждом нз операторов должен покрывать все возможные комбинации входных сигналов. Табл. 4. 51. Архитектура устройства для обнаружения простых чисел, в которой использованы условные присваивания атСЬз.гесзпте ртзшеЗ атсЬ от ртьше 1е а1бпа1 ИЗЬ ИО, ИЗЬ И2Ь М1, И2Ь И1 ИО, И2 И1Ь ИО: ЗТР ЬООХС; Ьейзп МЗЬ МО <= '1' япеп М(3) '0' апо М(0)='1' е1ве '0'; ИЗЬ И2Ь М1 <= '1' япеп М(3) '0' апо И(2) '0' апо И(1) '1' е1ве '0'; М2Ь М1 ИО < '1' япеп М(2)='0' апп М(1) '1' ппо И(0)='1' е1ее '0'; М2 М1Ь МО <= '1' ввел И(2)='1' апо М(1)='0' апд М(0)='1* е1ае '0'; Р <= МЗЬ ИО от МЗЬ И2Ь И1 ог И2Ь И1 МО от М2 М1Ь МО; епо ртзшеЗ атсЬ; Параллельный оператор присваивания другого рода — это язбярая ел оное оросеаиеание сигналу его значения (зе!ее!ей з(яоа(-азз(Зитео! к!а!стел!), синтаксис которого указан в табл.
4.52. Этот оператор вычисляет заданное выражение екргезз(оп и присваивает сигналу с именем з(ела!<оагле значение сигнала з(Мол!- ха!ие, соответствующее той из альтернатив сйо!сез, значение которой равно екргезз!оо, Альтернативой в каждом предложении хпео может быть одиночное возможное значение екргезз!оо или список значений, разделенных вертикальной чертой ( ~ ). Альтернативы соо(сез в данном операторе должны быть взаимно исключающими и в совокупности включать все возможные случаи. В последнем предложении хЛеп можно воспользоваться ключевым словом ог)летя в качестве указания на все значения лкргезз(оп, которые еще не были упомянуты. 4.Т язык опмашмме окова МЗЯЗ$.
34З Табл. 4. 52. Синтаксис изби- рательного сигнального опе- ратора присваивания а язы- ке ЧНРЕ з1Елабиа1ие еЬеп сйоиез; В архитектуре устройства лля обнаружения простыхчисел, приведенной в табл. 4,53, использован избирательный сигнальный оператор присваивания. Все ахьтериамиеы, для которых Е равно '1' могли бы быть записаны в одном предложении иЬеп; в нашем примере оии разнесены по нескольким предложениям только с учебной целью. Здесь избирательный сигнальный оператор прнсваиванюг как бы считывает запись множества включений функции Е, Ту же самую архитектуру можно слегка видоизменить, чтобы воспользоваться более удобной числовой интерпретацией Е в определении функции, Применяя приведенное ранее преобразование С01чУ 1ЕТЕОЕК, можно записать альгиернатиег в терминах целых чисел, которые, как это можно видеть из табл.
454, являются простыми, что и требовалось. О таком варианте представления структуры можно говорить как о «поведенческом» описании, поскольку желаемая функция отображена в нем таким образом, что поведение устройства оказывается совершенно очевидным. ПОЛНЫЙ ПЕРЕБОР При условном и избирательном присваивании сигналу его значения требуется перечисление всех возможных условий. В условном сигнальном присваивании заключительной фразой "е1ее егргегхуол" покрываются опущенные условия. При избирательном сигнальном присваивании все остающиеся условия можно подобрать ключевым словом "огпеге" в последнем предложении М~ ее. Глядя на табл. 4 53, можно подумать, что вместо слова ног Ье г е" мы могли бы записать девять остающихся 4-битовых комбинаций "ОООО", "0 100" и тд.
Но это не так! Не забывайте, что ЕТ0 Е061С вЂ” это девятизначная система, так что у 4-разрядной величины типа Е Т 0 Е061С БЛЕСТОК в действительности имеется 9 возможных значений. Поэтому "огпеге" в данном примере на самом деле покрывает 6 554 случая! еасЬ ехргсхзюп ве1есе запираете < з1яларги1ие иЬеп сйе!сея, хйпабкпЬде вЬев сйгпсез, ахсЬгаесепге рг1ше4 агсЬ ет ргзше 1е Ьебзп я1сЬ и ее1есс Е < '1' Ьеп "0001", '1' епеп "0010", '1' еЬеп "0011" ! "0101" ! "0111", '1' ипеп "1011" ! "1101", '0' иЬеп оспегзч еле ргбше4 агсЬ; Табл.4. 03.
Архитектура устройствадля обнаружения простых чисел, в которой используется иэбирательноеприсваи вал и е сигнал у его зна- чения 344 Глава 4. Принципы проектирования комбинационных логических схвзз Табл.4. 54. Описаниеустрой- ства для обнару- жения простых чисел, носящее поведенческий характер вгсЬ1гесепге рг1шеб агсЬ от рг1ше зв Ьебзп «1ЕЬ СОМЧ 1ЕТЕСЕЕ(П) ее1есс Т < '1' иЬеп 1 > 2 ! 3 ! 5 ! 7 ! 11 1 13, '0' иЬеп оеЬегв; епа рг1шеб агсЬ; 4.7.8. Элементы поведенческого проектирования Табл. 4.55.
Син- таксисоператора ргосезз в языке 1/Н01 ргосевв (з>йнарлате, з>дпарлате, ..., лднарла>не) >урн Йвс1апл>опз наг>аЫе >гесгага>>онз гоныап> >)ес(ага>>опз бзнсбон аеу>п>1>опз рп>сейиге Йв)зн>1(онз Ъейзп зедиенйа1чка1етен1 з вцивн>>адз1а1е>нел> епа ргосеве; Как видно из последнего примера, иногда параллельным оператором можно непосредственно описать требуемое поведение логической схемы.
И это очень хорошо, потому что возможность поведенческого описания (Ьейат>ога1 >1езсг>р>>оп) и выполнение поведенческого проекта (ЬеЬаз>ога> >(вз>а~) являет. ся главным достоинством языюв описания схем вообще и языка УНР)., в частности. Однако для большинства поведенческих описаний нужны некоторые дополнительные элементы языка, рассматриваемые в этом разделе. Ключевым поведенческим элементом языка ЧНРЬ является «процесс». >>роцесс (ргосезз) — это совокупность «последовательных» операторов (они будут описаны чуть ниже), которые выполняются одновременно с другими параллельными операторами и с другими процессами. С помощью процесса можно задать сложное взаимодействие сигналов и событий таким способом, что при моделировании это взаимодействие реализуется практически за нулевое время в модели, а результатом синтеза становится юмбинацион ная илн посл еда вательностная схема, которая выполняет моделируемую операцию непосредственно.
Оператор процесса (рюсезз з>азетен>) в языке УНРЬ можно использовать повсюду, где возможно употребление параллельного оператора. Оператор процесса вводится ключевым словом ргссезз; синтаксис этого оператора приведен в табл. 4 55, Оператор рго се аз пишется внутри некоторой объемлющей архитектуры, поэтому ему доступны все типы, сигналы, константы, функции и процедуры, обьявленные в этой архитектуре, а также так нли иначе видимые из этой архитектуры. Но можно также определять и локальные типы, переменные, константы, функции и процедуры внутри данного процесса. 4.7. язык описания схем ЧН!ЭЬ 345 Обратите внимание нато, что внутри процесса можно объявлять только «переменные»ч но не сигналы. Переменная (наг)аЬГе) в языке ЧНРЬ отслеживает состояние процесса только внутри него и вне процесса ее не видно.
В зависимости от того, как используется переменная, ей в конце концов будет или не будет соответствовать определенный сигнал при физической реализации создаваемой схемы. Синтаксис определения переменной внутри процесса подобен синтаксису объявления сигнала в архитектуре, за исключением того, что используется ключевое слово иа гза)эзе: чагйа)э1е гапаЫе-пател: иаг!аЫе-гуре; ЧНР -процесс всегда либо выполняется !гнпп!ля ргосезз), либо приостановлен (зизрет!еа) ргасезз). Перечнем сигналов в определении процесса, который называется спискам чувствительности !зепз!г!з!зу )!з!), задаются условия, когда процесс выполняется.
Первоначально процесс остановлен; когда изменяется значение любого из сигналов в его списке чувствительности, исполнение процесса возобновляется, начиная с его первого последовательного оператора, и оно продолжается, пока не будет достигнут конец. Если какой-либо сигнал из списка чувствительности изменяет свое значение в результате исполнения процесса, то процесс выполняется снова. Это продолжается до тех пор, пока запуск процесса не перестанет приводить к изменению значения любого из этих сигналов.