НПО Системы Безопасности
(499)340-94-73 График работы:
ПН-ПТ: 10:00-19:00
СБ-ВС: выходной

Главная » Периодика » Безопасность

0 ... 115116117118119120121 ... 233


NOT;oMi

complimtn

AND a

Ofll

XOR: Mcl

Puc. 5.12. Таблица истинности векторов

Предварительная загрузка

Тестовое значение Р используется на тактовом выводе буферизованного устройства для предварительной загрузки нужным значением внутренних регистров проекта конечного автомата или счетчика в том случае, когда это устройство не имеет специально предназначенного для такой загрузки ТТЛ вывода. Для действительной загрузки регистров программатор использует повышенное напряжение. Все входные выводы микросхемы ПЛИС игнорируются, и поэтому должны быть определены как X. Значения, определенные в регистровых переменных, загружаются на выходы IQ регистра. Эти значения (О или 1) - абсолютные уровни независимо от полярности выходов и инвертирующих буферов. Далее приведен пример последовательности предварительной загрузки для переменной, определяющей выход с активным низким уровнем:

ORDER: clock, inputl, input2 , [output ; VECTORS:

P X X 1 /* reset flip-flop */

/* !Q goes to 1 */

/* Q goes to 0 */ 0 X X И/* output is HI due to */

/* inverting buffer */

Микросхема имеет инвертирующие буферы между выходом Q регистра и выводом самой микросхемы. Программа моделирования может моделировать и генерировать тестовые векторы предварительной загрузки даже для микросхем, которые не имеют возможностей предварительной загрузки. Однако не все ПЛИС способны осуществлять загрузку с использованием повышенного напряжения. Такие микросхемы имеют специально предназначенные для этих целей выводы. Программа моделирования не проверяет, имеется ли возможность предварительной загрузки, так как микросхемы разных производителей имеют различные характеристики. Перед использованием функции предварительной загрузки проверяется лишь способность тестируемой микросхемы использовать для этих целей повышенное напряжение.



Тактовый сигнал

Большинство синхронных микросхем (т. е. микросхем, которые содержат регистры с общим тактовым сигналом, связанным с некоторым выходным выводом) использует тактовый сигнал с активным передним фронтом. Для того чтобы гарантировать правильную работу программы моделирования с такими микросхемами, необходимо на тактовом выводе всегда использовать тестовое значение С (не 1 или 0). Для синхронных микросхем с активным задним фронтом - тестовое значение К.

Асинхронные векторы

При записи тестовых векторов для схемы с асинхронными обратными связями одновременное изменение двух тестовых значений может создать условия для появления нежелательных выбросов, которые приведут к неправильным результатам. Схема, приведенная на рис. 5.13, имеет три входа (А, В и С) и выход Y с обратной связью.

L>7=r>

Рис. 5.13. Схема с обратной связью Выражение для выхода Y:

Y = AbBbC#CbY

Векторная таблица показывает, при каких входных значениях на выходе получается напряжение низкого уровня (рис. 5.14).

0001

0002

0003

Рис. 5.14. Векторная таблица для схемы с обратной связью

Так как, по крайней мере, один из входов в каждом из векторов равен О, вентиль И со входами А, В и С имеет напряжение низкого уровня на выходе. Это напряжение низкого уровня на выходе Y, поступающее по цепи обратной связи, удерживает напряжение низкого уровня также и на выходе другого вентиля И. Таким образом, вентиль ИЛИ (управляемый выходами двух вентилей И), а следовательно, и выход У остаются в состоянии логического нуля для указанных в таблице векторов.

Однако, когда программатор оперирует тестовыми векторами, он применяет значения последовательно, начиная с первого вывода. Поэтому при изменении двух тестовых значений в соседних векторах программатор создает промежуточный результат (помеченный в таблице на рис. 5.15 символом "а").

0001

0001а

0002

0002а

Рис. 5.15. Векторная таблица с промежуточными результатами



Промежуточный результат [0002а] вырабатывает высокий уровень на выходе Y. Этот высокий уровень по цепи обратной связи попадает на вход вентиля И, на вход С которого в это время приходит 1, полученная из вектора [0003]. Поэтому на выходе вентиля И и далее на выходе Y вентиля ИЛИ появляется высокий уровень, что противоречит ожидаемому значению, указанному в третьем векторе, т. е. образовались условия-для появления нежелательных выбросов. Поэтому во избежание появления выбросов необходимо следить за тем, чтобы соседние векторы отличались только в одном значении.

Для этих целей существует еще одна полезная функция - установка в исходном файле спецификаций параметра TRACE в значение 1, 2 или 3, тогда как по умолчанию он равен 0. Это заставит программу моделирования записать промежуточные результаты в выходной файл. Подробнее использование директивы TRACE описывается в подргвделе Директивы программы моделирования.

Моделирование I/O выводов

При записи тестовых векторов для проекта, который имеет возможности ввода/вывода (I/O) и управляемое разрешение выхода (ОЕ), значение тестового вектора для I/O выводов будет зависеть от значения ОЕ. Если ОЕ имеет низкий уровень, то I/O выводу необходимо выходное тестовое значение (L, Н, *, ...). Как только сигнал ОЕ становиться неактивным, на Ю выводе появляется Z-состояние. В этот момент на I/O вывод могут быть поданы входные тестовые значения (О, I, ...), что позволит этому выводу стать входным. Когда сигнал ОЕ станет снова активным, тестовые значения для данного вывода будут отражать выходы макроячейки.

Array

Macro Col


Рис. 5.16. Моделирование I/O вывода Булево выражение для данного рисунка выглядит следующим образом:

Y = В; Y.OE = А;

Когда А равно значению ИСТИНА (TRUE), выход макроячейки В появляется на выводе Y. Когда А равно значению ЛОЖЬ (FALSE), сигнал разрешения выхода (ОЕ) становится неактивным, и на выводе Y появляется Z-состояние. Теперь на данный вывод можно подавать входные значения. Ниже приведен пример моделирующего файла:

Order: А, %1, В, %3, Y;

Vectors:

/* ОЕ is ON */

/* ОЕ is OFF */

/* а valid input value can be placed on pin Y */

/* OE is ON again */



0 ... 115116117118119120121 ... 233