S, C, R – значения входных сигналов для текущего момента модельного времени;
символы «*», «+» и «~» означают соответственно логические операции конъюнкции, дизъюнкции и отрицания.
Условие S*R = 0 весьма важно. Нарушение его означает, что триггер оказался в запрещённом режиме, где приведённые уравнения недействительны.
Убедимся, что расчёты по характеристическому уравнению дают правильные результаты.
В исходном состоянии (такт Т0) S = C = R = 0 и триггер хранит «1», то есть QOLD = 1, а NQOLD = 0. Условие S*R = 0 выполняется, значит, уравнения «работают». Подставляя названные значения в характеристическое уравнение триггера, подтверждаем его исходное состояние:
QNEW = S*C + QOLD* ~(R*C) = 0*0 + 1*~(0*0) = 1.
NQNEW = ~QNEW = 0.
В следующем такте Т1 S = 0, а C = R = 1, то есть триггер должен сброситься в «0». По-прежнему условие S*R = 0 выполняется, следовательно, уравнениями можно пользоваться:
QNEW = S*C + QOLD* ~(R*C) = 0*1 + 1*~(1*1) = 0.
NQNEW = ~QNEW = 1.
Как видим, модель даёт правильные результаты, причём за один просчёт уравнений и без всяких итераций. Это основное достоинство рассмотренного типа моделей триггеров – она работает быстро. Кроме того, привлекательной выглядит и простота модели.
Однако, недостатки этой модели, пожалуй, перевешивают все её достоинства. Во-первых, область её действия ограничена выполнением условия S*R =0, которое надо проверять всякий раз перед вызовом модели. Для триггеров с динамическим управлением приходится проверять выполнение ещё одного условия – появления фронта или спада на входе сигнала синхронизации.
Во-вторых, многие детали в поведении реального объекта такая модель просто игнорирует, а моделирование неисправностей и вообще исключается.
Алгоритмическая модель триггера строится по его логической таблицы, называемой также таблицей переходов. Она отражает поведение триггера на разных наборах входных сигналов, а построенная по ней модель фактически имитирует это поведение. По этой причине такую модель называют также имитационной.
Для рассматриваемого стробируемого RS-триггера названная таблица выглядит так, как показано на рис.3.
Символ звёздочка «*», поставленный в некоторых ячейках таблицы означает, что в данной позиции может стоять либо «0» либо «1» и от этого новое состояние триггера не зависит. Комбинация сигналов S = C = R = 1 переводит элемент в запрещённый режим.
Две нижние строки таблицы несут информацию о том, что триггер оказался в запрещённом режиме (QOLD = NQOLD = 1) и на текущем наборе входных сигналов переходит в режим хранения (C = 1, S = R = 0 или C = 0, S = * и R = *). В этом случае на выходах триггера возникают гонки, и он случайным образом принимает одно из двух возможных состояний. Чтобы отразить в модели случайное поведение, потребуется датчик псевдослучайных чисел (ДПСЧ).
Допустим, в нашем распоряжении имеется датчик, который генерирует числа в диапазоне 0…1 по равномерному закону распределения. Если считать, что установка и сброс триггера равновероятны, то можно принять такое решение: когда выданное датчиком случайное число j окажется меньше 0,5, будем сбрасывать триггер в «0», в противном случае – устанавливать его в «1».
Рис. 3. Полная таблица переходов стробируемого RS-триггера
Блок-схема алгоритма, имитирующего поведение рассмотренного RS-триггера, показана на рис. 4.
Табличное представление цифровой схемы
Существуют три способа описания структуры моделируемого объекта:
§ графическое описание в форме принципиальной, функциональной или структурной схемы;
§ текстовое описание в виде списков элементов и цепей;
§ табличное описание, содержащее ту же самую информацию об элементах и цепях, но задаваемую в виде таблиц и ссылок.
Покажем на примере двухвходового цифрового мультиплексора различные способы представления моделируемого объекта (рис. 5). Заметим, что во всех случаях речь идёт о структурных моделях, в которых объект представляется в виде системы, состоящей из отдельных взаимосвязанных фрагментов, называемых структурными примитивами.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.