Иллюстрированный самоучитель по OrCAD

Генераторы цифровых сигналов

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

Определение формы цифрового сигнала в задании на моделирование по формату (устройства STIM):

Uxxx STIM(<количество сигналов>,<формат>)
+ <+узел источника питания> <-узел источника питания>
+ <список узлов>* <имя модели вход/выход>
+ [IO_LEVEL-<номер макромодели интерфейса вход/выход>]
+ [ STIMULUS =<имя воздействия>] [TIMESTEP=<шаг по времени>]
+ <команды описания формы сигнала>*

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

Переменная <формат> – это спецификация формата переменной <данные>, в которой представлены логические уровни сигналов генератора. Эта переменная представляет собой последовательность цифр, общее число которых равно значению переменной <количество сигналов>. Каждая цифра принимает значения 1, 3 или 4, что означает двоичную, восьмеричную и шестнадцатеричную систему счисления.

Подключение источника питания задается номерами узлов <+ узел источника питания>, <-узел источника питания>.

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

Имя модели вход/выход задается параметром <имя модели вход/ выход>, как для любого цифрового устройства.

STIMULUS – необязательный параметр, обозначающий имя сигнала;

IO_LEVEL – необязательный параметр для выбора одной из четырех макромоделей интерфейса вход/выход (по умолчанию 0);

TIMESTEP – не обязательный параметр для задания периода квантования (или шага). При задании моментов времени номером шага (имеют суффикс "С") он умножается на величину шага. По умолчанию устанавливается TIMESTEP=0. Этот параметр не принимается во внимание, если заданы абсолютные значения моментов времени (имеют суффикс "S").

Параметр <описание формы – сигнала> представляет собой произвольную комбинацию одной или нескольких следующих строк:

<t>, <логический уровень>
LABEL=<UMH метки>
<t> GOTO <имя метки> <п> TIMES
<t> GOTO <имя метки> UNTIL GT <данные>
<t> GOTO <имя метки> UNTIL GE <данные>
<t> GOTO <имя метки> UNTIL LT <данные>
<t> GOTO <имя метки> UNTIL LE <данные>
<t> INCR BY <данные>
<t> DECR BY <данные>
REPEAT FOREVER
REPEAT <n> TIMES
ENDREPEAT
FILE=<имя файла>

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

Количество узлов в <списке узлов> должно быть равно значению переменной <количество сигналов>.

Переменная <t> определяет моменты времени, в которые задаются логические уровни сигнала. Если перед значением переменной <t> имеется символ "+", то эта переменная задает приращение относительно предыдущего момента времени; в противном случае она определяет абсолютное значение относительно начала отсчета времени t = 0. Суффикс "S" указывает размерность времени в секундах (допускается суффикс "nS" – наносекунды и т.п.). Суффикс "С" означает измерение времени в количестве циклов, размер которых определяется параметром TIMESTEP (переменная <шаг по времени>).

Переменная <данные> состоит из символов "0", "1", "X", "R", "F" или "Z", интерпретируемых в заданном формате.

Переменная <п> задает количество повторяющихся циклов GOTO; значение п = -1 задает бесконечное повторение цикла.

Переменная <имя метки> используется при организации цикла с помощью оператора перехода GOTO, который передает управление на строку, следующую за оператором LABEL=<имя метки>.

REPEAT FOREVER – начало бесконечно повторяющегося цикла (эквивалентно конструкции REPEAT – 1 TIMES).

REPEAT <n> TIMES – повторение n раз.

ENDREPEAT – конец цикла REPEAT.

FILE – указание имени файла, в котором находится описание одного или нескольких входных сигналов.

Приведем пример:

USIGNAL STIM(2.11) $G_DPWR $G_DGND 1 2 IO_STM TIMESTEP=1ns
+ 0C 00; В момент времени t=0 состояния обоих узлов равны "0"
+ LABEL=M
+ 1C 01; При t=1 не состояние узла 1 равно "0", узла 2 - "1"
+ 2C 11; При t=2 не состояние обоих узлов равны "1"
+ 3C GOTO M 3 TIMES; В момент времени t=3 не переход на метку М и выполняется
+ первая инструкция без дополнительной задержки. Цикл повторяется 3 раза
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.