Джон Ф.Уэйкерли Проектирование цифровых устройств. Том I (2002) (1095889), страница 73
Текст из файла (страница 73)
4.11 повторены в табл. 4.24, за исключением того, что, ради удобства представления, в качестве постоянной «все равно» .Х. использован идентификатор Х и в виде комментария добавлены номера проверочных векторов. Табл. 4.24, действительно, выглядит, как вполне хороший набор проверочных векторов. С точки зрения разработчика эти векторы полностью описывают ожидаемое функционирование схемы охранной сигнализации, и это описание позволяет вектор за вектором проследить работу схемы: 4.6. язык описания схем АВЕЬ 313 Табл. 4.24. Проверочные векторы программы для схемы охранной сигнализа- ции изтабл. 4.11 севе те«соте ([РАй1С,ЕйАВЬЕА,ЕХ171ЫС,'«1МОО«',ОООП,САЛАСЕ) 1, Х, Х, Х, Х, Х) [ О, О, Х, Х, Х, Х) О, 1, 1, Х, Х, Х) О, 1, О, О, Х, Х) О, 1, О, Х, О, Х] О, 1, О, Х, Х, О) [ 0„ 1, О, 1, 1, 1) "1 н2 нй ь4 тд ьо "7 1.
Если РАЛ1С имеет единичное значение, то выходной сигнал тревоги Е должен быть включен независимо от значений других входных сигналов. Все остальные вЕкторЫ относятсЯ к случаям, когда РА(Ч1С равно О. 2. Если сигнал тревоги не разрешен, то выходной сигнал должен быть выключен. 3. Если сигнал тревоги разрешен и мы выходим, то сигнал тревоги должен быть выключен. 4-4. Если сигнал тревоги разрешен н мы не выходим, то сигнал тревоги должен быть включен, если любой из сигналов с выходов датчиков н1(ч(хж, о(х)е и ЮНАСЕ равен О.
7. Если сигнал тревоги разрешен, мы не выходим, и сигналы всех датчиков равны 1, то выходной сигнал должен быть выключен. Проблема состоит в том, что язык АВЕЬ не воспринимает значения «все равно» у входных сигналов проверочных векторов так, как следовало бы. Например, для выполнения требования, содержащегося в проверочном векторе 1, нужно по всем правилам проверить ) 2 различных комбинации входных сигналов, соответствующие всем возможным наборам значений Е(чйЕЬЕРь ЕХТТТЫС, Ы1НООИ, 0СКЖ и ЮНАСЕ, которые объявлены безразличными. Но компилятор языка АВЕЬ этого не делает В этой ситуации он интерпретирует значение «все равно» как: «пользователю все равно, какое значение входного сигнала я использую» и присваивает значение О всем входным сигналам в проверочном векторе, значения которых объявлены безразличными.
В нашем примере можно было бы следующим образом неправильно записать равенство для выходного сигнала: "Р= РРЛ1С 6! )ОяйВ1 ЕА Ф енАЕБЕА ь ..."; проверки согласно векторам по-прежнему проходили бы, хотя кнопка РАЬйС срабатывала бы только в том случае, когда сигнач тревоги не разрешен. Второе применение проверочных векторов заключается в тестировании физического устройства. Большинство физических дефектов в логических устройствах можно обнаружить, используя модель одиночной неисправности типа э«»алания (зтпЕ)е з!исА-а()аил тоде(), согласно которой предполагается, что любой физический дефект эквивалентен залипанию входа или выхода вентилей на логическом значении О или Ь Набор проверочных векторов, вроде бы, содер- 314 Глава 4. Принципы проектирования комбинационных логических схем Табл.
4.25. Проверочные векторы, обеспечивающие обнаружение единичной неисправности типа залипання, для схемы охранной сигнализации, реализую- щей минимальное выражение вида «сумма произведений» севе тессогв ([РАИХО,ЕЕАВЬЕА,ЕХХТХЕО,11ХЕООя,ОООЕ,ОАЕАОЕ] 1, О, 1, 1, 1, 13 О, 1, О, О, 1, 13 О, 1, О, 1, О, 13 О, 1, О, 1, 1, 03 О, О, О, О, О, О] [ О, 1, 1, О, О, О3 [ О, 1, О, 1, 1, 13 > [А1 АЕИ] ) -> [ 13; -> [ 13; -> [ 13; > [ 13; -> [ О]; -> [ 03; -> [ 03; "1 "2 "3 м4 ОВ "б «7 4.7. Язык описания схем ЧН01.
В середине 80-х годов Министерство обороны США (1].Б. [)ерагппеп1 оЮегеп зе, [) о[)) и Институт инженеров по электротехнике и электронике (1пзг [юге ог Е!еспбса1 апд Е1есгтошс Епй(пеегз, 1ЕЕЕ) поддержали разработку довольно мощного языка описания схем УНОЬ. С самого начала и по настоящее время отличительными особенностями этого языка является следующее: ° Проектируемые устройства можно иерархически разбивать на составные элементы. ° Каждый элемент устройства имеет ясно очерченный интерфейс (для соединения его с другими элементами) и точное функциональное описание (для его моделирования).
жит все функциональные требования, предъявляемые к схеме, как это сделано в табл. 4.24. Однако даже принимая во внимание весь этот набор нельзя гарантировать, что все одиночные неисправности типа залипания можно будет обнаружить. Проверочные векторы должны быть выбраны так, чтобы любая возможная неисправность типа зали панна приводила к возникновению на выходе схемы неправильного значения прн какой-нибудь комбинации входных сигналов в проверочном векторе. В табл. 4.25 приведен правильный набор проверочных векторов для устройства охранной сигнализации в случае, когда оно представляет собой двухуровневую схему, реалнзуюшую выражение вида «сумма произведений». Первые четыре вектора обнаруживают неисправности типа зал алания на единичном значении в вентиле ИЛИ, а последние три вектора обнаруживают неисправности типа залипания на нулевом значении в вентиле И; этого оказывается достаточно для обнаружения всех одиночных неисправностей типа залипания.
Если вам что-то известно о тестировании неисправностей, то для небольшой схемы вы можете вручную составить проверочные векторы (как это было сделано мною в данном примере), но большинство конструкторов при разработке своих проектов на основе ПЛУ используют независимые автоматизированные средства составления эффективных проверочных векторов. 4.7.
Язык описания схем ЧНОЬ 315 ° Функциональное описание может быть основано на алгоритме, либо на реальной конструкции, которыми определяется работа элемента. Например, первоначально можно описать работу элемента посредством алгоритма, н это сделает возможной верификацию элементов более высокого уровня, в которых используется данный элемент; позднее алгоритмическое определение можно заменить структурной схемой.
° Все можно моделировать: параллелизм, временные соотношения и синхронизацию тактовыми сигналами. На языке УНРЬ можно описать как асинхронные, так и синхронные последовательные структуры, ° Можно моделировать выполняемые устройством в целом логические действия и его временные характеристики. Таким образом, с самого начала УНРЬ является языком документации и моделирования, позволяющим точно задавать н имитировать поведение цифровых систем. Хотя язык ЧНРЬ и его среда моделирования сами по себе были важными нововведениями, квантовый скачок полезности и популярности языка ЧНРЬ произошел с появлением коммерческих прагралтных средств синтсэа на основе '«770Ь ()'НИ. зупг)зеки гаса). Применяя эти средства, можно строить логические схемы непосредственно из описания их работы на языке ЧНРЬ.
С помощью УНРЬ разрабатывается, моделируется и синтезируется все, что угодно, от простой комбинационной схемы до законченной микропроцессорной системы в одном кристалле. В 1987 голу Институтом инженеров по электротехнике и электронике был принят стандарт языка УНРЬ ( 1гНР7-87), а в 1993 году этот стандарт был расширен (!'НР7,-93). В этом параграфе речь пойдет о таких правилах, которые действуют в обеих версиях языка. Другие особенности языка ЧНР1. будут рассмотрены в параграфе 7.12 применительно к проектированию последовательностных логических схем.
ЧТО ТАКОЕ ЧНОЬ? ЧНРЬ означает "ЧНБ1С Нагйчаге Резспргюп Ьапйцайе" 1«язык описания схем на основе ЧН81С»). В свою очередь, ЧН8 1С (уегу Н18)з фреей 1п гейш!ей Спсш1, интегральная схема с очень высоким быстродействием) было названием программы поддержки Министерством обороны США исследований в области высокоэффективной интегральной электроники. 4.7.1.
Ход выполнения проекта Прежде чем обратиться к самому языку, полезно составить представление об окружающей среде, в которой развивается УНРЬ-проект. Процесс проектирования на основе языка ЧНРЬ, или хад выполнения проекта (йеяйй 7)аж), состоит из ряда этапов, Через эти этапы бывает необходимо пройти прн разработке устройств на основе любого языка описания схем; в общих чертах они представлены на рис. 4.50.