Модели триггеров. Динамическое управление записью, страница 4

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). Заметим, что во всех случаях речь идёт о структурных моделях, в которых объект представляется в виде системы, состоящей из отдельных взаимосвязанных фрагментов, называемых структурными примитивами.