![]() |
Звоните! (926)274-88-54 Бесплатная доставка. Бесплатная сборка. |
Ассортимент тканей График работы: Ежедневно. С 8-00 до 20-00. Почта: soft_hous@mail.ru |
![]() ![]() ![]() |
Читальный зал --> Программные средства foundation Табл. 4.24. Проверочные векторы программы для схемы охранной сигнализации из табл. 4.11 test vectors ([PANIC,ENABLEA,EXITING,WINDOW,DOOR.GARAGE] -> [ALARM])
1. Если PANIC имеет единичное значение, то выходной сигнал тревоги F должен быть включен независимо от значений других входных сигналов. Все остальные векторы относятся к случаям, когда PANIC равно 0. 2. Если сигнал тревоги не разрешен, то выходной сигнал должен быть выключен. 3. Если сигнал тревоги разрешен и мы выходим, то сигнал тревоги должен быть выключен. 4-6. Если сигнал тревоги разрешен и мы не выходим, то сигнал тревоги должен быть включен, если любой из сигналов с выходов датчиков WINDOW, COOR и GARAGE равен 0. 7. Если сигнал тревоги разрешен, мы не выходим, и сигналы всех датчиков равны 1, то выходной сигнал должен быть выключен. Проблема состоит в том, что язык ABEL не воспринимает значения все равно у входных сигналов проверочных векторов так, как следовало бы. Например, для выполнения требования, содержащегося в проверочном векторе 1, нужно по всем правилам проверить 32 различных комбинации входных сигналов, соответствующие всем возможным наборам значений ENABLEA, EXITING, WINDOW, DOOR и GARAGE, которые объявлены безразличными. Но компилятор языка ABEL этого не делает. В этой ситуации он интерпретирует значение все равно как: пользователю все равно, какое значение входного сигнала я использую и присваивает значение О всем входным сигналам в проверочном векторе, значения которых объявлены безразличными. В нашем примере можно было бы следующим образом неправильно записать равенство для выходного сигнала: F= PANIC & ! ENABLEA # ENABLEA & проверки согласно векторам по-прежнему проходили бы, хотя кнопка PANIC срабатывала бы только в том случае, когда сигнал тревоги не разрешен. Второе применение проверочных векторов заключается в тестировании физического устройства. Большинство физических дефектов в логических устройствах можно обнаружить, используя модель одиночной неисправности типа залипания {single stuck-at fault model), согласно которой предполагается, что любой физический дефект эквивалентен залипанию входа или выхода вентилей на логическом значении О или 1. Набор проверочных векторов, вроде бы, содер- est vectors [PANIC,ENABLEA,EXITING,WINDOW,DOOR,GARAGE] -> [ALARM])
4.7. Язык описания схем VHDL в середине 80-х годов Министерство обороны США (U.S. Department of Defense, DoD) и Институт инженеров по электротехнике и электронике (Institote of Electrical and Electronic Engineers, IEEE) поддержали разработку довольно мощного языка описания схем VHDL. С самого начала и по настоящее время отличительными особенностями этого языка является следующее: Проектируемые устройства можно иерархически разбивать на составные элементы. Каждый элемент устройства имеет ясно очерченный интерфейс (для соединения его с другими элементами) и точное функциональное описание (для его моделирования). жит все функциональные требования, предъявляемые к схеме, как это сделано в табл. 4.24. Однако даже принимая во внимание весь этот набор нельзя гарантировать, что все одиночные неисправности типа залипания можно будет обнаружить. Проверочные векторы должны быть выбраны так, чтобы любая возможная неисправность типа залипания приводила к возникновению на выходе схемы неправильного значения при какой-нибудь комбинации входных сигналов в проверочном векторе. В табл. 4.25 приведен правильный набор проверочных векторов для устройства охранной сигнализации в случае, когда оно представляет собой двухуровневую схему, реализующую выражение вида сумма произведений . Первые четыре вектора обнаруживают неисправности типа залипания на единичном значении в вентиле ИЛИ, а последние три вектора обнаруживают неисправности типа залипания на нулевом значении в вентиле И; этого оказывается достаточно для обнаружения всех одиночных неисправностей типа залипания. Если вам что-то известно о тестировании неисправностей, то для небольшой схемы вы можете вручную составить проверочные векторы (как это бьшо сделано мною в данном примере), но большинство конструкторов при разработке своих проектов на основе ПЛУ используют независимые автоматизированные средства составления эффективных проверочных векторов. Табл. 4.25. Проверочные векторы, обеспечивающие обнаружение единичной неисправности типа запинания, для схемы охранной сигнализации, реализующей минимальное выражение вида сумма произведений Функциональное описание может быть основано на алгоритме, либо на реальной конструкции, которыми определяется работа элемента. Например, первоначально можно описать работу элемента посредством алгоритма, и это сделает возможной верификацию элементов более высокого уровня, в которых используется данный элемент; позднее алгоритмическое определение можно заменить структурной схемой. Все можно моделировать: параллелизм, временные соотношения и синхронизацию тактовыми сигналами. На языке VHDL можно описать как асинхронные, так и синхронные последовательные структуры. Можно моделировать выполняемые устройством в целом логические действия и его временные характеристики. Таким образом, с самого начала VHDL является языком документации и моделирования, позволяющим точно задавать и имитировать поведение цифровых систем. Хотя язык VHDL и его среда моделирования сами по себе были важными нововведениями, квантовый скачок полезности и популярности языка VHDL произошел с появлением коммерческих программных средств синтеза на основе VHDL (VHDL synthesis tools). Применяя эти средства, можно строить логические схемы непосредственно из описания их работы на языке VHDL. С помощью VHDL разрабатывается, моделируется и синтезируется все, что угодно, от простой комбинационной схемы до законченной микропроцессорной системы в одном кристалле. В 1987 году Институтом инженеров по электротехнике и электронике был принят стандарт языка VHDL (VHDL-87), а в 1993 году этот стандарт был расширен (VHDL-93). В этом парафафе речь пойдет о таких правилах, которые действуют в обеих версиях языка. Другие особенности языка VHDL будут рассмотрены в парафафе 7.12 применительно к проектированию последовательностных логических схем. ЧТО ТАКОЕ VHDL? VHDL означает VHSIC Hardware Description Language ( язык описания схем на основе VHSIC ). В свою очередь, VHSIC (Very High Speed Integrated Circuit, интефальная схема с очень вьесоким быстродействием) было названием профаммы поддержки Министерством обороны США исследований в области высокоэффективной интефальной электроники. 4.7.1. Ход выполнения проекта Прежде чем обратиться к самому языку, полезно составить представление об окружающей среде, в которой развивается VHDL-проект. Процесс проектирования на основе языка VHDL, или ход выполнения проекта (desigh flow), состоит из ряда этапов. Через эти этапы бывает необходимо пройти при разработке устройств на основе любого языка описания схем; в общих чертах они представлены на рис. 4.50. ООО «Мягкий Дом» - это Отечественный производитель мебели. Наша профильная продукция - это диваны еврокнижка. Каждый диван можем изготовить в соответствии с Вашими пожеланияи (размер, ткань и материал). Осуществляем бесплатную доставку и сборку. Звоните! Ежедневно! (926)274-88-54 Продажа и изготовление мебели. Копирование контента сайта запрещено. Авторские права защищаются адвокатской коллегией г. Москвы. |