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

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

Приведем сначала пример файла цифровых сигналов:

  • Заголовок:.содержит имена сигналов CLOCK, RESET, IN1, IN2; имена 4-х сигналов

*Начало описания сигналов; отделяется от заголовка пустой строкой:

0 0000; двоичные коды сигналов
10ns 1100
20ns 0101
30ns 1110
40ns 0111

Заголовок имеет следующий формат:

[TIMESCALE=<значение>] <имя сигнала 1>...<имя сигнала п>...
OCT(<3-й бит сигнала>...<1-й бит сигнала>)...
HEX(<4-й бит сигнала>...<1-й бит сигнала>}...

Имена сигналов могут разделяться запятыми или пробелами. Они располагаются на одной или нескольких строках, но строки продолжения не имеют в начале знака "+". Максимальное количество сигналов 255, на одной строке могут размещаться не более 300 символов. Имена сигналов перечисляются в том же порядке, в котором их значения приводятся во временных диаграммах.

Если перед именем сигнала не указывается название системы счисления, он считается двоичным. Имена сигналов, записанных в восьмеричном коде, предваряются кодом ОСТ и группируются по 3 сигнала (имена групп сигналов заключаются в круглые скобки). Имена шестнадцатеричных сигналов имеют код HEX и группируются по 4 сигнала.

Приведем еще один пример файла сигналов:

Clock Reset In1 In2
HEX(Addr7 Addr6 Addr5 Addr4) HEX(Addr3 Addr2 Addrl Addr0)
ReadWrite
0 0000 00 0; для наглядности между группами можно включать пробелы
10n 1100 4E 0
20n 0101 4E 1
30n 1110 4E 1
40n 0111 FF 0

Здесь сначала приведены имена четырех двоичных сигналов, затем две группы сигналов, задаваемых в шестнадцатеричном виде, и затем еще один бинарный сигнал. В последующем списке значений сигналов даны 7 колонок, соответствующих приведенным в заголовке сигналам.

Список значений имеет формат:

<время> <значение сигнала>*

Список значений отделяется от заголовка пустой строкой. Моменты времени и список значений сигналов должны быть разделены по крайней мере одним пробелом. Для моментов времени изменений сигналов указываются их абсолютные значения (в секундах), например 25ns, 1.2E-9, 5.8 или приращение относительно предыдущего момента времени. Признак приращения – знак "+" перед значением момента времени, например +5ns. Каждое значение сигнала соответствует одиночному бинарному сигналу или группе сигналов, имена которых помещены в группы с указателями системы счисления ОСТ или HEX. Общее количество значащих цифр в значениях сигналов должно быть равно общему количеству бинарных сигналов и групп сигналов, помеченных символами ОСТ и HEX. Разряды данных сигнала могут принимать значения, приведенные в табл. 4.29.

Таблица 4.29. Значения сигналов.

Сигналы Двоичные Восьмеричные Шестнадцатеричные
Логические /цифровые 0, 1 0…7 0…F
Неопределенные X X X
Высокого импеданса Z Z Z
Передний фронт R R  
Задний фронт F F  

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

Пусть имеется файл digl.stm, в котором описана временная диаграмма сигнала IN1. Тогда в задание на моделирование можно включить следующее описание генератора:

U1 FSTIM(1) $G_DPWR $G_DGND IN1 IO_STM FILE=DIG1.STM

Пусть имеется файл flipflop.stm следующего содержания:

J K PRESET CLEAR CLOCK 0 0 0 010
10ns 0 0 111

В задание на моделирование включим описание генератора сигнала:

U2 FSTIM(4) $G_DPWR $G_DGND CLK PRE J K IO_STM + FILE=flipflop.stm SIGNAMES = CLOCK PRESET

В этом примере первым двум узлам CLK и PRE соответствуют сигналы CLOCK и PRESET из файла сигналов, это соответствие устанавливается с помощью опции SIGNAMES. Последним узлам J и К соответствуют одноименные сигналы из файла сигналов, поэтому их имена нет необходимости включать в опцию SIGNAMES. Сигнал CLEAR в данном примере не используется (но на него можно сослаться в другом генераторе FSTIM).

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.