Синхронное моделирование цифровых устройств двоичными алфавитами

ПРи синхронном моделировании ЦУ на логическом уровне не учитываются задержки срабатывания отдельных элементов, из которых состоит ЦУ.

Это позволяет свести моделирование к последовательному вычислению сигналов на выходах элементов ЦУ по значениям сигналов на их входах с помощью булевых уравнений или таблиц истинности, моделирующих каждый элемент. При этом считается, что независимыми переменными, синхронизирующими работу модели устройства, являются события - изменение сигналов на входах цифрового устройства. После определения состояния, в которое перейдет ЦУ при очередной смене входных сигналов, осуществляется сдвиг модельного времени до момента наступления очередного события. В промежутке между двумя событиями смены сигналов на входах цифрового устройства не происходит, а если на входах устройства появятся новые сигналы, то они будут отнесены к началу следующего такта моделирования.

A. Контроль временного интервала между событиями необходим

для построения временных диаграмм, наглядно представляющих работу цифровых устройств в предположении нулевой длительности переходных процессов.

По принципу работы такая модель соответствует работе синхронного цифрового автомата, в котором сигналы на входы ЦУ поступают только в моменты подачи синхросигналов, в остальное время входные сигналы не могут изменять состояние ЦУ. Переходные процессы в устройстве обязательно заканчиваются к моменту прихода следующего синхросигнала. Синхронные модели можно использовать для моделирования синхронных и асинхронных цифровых автоматов и термин «синхронное моделирование», общепринятый в литературе, означает только неучет задержек в работе отдельных элементов цифрового устройства.

( " Ній Математическая модель цифрового устройства без учета за-держек представляет собой систему булевых уравнений, связывающих между собой сигналы на входах и выходах элементов ЦУ. В общем виде такая система может быть записана следующим образом:

й = ь(ии

_ (2-9)

f = f(u),

где U- вектор сигналов на входах ЦУ; U - вектор сигналов на внутренних узлах схемы ЦУ (входах и выходах элементов); L - логический функционал; F - вектор выходных сигналов, интересующих разработчика.

Система логических уравнений (2.9) при каждом событии - изменение входных сигналов, решается итерационно относительно вектора U , по координатам которого определяются требуемые выходные сигналы устройства F.

/Т. С ..... ..............................................і........

А ,_J Алгоритмы решения системы логических уравнении делят на

'б' две группы: сквозные и событийные. В первом случае при итерационном решении системы логических уравнений математической модели ЦУ на каждой итерации решаются все логические уравнения и процесс решения системы U = l{uo,U) во многом напоминает решение итерационными методами системы линейных алгебраических уравнений. Сквозное моделирование может выполняться методом простой итерации, когда для определения сигналов в ЦУ ттк

на последующей итерации U используются сигналы на предыдущей итерации U . Итерационный процесс решения системы логических уравнений по методу простой итерации может быть записан в виде

Uk = llJQ,Uk~^, (2.10)

или в скалярном виде

к т I т т 1 /г—1 | • і

иі = LAUQ,ux ,...,ип I, где I = 1,2,...,п.

Если решение системы логических уравнений ведется по методу итерации Зейделя, то сигналы, определенные при решении предыдущих уравнений системы, используются для нахождения сигналов, определяемых последующими уравнениями. В этом случае итерационная формула в скалярной форме записи имеет вид:

А т (тт к к Л-1 к-1 /п і і ч

=LiUQu1,...ui_i,uM...un J, (2.11)

к Т (тт к к к-1 *-1

Ui+l=Li+l[UQ

Итерационный процесс решения системы логических уравнений продолжается до тех пор, пока сигналы на всех узлах цифрового устройства на двух последних итерациях не совпадут, что свидетельствует о получении установившегося состояния цифрового устройства. Для ускорения итерационного процесса расположение уравнений в системе логических уравнений математической модели ЦУ необходимо ранжировать в порядке распространения сигналов через элементы устройства.

При программной реализации алгоритмов значения сигналов на узлах цифрового устройства на каждой итерации Uk хранятся в специальном массиве - рабочем поле РП (к), причем в рабочем поле, соответствующем нулевой итерации РП (0), хранятся сигналы, соответствующие начальному состоянию цифрового устройства перед изменением входных сигналов.

Изменения входных сигналов записываются в рабочее поле на первой итерации РП (1). На последующих итерациях до получения решения сигналы на входных узлах цифрового устройства при синхронном моделировании не изменяются. После получения установившегося решения сдвигается модельное время и начинается моделирование следующего события, а в качестве начального состояния ЦУ для него используется решение, полученное на предыдущем шаге.

Пример

Рассмотрим процесс сквозного синхронного моделирования цифрового устройства двоичным алфавитом на примере устройства, приведенного на рисунке 2.8, а. Математическая модель цифрового устройства представляет собой систему логических уравнений:

и5 = Uj Л1/}, = u4 ли3,

u6=u5yui> и96ли10, Uy = W? A U3, W|0 = i/g A Uy,

где w. - сигналы на узлах устройства.

Ug = l/l,U2,U3,U4 - вектор входных сигналов.

Схема ЦУ (а) и временные диаграммы ее работы (б)

Рис. 2.8 - Схема ЦУ (а) и временные диаграммы ее работы (б)

При сквозном моделировании по методу простой итерации в соответствии с выражением (2.10) итерационные формулы запишутся следующим образом:

к к-1 к-1 к к-1 к-1

U5 = и1 лиз , t/8 = из А и4 ,

к к-1 к-1 к к-1 к-1

«6 = «5 Vll7 ’ U9 =U6 Л М10 ,

к к-1 к- к к- к-1

Ы— If Ы ^10 — ^8 •

Процесс сквозного моделирования ЦУ по методу простой итерации при изменении входных сигналов Ц,(72,(73,(74, показанном на рисунке 2.8, б, иллюстрируется таблицей 2.2.

Временные диаграммы, соответствующие приведенным результатам моделирования, показаны на рисунке 2.8, 6.

Таблица 2.2 - Процесс сквозного моделирования ЦУ по методу итерации Зейделя

Изменение входных сигналов

Номер итерации

Сигналы на узлах цифрового устройства (ЦУ)

Входные

Внутренние и выходные

и

«2

«3

«4

U5

и6

и7

«8

и9

М10

0

0

1

1

0

0

0

1

1

1

0

Изменение сигналов

1

0

0

1

1

0

0

1

1

1

0

2

0

0

1

1

0

0

0

0

1

0

3

0

0

1

1

0

1

0

0

1

1

4

0

0

1

1

0

1

0

0

0

1

Решение

5

0

0

1

1

0

1

0

0

0

1

t=t„+M

0

0

0

1

1

0

1

0

0

0

1

Изменение сигналов

1

0

1

1

0

0

1

0

0

0

1

2

0

1

1

0

0

1

1

1

0

1

3

0

1

1

0

0

0

1

1

0

1

4

0

1

1

0

0

0

1

1

1

1

5

0

1

1

0

0

0

1

1

1

0

Решение

6

0

1

1

0

0

0

1

1

1

0

Выводы

Сквозное моделирование по методу простой итерации может использоваться для синхронных и асинхронных моделей ЦУ, недостатком его является большое время, затрачиваемое на решение системы логических уравнений, представляющих математическую модель цифровых устройств на логическом уровне из-за большого числа итераций. Существенно сократить время моделирования можно за счет выполнения итерационного процесса по методу итерации Зейделя. В соответствии с (2.11) для нашего примера итерационные формулы запишутся следующим образом:

к к к и5х3,

к к к

u6 =u5 vuv

к к к

и7 = и2 ли3,

к

к

к

иъ

4,

к

к

к

и9

= U6

ЛМ10’

к

к

к

и10

= иг

aw9 .

Пример

Процесс сквозного моделирования цифровых устройств (ЦУ), показанного на рисунке 2.8, а, по методу итерации Зейделя при таком же изменении входных сигналов, что и в предыдущем случае, приведен в таблице 2.3.

Таблица 2.3 - Сквозное моделирование ЦУ по методу итерации Зейделя

Изменение входных сигналов

Номер итерации

Сигналы на узлах цифрового устройства (ЦУ)

Входные

Внутренние и выходные

и1

и2

из

«4

и5

м6

и7

«8

и9

М10

t = to

0

0

1

1

0

0

0

1

1

1

0

Изменение сигналов

1

0

0

1

1

0

0

0

0

1

1

2

0

0

1

1

0

1

0

0

0

1

Решение

3

0

0

1

1

0

1

0

0

0

1

t = Го + &

0

0

0

1

1

0

1

0

0

0

1

Изменение сигналов

1

0

1

1

0

0

1

1

1

0

1

2

0

1

1

0

0

0

1

1

1

0

Решение

3

0

1

1

0

0

0

1

1

1

0

Как видно из таблицы 2.3, решение системы логических уравнений по методу итерации Зейделя позволяет существенно сократить число итераций, однако этот метод неприменим при асинхронном моделировании цифровых устройств с учетом задержек срабатывания элементов.

Пример

Приведем пошаговое описание алгоритма для разового изменения входных сигналов.

Алгоритм 1. Сквозное моделирование цифровых устройств (ЦУ) двоичным алфавитом по методу простой итерации.

Шаг 1. Формируется рабочее поле на нулевой итерации РП (0), соответствующее начальному состоянию устройства.

Шаг 2. Фиксируется изменение входных сигналов, формируется рабочее поле на первой итерации РП (1).

Шаг 3. Номер итерации к полагается равным 2.

Шаг 4. Начиная с первого логического уравнения системы уравнений математической модели ЦУ определяется новое значение сигналов на выходе элемента ЦУ, описываемого данным уравнением.

Шаг 5. Если сигнал на выходе элемента изменился, то в рабочее поле для к-й итерации РП (к) вносится новое значение сигнала, иначе переписывается сигнал из рабочего поля РП (А:-1), соответствующего предыдущей, (4’-1)-й итерации.

Шаг 6. Если вычислены все сигналы на /с-й итерации, то переходим к шагу 7, иначе к шагу 4.

Шаг 7. Сравниваются рабочие поля на к-й и (/<-1)-й итерациях; если они совпадают, то моделирование отклика ЦУ на разовое изменение входных сигналов окончено, иначе увеличиваем номер шага итерации на 1 и переходим к шагу 4.

С ИСІЕ Значение сигнала на выходе элемента ЦУ может измениться только в том случае, если изменился сигнал по крайней мере на одном из его входов. Это обстоятельство положено в основу работы событийных алгоритмов синхронного моделирования ЦУ, в которых в отличие от алгоритмов сквозного моделирования на каждой итерации решаются не все логические уравнения системы, а только уравнения для тех элементов, у которых на предыдущей итерации изменились входные сигналы. Для организации такого вычислительного процесса в конце каждой итерации решения системы ло гических уравнений после сравнения рабочих полей на соседних итерациях формируется список изменившихся сигналов, по которому можно определить активизированные элементы, т. е. элементы, на входах которых изменился сигнал и для которых на последующей итерации необходимо решать логические уравнения. Итерационный процесс прекращается, когда в модели ЦУ не будет изменившихся сигналов и активизированных элементов.

......................... Пример .........................

Процесс моделирования ЦУ событийным алгоритмом, схема которого представлена на рисунке 2.8, а, приведен в таблице 2.4.

Таблица 2.4 - Моделирование ЦУ событийным алгоритмом

Изменение входных сигналов

Номер итерации

Сигналы на узлах цифрового устройства (ЦУ)

Входные

Внутренние и выходные

Изме-пившиеся сигналы

Активизированные элементы

иу

и2

“з

4

“з

“б

7

«8

«9

“10

t = to

0

0

1

1

0

0

0

1

1

1

0

-

-

Изменение сиг-налов

1

0

0

1

1

0

0

1

1

1

0

2’“4

“8’“7

2

0

0

1

1

0

0

0

0

1

0

7М8

“б’“10

3

0

0

1

1

0

1

0

0

1

1

“б’“ю

9

4

0

0

1

1

0

1

0

0

0

1

«9

“10

Решение

5

0

0

1

1

0

1

0

0

0

1

-

-

/ = /0 + Д/

0

0

0

1

1

0

1

0

0

0

1

-

-

Изменение сиг-налов

1

0

1

1

0

0

1

0

0

0

1

2М4

М8’“7

2

0

1

1

0

0

1

1

1

0

1

7’“8

“б’“10

3

0

1

1

0

0

0

1

1

0

1

“б

«9

4

0

1

1

0

0

0

]

1

1

1

М9

“10

5

0

1

1

0

0

0

1

1

1

0

“10

“9

Решение 6 0110001110 - -

Начальные условия, изменения входных сигналов и временные диаграммы совпадают с предыдущими примерами.

Выводы

Как видно из работы событийного алгоритма, здесь наиболее удобной представляется интерпретивная организация математической модели цифрового устройства, однако событийное моделирование может быть и компилятивным. Как и сквозное моделирование, событийное может выполняться методами простой итерации и итерации Зейделя. Событийное моделирование целесообразно применять в тех случаях, когда выигрыш от уменьшения числа решаемых уравнений на всех итерациях превышает затраты на анализ активизации элементов цифрового устройства.

Пример

Приведем пошаговое описание работы алгоритма для разового изменения входных сигналов.

Алгоритм 2. Синхронное событийное моделирование цифровых устройств двоичным алфавитом по методу простой итерации.

Шаг 1. Формируется рабочее поле на нулевой итерации РП (0), соответствующее начальному состоянию ЦУ, списки изменившихся сигналов и активизированных элементов полагаются пустыми:

4=0, Д. =0.

Шаг 2. Фиксируется изменение входных сигналов, формируется рабочее поле первой итерации РП (1). Номер итерации полагается равным к - 2.

Шаг 3. Сравниваются рабочие поля на -1) -й и - 2) -й итерациях РП -1) и РП -2), формируется список изменившихся сигналов 1к, если 1к = 0, то переходим к шагу 8.

Шаг 4. На основании 1к и описания ЦУ определяется список активизированных элементов Ак.

Шаг 5. Начиная с первого элемента списка Ак решается логическое уравнение, моделирующее активизированный элемент ЦУ, и определяется новое значение сигнала на его выходе.

Шаг 6. Если сигнал на выходе элемента изменился, то в рабочее поле для к-й итерации РП (к) вносится новое значение сигнала, иначе переписывается выходной сигнал из рабочего поля РП -1).

Шаг 7. Если промоделированы все элементы из списка Ак, то полагаем к = к 4-1 и переходим к шагу 3, иначе к шагу 5.

Шаг 8. Фиксируем состояние ЦУ после изменения входных сигналов на шаге 2.

Выводы

Рассмотренные выше алгоритмы синхронного моделирования цифровых устройств двоичным алфавитом обладают высоким быстродействием, однако результаты моделирования ими не всегда могут выявить ошибки в работе ЦУ, которые могут возникнуть из-за задержек в срабатывании элементов ЦУ, кроме того, синхронное моделирование не позволяет выявить характер переходных процессов в устройстве.

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ   След >