Моделирование дискретных устройств в системе PCAD. Асинхронное троичное моделирование дискретных устройств, позволяющее проверять правильность функционирования устройств, страница 10

0

x

1

>=

0

x

1

<=

0

x

1

0

0

0

0

0

1

x

0

0

1

1

1

x

x

x

0

x

1

x

x

x

x

x

1

1

1

x

0

1

1

1

1

1

0

x

1

Рис. 1.5. Таблицы истинности троичной логики

В безусловных выражениях для узлов определены операторы &,|,^. В таких выражениях для шин, кроме перечисленных операторов, которые выполняются поразрядно, определены также операторы + – конкатенации (например, B1+B2 – объединение шин B1 и B2) и <<, >> – сдвига влево, вправо. Форма выражения в последнем случае имеет вид:

<имя шины><оператор><числовая константа>, где числовая константа указывает количество сдвигов.

Вот примеры безусловных выражений:

A1, ~A3, A1|D4, (A1|A2)&B, C1+C2, B<<"0B01", "037", [A1,A2,A3].

Четыре первых примера – это действия над узлами или шинами, остальные – действия над шинами: пятый пример – объединение шин С1 и С2, шестой пример – сдвиг содержимого шины B на один разряд влево, седьмой пример – константа, указывающая содержимое разрядов некоторой шины, восьмой пример – список узлов, входящих в шину.

Условные выражения применяются для описания состояния узлов и шин в предложениях условия и выбора. С их помощью состояниям узлов и шин присваивают значения "0", "1", "X" в зависимости от выполнения тех или иных условий.

В условных выражениях к указанным выше операндам в выражениях для узлов и для шин добавляются соответствующие условные выражения.

В условных выражениях для узлов и для шин определены операторы ==,!=. Для шин определены также операторы >,<,>=,<=. Для операндов в виде условных выражений определены операторы &&, ||.

Для узлов в качестве константы здесь применимы специальные символы "/", "\". Например, А=="/", что означает повышение уровня сигнала в узле А от "0" или "Х" до "1".

Примеры условных выражений:

[Q2,Q3,Q4]=="0B000", (R1=="1"&&R2=="1")&(S1=="0"||S2=="0").

Первый пример читается так: если все узлы шины имеют значения 0, то...

Второй пример более сложный: если R1=1 и R2=1 и S1=0 или S2=0, то...

1.2.7. Заголовок

Заголовок файла модели содержит имя примитива со списком параметров, а также списки входных (INPUT), выходных (OUTPUT), двунаправленных (INOUT) узлов и внутренних (LOCAL) узлов и шин, и имеет следующую структуру:

<имя файла> (<параметр 1>, <параметр 2>,...,)

INPUT <имя узла 1>, <имя узла 2>,...;

OUTPUT <имя узла 1> (PCL – атрибуты),...;

INOUT <имя узла 1> (PCL – атрибуты),...;

LOCAL <имя узла 1> (PCL – атрибуты),...,<имя шины>[n](PCL – атрибуты),...;

Здесь n – количество узлов в шине. Скобки после имени примитива обязательны даже в том случае, если параметры отсутствуют. В качестве параметров указываются задержки и логическая сила выходных сигналов примитива в том порядке, в котором они были указаны в атрибуте MDL при создании графического изображения примитива. Каждый список узлов и шин заканчивается точкой с запятой. По умолчанию, т.е. в том случае, если PCL–атрибуты не указаны, выходным и внутренним узлам присваиваются атрибуты PCL=(1,1,"D","D").

Например:

EXAMPLE1 ( )

INPUT A0, A1, A2, A3;