Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архангелский ПСпице и Десигн Центер Ч2 1996.pdf
Скачиваний:
58
Добавлен:
16.08.2013
Размер:
1.71 Mб
Скачать

36

1. Моделирование цифровых схем

+ 0, 0

; в нулевой момент все узлы = “0”

+ LABEL=START

 

+ 10C, 1

; в 10нс IN1, IN2 и IN3 = “0”, IN4 = “1”

+ +5ns, 0

; через 5 нс все узлы = “0”

+ 20C, A

; в 20 нс IN1 и IN3 = “1”, IN2 и IN4 = “0”

+ +5ns 0

; через 5 нс все узлы = “0”

+ 30C, GOTO START 1

; в 30 нс без задержки выполняется первый

TIMES

; оператор цикла; 1 TIMES вызывает

 

; выполнение цикла 2 раза (1 уход на

 

; начало)

 

; после выполнения цикла второй раз

+ +10C, 1

; задержка 10 нс и потом IN1, IN2 и IN3 =

 

“0”,

;IN4 = “1”

Вследующем примере описан генератор шестнадцати сигналов. Пример иллюстрирует применение операции INCR и организацию цикла, число повторений которого определяется условием UNTIL.

U2 STIM (16, 4444) 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 IO_STM

+ TIMESTEP=10 ns

 

+ 0s, 0000

; в нулевой момент все узлы =

+ LABEL=STARTLOOP

“0”

+ 10c INCR BY 0001

; в 100 нс увеличение сигнала

 

+ 20c GOTO STARTLOOP UNTIL GE; шины на 1

000A

; если сигнал шины < 10,

 

возврат

; на STARTLOOP и выполнение ; первого оператора без задержки

Последний пример иллюстрирует применение смешанного формата, в котором сигналы узлов 1, 2 и 7 описаны в двоичном формате, а узлы 3, 4, 5, 6 - в шестнадцатеричном.

USTIM STIM(7,1141) 1 2 3 4 5 6 7 IO_STM

1.4. Логические примитивы цифровых элементов

37

+ 0s 0000

; в нулевой момент все узлы = “0”

 

+ LABEL=STARTLOOP

 

 

 

+ 1ns 0070

; в 1

нс узлы 1,2,3=“0”, узлы 4,5,6=“1”,

 

+ 2ns 11F1

узел7=“0”

 

+ 3ns GOTO STARTLOOP 3

; в 2

нс все узлы = “1”

 

TIMES

; в 3

нс без задержки выполняется

 

первый

;оператор цикла; 3 TIMES вызывает выпол-

;нение цикла 4 раза (3 уход на ; начало)

2.М О Д Е Л И Р О В А Н И Е

АН А Л О Г О - Ц И Ф Р О В Ы Х С Х Е М

2.1.АЛГОРИТМЫ СМЕШАННОГО МОДЕЛИРОВАНИЯ

PSpice и Design Center позволяют осуществлять смешанное электрологическое моделирование аналого-цифровых схем. В первом приближении модель аналого-цифрового устройства при смешанном моделировании можно представить схемой рис. 2.1.

Рис. 2.1. Модель аналого-цифрового устройства

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

Другая часть схемы - цифровая, моделируется на логическом уровне с помощью описанных в п. 1 примитивов. В ней фигурируют не электрические, а логические сигналы. Между аналоговой и цифровой моделями включаются интерфейсные элементы. Их задача - согласовать сигналы и события в этих двух принципиально различных моделях. Интерфейс Ц/А преобразует вектор выходных логических сигналов Qвых цифровой модели в вектор напряжений Uвх аналоговой модели. Интерфейс моделирует также выходные ВАХ цифровых элементов, являющихся источниками сигналов для аналоговой части схемы.

2.1. Алгоритмы смешанного моделирования

39

Интерфейс А/Ц преобразует вектор напряжений Uвых в узлах аналоговой части схемы, соответствующих входам цифровой части, в вектор логических сигналов Qвх цифровых элементов. Одновременно осуществляется преобразование непрерывного времени в аналоговой модели в дискретное время цифровой модели. Этот интерфейс моделирует также входные ВАХ цифровых элементов, являющихся нагрузкой для аналоговой части схемы.

Смешанное моделирование в PSpice может осуществляться в двух вариантах. Первый из них - одновременное, параллельное моделирование аналоговой и цифровой части самой программой PSpice. В PSpice эта возможность обеспечивается той же опцией Digital Simulation, которая необходима для цифрового моделирования.

При расчете аналого-цифровой схемы по постоянному току все задержки цифровых элементов считаются равными нулю, а сигналы генераторов логических сигналов равны своим начальным значениям. Работает тот же итерационный алгоритм, что и при расчете аналоговых схем. Если за допустимое число итераций (задается опцией ITL1, см. [1], п. 3.2) решение не найдено, то выходы всех А/Ц интерфейсов переводятся в неопределенное состояние “X” и дальнейшие итерации не проводятся.

При расчете переходных процессов в аналого-цифровой схеме аналоговая и цифровая части рассчитываются каждая со своим изменяющимся шагом. Алгоритм смешанного моделирования осуществляет синхронизацию временных шагов в моменты, соответствующие событиям в интерфейсах. Внутренний шаг в цифровой модели равен целому числу минимальных шагов. Задержки меньшие половины этого минимального шага считаются равными нулю. Минимальный шаг может быть задан опцией DIGFREQ в операторе .OPTIONS и равен 1/DIGFREQ. По умолчания DIGFREQ равен минимальной из величин 1010 и 2 109/TSTOP, где TSTOP - длительность переходного процесса, заданная в операторе .TRAN. Таким образом, при небольших длительностях переходного процесса минимальный шаг по умолчанию равен 10-10 с=0,1 нс.

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

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

P-CAD.

40

2. Моделирование аналого-цифровых схем

Второй вариант смешанного моделирования при работе с PSpice требует наличия в его составе опции Digital Files. Этот вариант заключается в поочередном, последовательном расчете аналоговой и цифровой частей схемы двумя разными программами. При этом аналоговая часть моделируется PSpice, а цифровая - какой-нибудь внешней специализированной программой, например PCLOGS, входящей в P-CAD. Обмен информацией между программами в этом случае осуществляется через файлы. PSpice формирует выходной файл, в который заносит логические сигналы Qвх, получаемые с выходов интерфейса А/Ц. Эти сигналы являются входными для цифровой модели, которая рассчитывается внешней программой логического моделирования. Эта программа в свою очередь должна сформировать свой выходной файл и занести в него логические сигналы Qвых, относящиеся к выходным узлам, подключенным к аналоговой части схемы. С этим файлом может работать PSpice, подавая считанные из него логические сигналы на входы интерфейса Ц/А, который преобразует их в сигналы Uвх. Таким образом, PSpice осуществляет расчет аналоговой части устройства и интерфейсов. Так что из схемы на рис. 2.1 только цифровая модель является внешней по отношению к PSpice.

Однако в действительности схему вида, представленного на рис. 2.1, по второму варианту в общем случае рассчитать нельзя. В этой схеме имеется обратная связь между аналоговой и цифровой частями, и рассчитывать их независимо друг от друга невозможно. Вариант последовательного смешанного моделирования применим только к схемам, в которых такие обратные связи отсутствуют. Подобная схема представлена на рис. 2.2. Она состоит из последовательно работающих цифровых и аналоговых блоков. К такому классу схем относятся многие измерительные системы, системы связи, системы физического эксперимента. В системах, имеющих такую последовательную структуру, можно на одной программе просчитать переходные процессы в первом блоке на протяжении всего заданного интервала времени. Затем на другой программе просчитать следующий блок, используя в качестве его входных сигналов уже полученные выходные сигналы предыдущего блока, и т.д. Такое последовательное смешанное моделирование и обеспечивает опция Digital Files.

2.1. Алгоритмы смешанного моделирования

41

Рис. 2.2.Устройство с чередованием аналоговых и цифровых блоков

Следует отметить, что при расчете возможна комбинация рассмотренных способов смешанного моделирования. Тогда PSpice рассчитывает аналогоцифровые фрагменты с обратными связями и формирует выходные файлы для расчета внешней программой больших цифровых фрагментов, с которых нет обратных связей на фрагменты, рассчитанные PSpice. Таким образом, в этом случае блоки аналоговой модели на рис. 2.2 в действительности могут быть аналого-цифровыми моделями, рассчитываемыми с помощью Pspice.

2.2 ПОДГОТОВКА АНАЛОГО-ЦИФРОВОЙ СХЕМЫ К РАСЧЕТУ

При описании аналого-цифровой схемы получаются узлы трех типов:

аналоговые узлы, расположенные внутри аналоговой части схемы, к которым подходят только аналоговые компоненты;

цифровые узлы, расположенные внутри цифровой части схемы, к которым подходят входы и выходы только цифровых элементов;

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

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

42

2. Моделирование аналого-цифровых схем

а между вторым и третьим включается А/Ц интерфейс, транслирующий аналоговый сигнал в логический сигнал входов цифровых элементов.

Типичные подсхемы интерфейсов для ряда серий цифровых интегральных схем включены в прилагаемую к программе библиотеку DIGIO.LIB. Подобную библиотеку можно создать и самому для применяемых цифровых интегральных схем, пользуясь сведениями, приведенными в п. 2.2 и последующих пунктах.

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

При ручном способе подготовка схемы заключается в следующем.

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

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

Между аналоговыми и цифровыми узлами, получившимися в результате расщепления смешанных узлов, включаются интерфейсы. При этом между узлом выхода цифровой схемы и соответствующим ему аналоговым узлом включается Ц/А интерфейс - элемент типа N или собранная на его основе более сложная и точная интерфейсная подсхема. А между узлом входа цифровой схемы и соответствующим ему аналоговым узлом включается А/Ц интерфейс - элемент типа O или собранная на его основе более детальная интерфейсная подсхема.

2.2. Подготовка аналого-цифровой схемы к расчету

43

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

Рис.2.3. Аналого-цифровой генератор импульсов: принципиальная схема (а) и расщепление узлов при отсутствии R3 (б) и с R3 (в)

Рассмотрим в качестве примера схему генератора импульсов, показанную на рис. 2.3а. При подаче на вход IN0 сигнала “1” на выходе OUT сигнал равен “1”. А при поступлении на вход IN0 сигнала “0” генератор начинает выдавать прямоугольные импульсы, частота которых определяется задержкой элемента И-НЕ и постоянной времени емкости C1.

Если в схеме отсутствует показанный пунктиром на рис. 2.3а резистор R3, то узлы IN0 и IN1 являются цифровыми, узел 1 - аналоговый, а узлы IN2 и OUT - смешанные. Эти узлы должны быть расщеплены, как показано на рис. 2.3б. Узел IN2 расщеплен на 2 узла - IN2 и DIN2, из которых первый является аналоговым, а второй - цифровым, подключенным ко входу логического элемента. Между этими узлами включается подсхема А/Ц интерфейса XAD1, передающего информацию с IN2 в DIN2. Узел OUT также расщепляется на OUT и DOUT и между ними включается подсхема Ц/А интерфейса XDA1,

44

2. Моделирование аналого-цифровых схем

передающего информацию из DOUT в OUT. К интерфейсам должны быть подключены не указанные на рисунке питающие напряжения, с помощью которых задаются уровни, соответствующие сигналам “0” и “1”.

Пусть, например, А/Ц интерфейс описывается библиотечным типом подсхемы с именем DA, а Ц/А интерфейс описывается библиотечным типом подсхемы с именем AD. И пусть узлы питания интерфейсов UP и “0”, причем потенциал UP должен быть равен 5 В. Используются также библиотечные модели задержек с именем MDL и входа/выхода с именем IO. Тогда описание схемы, соответствующей рис. 2.3б может иметь вид

U1

INV

 

UP

0

IN0

IN1

MDL

IO

U2

NAND(2)

UP

0

IN1

DIN2

DOUT MDL

IO

VP UP

0

5v

 

 

 

 

 

RP UP

0

1MEG ; Сопротивление включается для того, чтобы узел UP

 

 

 

 

; не оказался оборванным

 

XDA1 UP DOUT OUT DA

; В модель подсхемы DA передаются имена

 

 

 

 

;аналогового и цифрового узлов и узла питания

XAD1 UP DIN2 IN2 AD ;

В модель подсхемы AD передаются имена

R1

OUT

1

1K

;аналогового и цифрового узлов и узла питания

 

 

 

 

 

R2

1

IN2

1K

 

 

 

 

 

C1

1

0

10PF

 

 

 

 

 

Чаще узлы питания интерфейсов делают глобальными. Например, в библиотеке DIGIO.LIB используются имена $G_DPWR и $G_DGND. Тогда имена узлов питания не требуется передавать в подсхемы интерфейсов, так как они уже используются внутри этих подсхем.

Результаты расчета схемы с помощью Design Center приведены на рис. 2.4. В верхней части даны диаграммы логических сигналов в цифровых узлах, в нижней - графики напряжений в аналоговых узлах. Двойные линии при переключении цифровых сигналов соответствуют попаданию элементов в неопределенное состояние “X”. Это связано со сравнительно медленным изменением напряжения на входе IN2, в результате чего на элемент И-НЕ в течение некоторого времени подается сигнал, величина которого лежит между “0” и “1”.

Если в схеме рис. 2.3а присутствует сопротивление R3, то узел IN1 становится смешанным. Поскольку к этому узлу подключен выход инвертора и вход элемента И-НЕ, то этот узел расщепляется на три (рис. 2.3в): D1IN1 - цифровой выход инвертора, D2IN1 - цифровой вход элемента И-НЕ, IN1 - аналоговый узел. Между ними включаются интерфейсы O2, N2.

2.2. Подготовка аналого-цифровой схемы к расчету

45

Подготовка схемы к расчету для автоматического расщепления смешанных узлов и включения интерфейсов отличается от рассмотренной выше и сводится к следующему.

Обычным способом описывается аналоговая часть схемы и модели компонентов.

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

Описываются подсхемы А/Ц и Ц/А интерфейсов на основе элементов O и N. Чаще всего эти описания уже содержатся в DIGIO.LIB или другой библиотеке. И ссылки на них содержатся в библиотечных моделях входа/выхода. Тогда никакого дополнительного описания не требуется.

Описывается подсхема питания цифровых элементов DIGIFPWR, которая определяет уровни напряжений в интерфейсах. Если эта подсхема не описывает всех требуемых напряжений, то эти напряжения могут быть заданы обычными независимыми источниками напряжения. Обычно описание соответствующей подсхемы питания уже содержатся в DIGIO.LIB или другой библиотеке. Тогда никакого дополнительного описания не требуется.

46

2. Моделирование аналого-цифровых схем

Рис. 2.4. Переходные процессы в аналого-цифровом генераторе импульсов

Таким образом, при наличии соответствующих библиотек вся подготовка схемы сводится к обычному описанию аналоговой и цифровой частей схемы и к указанию соответствующих библиотечных моделей входа/выхода и узлов источников питания интерфейсов. Пусть, например, для цифровых элементов схемы (см. рис. 2.3а) имеется в библиотеке модель задержек MDL, модель входа/выхода IO со ссылками на библиотечные подсхемы интерфейсов и подсхема DIGIFPWR, задающая потенциалы глобальных узлов питания интерфейсов $G_DPWR и $G_DGND. Тогда описание схемы (см. рис. 2.3а) может иметь вид

U1

INV

$G_DPWR

$G_DGND

IN0

IN1

MDL

 

IO

 

 

 

 

 

U2

NAND(2)

$G_DPWR

$G_DGND

IN1

IN2

OUT MDL

 

IO

 

 

 

 

 

R1

OUT

1

1K

 

 

 

R2

1

IN2

1K

 

 

 

C1

1

0

10PF

 

 

 

R3

IN1

0

1K

 

 

 

2.2. Подготовка аналого-цифровой схемы к расчету

47

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

Для вновь появляющихся аналоговых узлов сохраняется имя, заданное в описании схемы, а новым цифровым узлам присваивается имя <имя>$AtoD или <имя>$DtoA соответственно для узлов входов и выходов цифровых элементов. Здесь <имя> - это имя узла, указанное в описании схемы. Если при расщеплении смешанного узла образовалось несколько входных или выходных узлов, то в конце имени для каждого, кроме первого, добавляется порядковый номер, например <имя>$AtoD2. Ниже приведена секция выходного файла .OUT для Design Center, описывающая производимые замены в схеме, показанной на рис. 2.3а (в скобках даются комментарии и перевод сообщений программы).

****Generated AtoD and DtoA Interfaces ****

(Генерация А/Ц и Ц/А интерфейсов)

*Analog/Digital interface for node in1

(А/Ц интерфейс узла in1)

* Moving U2:IN1 from analog node IN1 to new digital node IN1$AtoD (Замена в U2: IN1 заменяется на новый цифровой узел IN1$AtoD)

X$in1_AD1 in1 IN1$AtoD $G_DPWR $G_DGND AD1

+PARAMS: CAPACITANCE= 100.0000E-15

(Предыдущий оператор задает подсхему А/Ц интерфейса X$in1_AD1 типа AD1, который описан в используемой элементом модели входа/выхода IO. В подсхему передаются имена аналогового и цифрового узлов, имена узлов питания и параметр - емкость)

*Moving U1:OUT1 from analog node IN1 to new digital node IN1$DtoA X$IN1_DA1 IN1$DtoA in1 $G_DPWR $G_DGND DA1

+ PARAMS: DRVH= 96.4 DRVL= 104 CAPACITANCE= 500.0000E-15

48

2. Моделирование аналого-цифровых схем

(Аналогичная рассмотренной выше замена в U1 узла IN1 на новый цифровой узел IN1$DtoA. Описание подсхемы Ц/А интерфейса и передача в нее необходимых параметров)

*Analog/Digital interface for node in2 (А/Ц интерфейс узла in2)

*Moving U2:IN2 from analog node IN2 to new digital node IN2$AtoD X$in2_AD1 in2 IN2$AtoD $G_DPWR $G_DGND AD1

+ PARAMS: CAPACITANCE= 100.0000E-15

*Analog/Digital interface for node out (А/Ц интерфейс узла out)

*Moving U2:OUT1 from analog node OUT to new digital node OUT$DtoA X$OUT_DA1 OUT$DtoA out $G_DPWR $G_DGND DA1

+ PARAMS: DRVH= 96.4 DRVL= 104 CAPACITANCE= 500.0000E-15

*Analog/Digital interface power supply subcircuits

X$DIGIFPWR 0 DIGIFPWR

(Ссылка на подсхему источников питания интерфейсов и передача в нее узла “земля” - 0)

.END ;(end of AtoD and DtoA interfaces) (Конец описания А/Ц и Ц/А интерфейсов).

При автоматической генерации интерфейсов программа ориентируется на подсхемы интерфейсов, указанные в модели входа/выхода элемента. В пп. 1.2 и 1.3 описывались параметры, задаваемые в модели входа/выхода. Однако там не упоминалась группа параметров, используемых только при автоматической генерации интерфейсов. Это параметры AtoD1, AtoD2, AtoD3, AtoD4 - имена подсхем А/Ц интерфейсов различных уровней, а также параметры DtoA1, DtoA2, DtoA3, DtoA4 - имена подсхем Ц/А интерфейсов различных уровней. По умолчанию первые из них имеют имя AtoDDefault, а последние - DtoADefault. Таким образом, для каждой модели входа/выхода можно задать до четырех вариантов подсхем интерфейсов. Они отличаются разной степенью точности: от простейших, имеющих только два состояния “0” и “1” и идеальные импедансы, до сложных, описываюших нелинейные ВАХ реальных элементов. Примеры подсхем интерфейсов будут приведены в пп. 2.3.2 и 2.4.2.

Те или иные подсхемы интерфейсов, имена которых заданы в модели входа/выхода, включаются в схему в зависимости от параметра IO_LEVEL, задаваемого при описании цифровых элементов. Например:

U2 NAND(2) $G_DPWR $G_DGND IN1 IN2 OUT MDL IO + IO_LEVEL=2.

2.2. Подготовка аналого-цифровой схемы к расчету

49

При IO_LEVEL=1 включаются AtoD1/DtoA1, при IO_LEVEL=2 - AtoD2/DtoA2 и т.д. Таким образом, можно изменять модели интерфейсов, не изменяя описания схемы, а только задавая для того или иного элемента соответствующее значение IO_LEVEL. При IO_LEVEL=0 для выбора моделей интерфейсов используется значение опции DIGIOLVL, задаваемое оператором .OPTIONS. По умолчанию DIGIOLVL=1.

В PSpice 5 в модели входа/выхода могут также задаваться дополнительные задержки переключений “0”“1” и “1”“0” в Ц/А интерфейсах. Задержки переключения “0”“1” задаются параметрами TSWLH1 - TSWLH4 соответственно для DtoA1 - DtoA4, а задержки переключения “1”“0” задаются параметрами TSWHL1 - TSWHL4. По умолчанию эти задержки равны нулю. Введение этих задержек оправдано, в частности в тех случаях, когда интерфейсы разрывают цифровую часть схемы, как это произошло в рассмотренном выше примере в узле IN1 при наличии сопротивления R3. В таких случаях программа не может учесть влияние входных емкостей нагрузочных цифровых элементов на задержку в оборвавшемся выходе цифрового элемента. Задержка, определяемая этими емкостями, и может быть указана как дополнительная для соответствующего Ц/А интерфейса.

При задании выходных сопротивлений в моделях входа/выхода для PSpice 5 надо иметь ввиду определенные ограничения: минимальное сопротивление для силы F ограничено опцией DIGDRVF (по умолчанию 2 Ом), а максимальное сопротивление для силы Z - опцией DIGDRVZ (по умолчанию 20 кОм). Значения опций могут быть изменены оператором .OPTIONS.

Теперь остановимся на описании источника питания интерфейсов, который в PSpice 5 задается подсхемой с именем DIGIFPWR. Чаще всего эта подсхема включается в библиотеку. При автоматической генерации интерфейсов она, хотя бы пустая, обязательно должна присутствовать, даже если напряжения питания заданы просто отдельными источниками напряжения. На эту подсхему автоматически делается ссылка при генерации интерфейсов. Форма этой автоматической ссылки была видна из приведенного выше примера:

X$DIGIFPWR 0 DIGIFPWR ,

где 0 - узел “земля” в аналоговой части схемы. В простейшем случае, если, например, в схеме используются глобальные узлы питания $G_DPWR и $G_DGND, на первый из которых должно быть подано напряжение 5 В, а на другой - 0 В, подсхема DIGIFPWR может иметь вид

SUBCKT DIGIFPWR AGND

50

2. Моделирование аналого-цифровых схем

VP

$G_DPWR $G_DGND 5v

 

VG

$G_DGND AGND

0

R1

$G_DPWR AGND

10MEG

R2

$G_DPWR AGND

10MEG

.ENDS DIGIFPWR

В этом описании AGND - узел земли аналоговой части схемы. Параметр V задает напряжение питания, а параметр VGND - разность напряжений между “аналоговой” и “цифровой” землей. Сопротивления R1 и R2 включены в эту подсхему, чтобы избежать висячих узлов, поскольку подключенные к узлам питания интерфейсы не считается программой за обычные элементы.

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

SUBCKT DIGIFPWR AGND

+OPTIONAL: DPWR=$G_DPWR DGND=$G_DGND

+PARAMS: V=5V VGND=0V VP DPWR DGND {V}

VG DGND AGND {VGND}

R1 DPWR AGND 10MEG

R2 DGND AGND 10MEG

.ENDS DIGIFPWR

При автоматическом обращении к этой подсхеме в момент генерации интерфейсов в виде X$DIGIFPWR 0 DIGIFPWR задаст узлам $G_DPWR и $G_DGND потенциалы 5 В и 0 В (значения по умолчанию). Но если в какойто подсхеме интерфейса надо некоторым узлам UP и UM задать, например, потенциалы 10 В и 0 В, то достаточно из этого интерфейса вызвать ту же подсхему с помощью оператора:

X1 0 UP UM DIGIFPWR PARAMS: V=10V.

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

2.2. Подготовка аналого-цифровой схемы к расчету

51

тех входах схемы, на которые должны поступать цифровые сигналы, ставятся Ц/А интерфейсы. В описании интерфейса указываются имя и формат файла, из которого будут читаться сигналы, и имя сигнала. Это имя, которое присвоено данному сигналу во внешней программе логического моделирования. На таких выходах схемы, на которых сигналы должны передаваться во внешнюю программу логического моделирования, ставятся А/Ц интерфейсы. В описании интерфейса указываются имя и формат выходного файла, в который будут записываться сигналы, и имена сигналов, которые должны совпадать с именами в программе логического моделирования.

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

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

2.3. АНАЛОГО-ЦИФРОВЫЕ ИНТЕРФЕЙСЫ

2.3.1. ИНТЕРФЕЙСНЫЙ ЭЛЕМЕНТ

Основой построения подсхем А/Ц интерфейсов является элемент типа О - аналого-цифровой интерфейсный элемент. Рассмотрим сначала А/Ц интерфейс, передающий сигнал на вход цифрового элемента PSpice. Такие интерфейсы используются при параллельном смешанном моделировании. В этом случае оператор, описывающий интерфейс, имеет вид

O<имя> <узел (+)> <узел (-)> <имя модели>

+ DGTLNET = <цифровой узел> <имя модели входа/выхода>

Интерфейс транслирует аналоговый сигнал (разность напряжений между узлами <узел (+)> и <узел (-)>) в логический сигнал в цепи <цифровой узел>. Помимо трансляции напряжений в логические сигналы модель аналого-

52

2. Моделирование аналого-цифровых схем

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

O1 ANALOG 0 DM1 DGTLNET=DIG IO

описывает интерфейс O1, имеющий модель с именем DM1 и модель входа/выхода с именем IO. Интерфейс преобразует разность напряжений между аналоговыми узлами ANALOG и 0 в логический сигнал цифрового узла DIG. Модель DM1 описывает входной импеданс между узлами

ANALOG и 0.

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

Модель А/Ц интерфейса имеет тип DOUTPUT и задается оператором вида

.MODEL <имя модели> DOUTPUT [<параметры модели>].

Параметры модели представлены в табл. 2.1.

Эквивалентная схема модели аналого-цифрового интерфейса представляет собой параллельное соединение нагрузочного сопротивления RLOAD и нагрузочной емкости CLOAD (входного сопротивления и входной емкости цифрового элемента), включенное между узлами <узел (+)> и <узел (-)>.

Множество возможных значений логического сигнала определяется параметрами модели S0NAME - S19NAME. Однако такая избыточность - 20 возможных значений, может использоваться только при смешанном моделировании с обращением к внешней программе логического моделирования. Для цифровых элементов PSpice 4 возможные значения - “0”, “1”, “X”, “Z”, для PSpice 5 - “0”, “1”, “X”, “Z”, “R”, “F”.

2.3. Аналого-цифровые интерфейсы

53

Таблица 2.1

ПАРАМЕТРЫ МОДЕЛИ А/Ц ИНТЕРФЕЙСА

Имя

Параметр

Размер-

Умолчание

 

 

ность

 

RLOAD

входное сопротивление

Ом

CLOAD

входная емкость

Ф

0

S0NAME

символ состояния 0

-

-

S0VLO

низкий уровень в состоянии 0

В

-

S0VHI

высокий уровень в состоянии 0

В

-

S1NAME

символ состояния 1

-

-

S1VLO

низкий уровень в состоянии 1

В

-

S1VHI

высокий уровень в состоянии 1

В

-

S2NAME

символ состояния 2

-

-

S2VLO

низкий уровень в состоянии 2

В

-

S2VHI

высокий уровень в состоянии 2

В

-

...

...

 

 

S19NAME

символ состояния 19

-

-

S19VLO

низкий уровень в состоянии 19

В

-

S19VHI

высокий уровень в состоянии 19

В

-

TIMESTEP

минимальный шаг по времени

с

10-9

CHGONLY

запись: 0 - каждый шаг, 1 - изменения

-

0

 

(только для вывода в файл)

 

 

FILE

выходной файл

-

-

 

(только для вывода в файл)

 

 

FORMAT

формат выходного файла

-

1

 

(только для вывода в файл)

 

 

TIMESCALE

масштабный коэффициент для TIMESTEP

с

1

 

(только для вывода в файл)

 

 

Преобразование напряжения в логические сигналы осуществляется пороговыми функциями. Для каждого из возможных состояний i логического сигнала в описании модели задается диапазон напряжений SiVLO - SiVHI. Входное напряжение сначала сравнивается с диапазоном напряжений того состояния, в котором вход цифрового элемента находился до данного момента. Если напряжение находится внутри этого диапазона, то считается, что логический сигнал не изменился. В противном случае напряжение сравнивается с диапазонами, заданными для последующих состояний, а если список состояний кончился, то он просматривается с начала - с состояния S0NAME. В качестве нового значения логического сигнала принимается первое, для которого заданный диапазон напряжений включает действительное значение входного напряжения. Такой алгоритм позволяет

54

2. Моделирование аналого-цифровых схем

при желании описать гистерезис при изменении состояний. Если ни один из заданных диапазонов не содержит входного напряжения, то в качестве символа выходного сигнала выдается "?". При этом моделирование прерывается. Поэтому диапазоны напряжений в описании модели должны охватывать все возможные значения напряжений, которые могут появиться в моделируемой схеме.

Преобразование напряжений в логические сигналы интерфейс производит в моменты времени, кратные параметру TIMESTEP. Таким образом, этот параметр определяет точность, с которой фиксируются моменты пересечения напряжением пороговых величин различных значений логического сигнала. Чтобы с требуемой точностью определить момент пересечения, алгоритм аналогового моделирования делает шаг, не превышающий TIMESTEP на интервалах времени, на которых может произойти пересечение. По умолчанию TIMESTEP равен 1 нс и в любом случае не больше, чем 1/DIGFREQ (см. работы [1] и [3]). Во многих схемах такое высокое временное разрешение излишне и можно существенно сократить время расчета, увеличив TIMESTEP.

Параметры модели TIMESCALE, FILE, CHGONLY, FORMAT в

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

Приведем примеры описаний моделей А/Ц интерфейса. Оператор

.MODEL DM1 DOUTPUT RLOAD=1k CLOAD=2pf

+ S0NAME=0

S0VLO=-10S0VHI=0.5

+ S1NAME=1

S1VLO=0.5 S1VHI=10

описывает двузначную модель, в которой порог между состояниями “0” и “1” равен 0,5 В. Любое напряжение меньшее 0,5 В будет восприниматься как “0”, а большее - как “1”.

При желании отразить в модели различие между порогами состояний “0” и “1” и неопределенное состояние “X” оператор можно записать в виде

.MODEL DM1 DOUTPUT RLOAD=1k CLOAD=2pf

+ S0NAME=0

S0VLO=-10S0VHI=0.5

+ S1NAME=1

S1VLO=0.7 S1VHI=10

+ S2NAME=X

S2VLO=0.5 S2VHI=0.7

В этой модели напряжение меньшее 0,5 В воспринимается как логический "0", напряжение большее 0,7 В - как логическая "1", а напряжение между 0,5 В и 0,7 В - как неопределенное состояние "X".

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

 

2.3. Аналого-цифровые интерфейсы

55

.MODEL DM1 DOUTPUT RLOAD=1k CLOAD=2pf

 

+ S0NAME=0

S0VLO=-10S0VHI=1.5

 

+ S1NAME=1

S1VLO= 0.5

S1VHI=10

 

В этой модели при увеличении напряжения от нуля состояние “0” в цифровом узле поддерживается вплоть до 1,5 В, после чего появляется состояние “1”. Если напряжение потом начнет уменьшаться, то состояние “1” будет поддерживаться, пока напряжение не упадет ниже 0,5 В. Таким образом, получается гистерезис с шириной петли 1 В (от 0,5 до 1,5 В).

В заключение приведем стандартную модель, включенную в библиотеку PSpice 5 и учитывающую состояния “R” и “F”:

.MODEL DO74 DOUTPUT (

+s0name=X, s0vlo= 0.8, s0vhi=2.0,

+s1name=0, s1vlo=-1.5, s1vhi=0.8,

+s2name=R, s2vlo= 0.8, s2vhi=1.4,

+s3name=R, s3vlo= 1.3, s3vhi=2.0,

+s4name=X, s4vlo= 0.8, s4vhi=2.0,

+s5name=1, s5vlo= 2.0, s5vhi=7.0,

+s6name=F, s6vlo= 1.3, s6vhi=2.0,

+s7name=F, s7vlo= 0.8, s7vhi=1.4)

Вэтой модели используются те же особенности алгоритма преобразования сигналов, что и в приведенной ранее модели с гистерезисом. Если

напряжение попадает в диапазон 0,8 ÷ 2,0 В из состояния “0”, то модель выдает состояние “R” - нарастание, а если в тот же диапазон сигнал попадает из состояния “1”, то он становится равным “F” - спад.

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

O<имя> <узел (+)> <узел (-)> <имя модели> + [ SIGNAME = <имя цифрового сигнала>]

Параметр SIGNAME = <имя цифрового сигнала> определяет имя сигнала в выходном файле. Если этот параметр не задан, то в качестве имени логического сигнала будут приняты символы, следующие за символом "O" в имени элемента. Например, оператор

56

2. Моделирование аналого-цифровых схем

O7 A B TO_TTL SIGNAME=OUT

описывает интерфейс, передающий в выходной файл сигнал с именем OUT, а оператор

OA1 1 0 TO_TTL

описывает интерфейс, передающий в выходной файл сигнал с именем A1 (символы, следующие в имени интерфейса за символом “O”).

В интерфейсе, записывающем сигналы в выходной файл, используются, помимо прочих, такие параметры модели, как FILE, FORMAT, CHGONLY, TIMESCALE. Параметр FILE задает имя файла, в который при моделировании записываются выходные логические сигналы. В задании на расчет может быть описано сколько угодно моделей аналого-цифровых интерфейсов, которые могут ссылаться на одни и те же или разные файлы. При ссылках на один файл из разных моделей эти ссылки должны быть идентичны. Например, нельзя в одной модели сослаться на некоторый файл как на C:TEST.DAT, а в другой сослаться на тот же файл как на TEST.DAT, даже если диск C: является текущим диском. Иначе при моделировании могут получиться непредсказуемые результаты.

Параметр FORMAT определяет формат записи в выходной файл. Подробные сведения о форматах приведены в работе [2].

Параметр CHGONLY определяет характер записи в файл: при CHGONLY=0 результаты записываются с шагом TIMESTEP; при CHGONLY=1 записываются только те шаги, на которых изменился хотя бы один из выходных сигналов.

Параметры TIMESTEP и TIMESCALE определяют масштаб времени, передаваемого в выходной файл. Если в аналоговой части схемы текущее время равно T то в выходной файл запишется величина, равная целой части от T TIMESCALE/TIMESTEP. Иначе говоря, цена временного шага в цифровой модели считается равной TIMESTEP/TIMESCALE и в выходной файл записывается время в единицах этих шагов. Поскольку, как было сказано ранее, величина TIMESTEP выбирается из соображений точности определения моментов пересечения порогов, параметр TIMESCALE позволяет согласовать единицы измерения времени в аналоговом и цифровом моделировании, если цена шага в цифровой модели много меньше, чем TIMESTEP. Например, если TIMESTEP=1 нс, а цена шага в цифровой модели равна 0.1 нс, надо задать TIMESCALE=10. При увеличении TIMESTEP с целью сокращения затрат времени на аналоговое моделирование надо пропорционально увеличивать и TIMESCALE.

2.3. Аналого-цифровые интерфейсы

57

2.3.2. ПОДСХЕМЫ АНАЛОГО-ЦИФРОВЫХ ИНТЕРФЕЙСОВ

Если смешанное моделирование ведется с ручной расстановкой интерфейсов или с обращением к внешней моделирующей программе, то оформление интерфейса в виде подсхемы не обязательно. Однако и в этих случаях полезно оформить модель интерфейсной подсхемы, чтобы не повторять ее описание столько раз, сколько интерфейсов имеется в схеме. При этом к модели подсхемы не предъявляется каких-либо специальных требований. Если же применяется автоматическая генерация интерфейсов, то они обязательно должны представлять собой подсхему. Имена этих подсхем указываются в соответствующих моделях входа/выхода, на которые дается ссылка при описаниях цифровых элементов. Обращение к моделям подсхем задается программой автоматически в процессе генерации А/Ц интерфейсов и имеет вид

<имя подсхемы> <аналоговый узел> <цифровой узел>

+<узел питания+> <узел питания-> <имя модели подсхемы>

+PARAMS: CAPACITANCE=<величина>.

Например (см. фрагмент выходного файла автоматической генерации интерфейсов в п. 2.2):

X$in1_AD1 in1 IN1$AtoD $G_DPWR $G_DGND AD1

+PARAMS: CAPACITANCE= 100.0000E-15.

Передаваемая в модель подсхемы, как параметр, величина входной емкости цифрового элемента совпадает с величиной параметра INLD, заданной в модели входа/выхода цифрового элемента.

Приведенной форме вызова подсхемы должен соответствовать заголовок ее модели:

.SUBCKT <имя модели подсхемы> <аналоговый узел>

+<цифровой узел> <узел питания+> <узел питания->

+PARAMS: CAPACITANCE=<значение по умолчанию>

Простейшая модель подсхемы А/Ц интерфейса с бесконечным входным сопротивлением может состоять только из одного интерфейсного элемента и описания его модели:

.SUBCKT AtoD A D UP UM PARAMS: CAPACITANCE=1e-15 O1 A UM AD1 DGTLNET=D IO

.MODEL AD1 DOUTPUT (CLOAD={CAPACITANCE}, S0NAME=0

58

2. Моделирование аналого-цифровых схем

+ S0VLO=-10 S0VHI=0.5 S1NAME=1 S1VLO=0.5 S1VHI=10)

.ENDS AtoD

В этом примере модель интерфейсного элемента описана внутри модели подсхемы и значение емкости передается в нее в качестве параметра. Модель интерфейсного элемента может быть вынесена из описания модели подсхемы и использоваться для нескольких разных типов подсхем. Тогда возможны два варианта описания емкости. В первом варианте в модели должно быть указано конкретное значение емкости CLOAD и оно будет одинаковым для всех цифровых элементов, использующих соответствующие подсхемы интерфейсов. При этом емкости, указанные параметром INLD в моделях входа/выхода цифровых элементов будут игнорироваться. Во втором варианте CLOAD вообще не указывается (тогда по умолчанию CLOAD=0), а в модели подсхем интерфейсов емкости вводятся в качестве отдельных элементов:

.SUBCKT AtoD A D UP UM PARAMS: CAPACITANCE=1e-15 O1 A UM AD1 DGTLNET=D IO

C1 A UM ={CAPACITANCE+0.01pF}

.ENDS AtoD

Величина 0.01 пФ прибавляется к емкости, чтобы она не оказалась равной нулю (что запрещено в PSpice) в случае, если в модели подсхемы будет передано CAPACITANCE=0.

В приведенных примерах входное активное сопротивление интерфейса считалось бесконечно большим. Это справедливо для цифровых элементов на МДП транзисторах. Для схем на ЭСЛ или ТТЛ элементах необходимо учитывать входное сопротивление. Для ЭСЛ элементов во многих случаях можно считать его постоянным и ввести или в модель интерфейсного элемента как параметр RLOAD с фиксированным значением, или добавить как отдельный элемент в подсхему. Для ТТЛ элемента такое приближение слишком грубое, так как реальная ВАХ (рис. 2.5а) существенно нелинейна и при нулевом входном напряжении протекает значительный ток смещения. Поэтому для повышения точности моделирования можно использовать эквивалентную схему интерфейса, представленную на рис. 2.5б. Ниже приведена модель подсхемы интерфейса, построенная по этой схеме и включенная в стандартные библиотеки Pspice.

.SUBCKT AtoD_STD_E A D DPWR DGND

+params: CAPACITANCE=0

 

 

 

 

2.3. Аналого-цифровые интерфейсы

59

O0

A

DGND DO74 DGTLNET=D IO

 

C1

A

DGND {CAPACITANCE+0.1pF}

 

D0

DGND A

D74CLMP

 

D1

1

2

D74

 

D2

2

DGND D74

 

R1 DPWR 3

4k

 

Q1

1

3

A

0 Q74

 

.ENDS

 

 

 

 

Диод D0 описывает охранный диод элемента, обусловливающий резкое нарастание тока при отрицательных входных напряжениях (левая часть ВАХ на рис. 2.5а). А резистор R1, транзистор Q1 и диоды D1, D2 воспроизводят входной каскад реального элемента. В интерфейсе использована модель DO74, описанная в предыдущем п. 2.3, и следующие модели диодов и транзистора:

.model D74 D (IS=1e-16 RS=25 CJO=2pF)

.model D74CLMP D (IS=1e-15 RS=2 CJO=2pF)

.model Q74 NPN (IS=1e-16 ISC=4e-16 BF=49 BR=0.03 CJE=1pF

+CJC=5pF CJS=3pF VJE=0.9 VJC=0.8 VJS=0.7 MJE=0.5

+MJC=0.33 MJS=0.33 TF=0.2ns TR=10ns RB=50 RC=20)

б)

а)

60

2. Моделирование аналого-цифровых схем

Рис.2.5. Входная ВАХ ТТЛ элемента (а) и модель его интерфейса (б)

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

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

2.4.ЦИФРО-АНАЛОГОВЫЕ ИНТЕРФЕЙСЫ

2.4.1.ИНТЕРФЕЙСНЫЙ ЭЛЕМЕНТ

Основой построения подсхем Ц/А интерфейсов является элемент типа N - цифро-аналоговый интерфейсный элемент. Рассмотрим сначала Ц/А интерфейс, передающий сигнал с выхода цифрового элемента PSpice. Такие интерфейсы используются при параллельном смешанном моделировании. В этом случае оператор, описывающий интерфейс, имеет вид

N<имя> <интерфейсный узел>

+<узел низкого уровня> <узел высокого уровня>

+<имя модели>

+DGTLNET = <цифровой узел> <имя модели входа/выхода>

+[ IS = <начальное состояние>]

Цифро-аналоговый интерфейс транслирует логические сигналы заданного цифрового узла в источник соответствующих уровней напряжения с заданными выходными сопротивлениями и емкостями, подключенный к аналоговому узлу <интерфейсный узел>. Указанный в операторе цифровой узел не должен непосредственно соединяться с каким-либо аналоговым элементом, поскольку в противном случае PSpice автоматически вставит элемент N между цифровым выходом (изменив его имя) и аналоговым узлом.

Модель Ц/А интерфейса имеет тип DINPUT и задается оператором вида

.MODEL <имя модели> DINPUT [<параметры модели>]

 

 

 

2.4. Цифро-аналоговые интерфейсы

61

Параметры модели представлены в

 

 

табл. 2.2.

Эквивалентная

схема

 

 

интерфейсного элемента приведена на

 

 

рис. 2.6. Она включает в себя два

 

 

изменяющихся во времени сопротив-

 

 

ления RHI и RL0, подсоединенных

 

 

между интерфейсным узлом (т.е.

 

 

узлом аналоговой части схемы) и

 

 

узлами, к

которым

подключены

Рис. 2.6 Эквивалентная схема Ц/А

 

внешние

источники

постоянных

 

интерфейсного элемента

 

напряжений

высокого

и

низкого

 

 

 

уровня Vhi и Vlo. Cопротивления

зашунтированы соответственно емкостями CHI и CL0. При изменении цифрового сигнала сопротивления RHI и RL0 изменяются в течение времени переключения по экспоненте от своего предыдущего значения до нового, определяемого пришедшим сигналом. Это вызывает изменение сигнала в интерфейсном узле. В качестве параметров модели для некоторого логического состояния i

62

2. Моделирование аналого-цифровых схем

задаются время включения (длительность фронта) SiTSW и значения сопротивлений SiRLO и SiRHI. Следует отметить, что фронты в Ц/А интерфейсе вносят некоторую путаницу в понятие задержки распространения сигнала. Поскольку задержка распространения измеряется по уровню 0,5 от

Таблица 2.2

ПАРАМЕТРЫ МОДЕЛИ Ц/А ИНТЕРФЕЙСА

Имя

Параметр

Размер-

Умолчание

 

 

ность

 

CLO

емкость узла низкого уровня

Ф

0

CHI

емкость узла высокого уровня

Ф

0

S0NAME

символ состояния 0

-

-

S0TSW

задержка включения состояния 0

с

-

S0RLO

сопротивление узла низкого уровня в

Ом

-

 

состоянии 0

 

 

S0RHI

сопротивление узла высокого уровня

Ом

-

 

в состоянии 0

 

 

S1NAME

символ состояния 1

-

-

S1TSW

задержка включения состояния 1

с

-

S1RLO

сопротивление узла низкого уровня в

Ом

-

 

состоянии 1

 

 

S1RHI

сопротивление узла высокого уровня

Ом

-

 

в состоянии 1

 

 

S2NAME

символ состояния 2

-

-

S2TSW

задержка включения состояния 2

с

-

S2RLO

сопротивление узла низкого уровня в

Ом

-

 

состоянии 2

 

 

S2RHI

сопротивление узла высокого уровня

Ом

-

 

в состоянии 2

 

 

...

...

 

 

S19NAME

символ состояния 19

-

-

S19TSW

задержка включения состояния 19

с

-

S19RLO

сопротивление узла низкого уровня в

Ом

-

 

состоянии 19

 

 

S19RHI

сопротивление узла высокого уровня

Ом

-

 

в состоянии 19

 

 

FILE

входной файл

-

-

 

(только для чтения из файла)

 

 

FORMAT

формат входного файла

-

1

 

(только для чтения из файла)

 

 

TIMESTEP

шаг по времени входного файла

с

10-9

 

(только для чтения из файла)

 

 

2.4. Цифро-аналоговые интерфейсы

63

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

Выбирая соответствующие источники напряжения в узлах высокого и низкого уровней и значения резисторов, можно промоделировать в интерфейсном узле уровня и сопротивления SiRLO, SiRHI, можно обеспечить требуемые уровни логических сигналов при требуемых импедансах. Выходное сопротивление при некотором логическом состоянии i равно параллельному включению сопротивлений SiRLO и SiRHI, а уровень выходного сигнала Ui определяется делителем из этих сопротивлений:

Ui = Vlo + ( Vhi - Vlo ) SiRLO / ( SiRLO + SiRHI ).

Таким образом, если известно, что для какого-то состояния надо обеспечить выходное сопротивление Rвых и уровень выходного напряжения Vlo+Uвых при заданных значениях Vlo и Vhi, то требуемые значения сопротивлений RLO и RHI можно найти из соотнгошений:

RHI=Rвых (Vhi-Vlo)/Uвых , RLO=Rвых (Vhi-Vlo)/(Vhi-Vlo-Uвых).

Логические сигналы в цифровых элементах могут принимать значения "0", "1", "X", "Z" в PSpice 4 и кроме этого значения “R” и “F” в PSpice 5.

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

Начальное состояние цифрового выхода определяется автоматически при расчете рабочей точки. В тех случаях, когда этот расчет не проводится (например при расчете схем генераторов - см. работу [1]), надо задавать начальное состояние выхода, вводя в оператор описания элемента N параметр IS = <начальное состояние>.

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

N1 ANALOG DIG_GND DIG_PWR DM1 DGTLNET=DIG IO

.MODEL DM1 DINPUT (CL0=5pf CHI=2pf

+ S0NAME=0 S0TSW=3.5ns S0RLO=7.13 S0RHI=389; 7 Ом 0.09 В

64

2. Моделирование аналого-цифровых схем

+S1NAME=1 S1TSW=5.5ns S1RLO= 467 S1RHI=200; 140 Ом 3.5 В

+S2NAME=X S2TSW=3.5ns S2RLO=42.9 S2RHI=116; 31.3 Ом 1.35 В

+S3NAME=Z S3TSW=3.5ns S3RLO=200K S3RHI=200K)

Данный пример описывает интерфейсный элемент N1, подключенный между цифровым выходом с именем DIG и аналоговым узлом с именем ANALOG. Узлы подключения источников напряжений, определяющих уровни аналоговых сигналов - DIG_GND и DIG_PWR. Цифровой выход DIG использует модель входа/выхода IO. Параметры интерфейсного элемента N1 задаются моделью с именем DM1. В комментариях к строкам описания различных состояний приведены выходные сопротивления интерфейсного элемента и уровни напряжений при условии, что потенциал узла

DIG_GND=0, а потенциал DIG_PWR=5 В.

Теперь рассмотрим Ц/А интерфейс, передающий сигнал из входного файла. Этот текстовый файл может создаваться вручную или любой внешней программой логического моделирования. Возможные форматы файлов приведены в работе [2]. Оператор, описывающий интерфейс, имеет вид

N<имя> <интерфейсный узел> <узел низкого уровня>

+<узел высокого уровня> <имя модели>

+[ SIGNAME = <имя цифрового сигнала>]

+[ IS = <начальное состояние>]

Параметр SIGNAME = <имя цифрового сигнала> определяет имя сигнала во входном файле. Если этот параметр не задан, то в качестве имени логического сигнала будут приняты символы, следующие за символом "N" в имени элемента. Например, оператор

N7 7 0 30 FROM_CMOS SIGNAME=A

описывает интерфейс, воспринимающий из входного файла сигнал с именем A, а оператор

NA1 1 20 21 DM2 IS=0

описывает интерфейс, воспринимающий из входного файла сигнал с именем A1 (символы, следующие в имени интерфейса за символом “N”). При этом задано начальное значение этого сигнала - “0”.

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

2.4. Цифро-аналоговые интерфейсы

65

Параметры модели интерфейса FILE и FORMAT задают имя и формат файла, из которого при моделировании читаются входные логические сигналы. В задании на расчет может быть описано сколько угодно моделей цифроаналоговых интерфейсов, которые могут ссылаться на одни и те же или разные файлы. При ссылках на один файл из разных моделей эти ссылки должны быть идентичны. Например, нельзя в одной модели сослаться на некоторый файл как на C:TEST.DAT, а в другой сослаться на тот же файл как на TEST.DAT, даже если диск C: является текущим диском. Иначе при моделировании могут получиться непредсказуемые результаты.

Параметр модели TIMESTEP задает цену в секундах внутреннего временного шага программы, осуществляющей цифровое моделирование. Например, при принятом по умолчанию значении TIMESTEP, равном 10-9, шаг логического моделирования соответствует одной наносекунде.

2.4.2. ПОДСХЕМЫ ЦИФРО-АНАЛОГОВЫХ ИНТЕРФЕЙСОВ

Если смешанное моделирование ведется с ручной расстановкой интерфейсов или с обращением к внешней моделирующей программе, то оформление Ц/А интерфейса в виде подсхемы не обязательно. Если при этом модель интерфейсной подсхемы вводится, чтобы не повторять ее описание столько раз, сколько интерфейсов имеется в схеме, то при этом к ней не предъявляется каких-либо специальных требований. Если же применяется автоматическая генерация интерфейсов, то интерфейсы обязательно должны представлять собой подсхему. Имена этих подсхем указываются в соответствующих моделях входа/выхода, на которые дается ссылка при описаниях цифровых элементов. Обращение к моделям подсхемам задается программой автоматически в процессе генерации А/Ц интерфейсов и имеет вид

<имя подсхемы> <цифровой узел> <интерфейсный узел>

+<узел высокого уровня> <узел низкого уровня>

+<имя модели подсхемы> PARAMS:

+DRVH=<величина> DRVL=<величина>

+CAPACITANCE=<величина>.

Например (см. фрагмент выходного файла автоматической генерации интерфейсов в п. 2.2):

X$OUT_DA1 OUT$DtoA out $G_DPWR $G_DGND DA1

+ PARAMS: DRVH= 96.4 DRVL= 104 CAPACITANCE= 500.0000E-15

66

2. Моделирование аналого-цифровых схем

Передаваемые в модель подсхемы как параметры величины выходной емкости CAPACITANCE и выходных сопротивлений DRVH и DRVL высокого и низкого уровней цифрового элемента совпадают с величинами параметров OUTLD, DRVH и DRVL, заданными в модели входа/выхода цифрового элемента.

Приведенной форме вызова подсхемы должен соответствовать заголовок ее модели:

.SUBCKT <имя модели подсхемы>

+<цифровой узел> <интерфейсный узел>

+<узел высокого уровня> <узел низкого уровня>

+PARAMS: DRVH=<значение по умолчанию>

+DRVL=<значение по умолчанию>

+CAPACITANCE=<значение по умолчанию>

Простейшая модель подсхемы Ц/А интерфейса может состоять только из одного интерфейсного элемента и описания его модели:

.SUBCKT DtoA D A UP UM

+PARAMS: DRVH= 100 DRVL= 100 CAPACITANCE=1e-15 N1 A UM UP DIN DGTLNET=D IO

.model DIN dinput (

+CLO={CAPACITANCE}, CHI={CAPACITANCE},

+ S0NAME=0 S0TSW=3.5ns S0RLO=7.13 S0RHI=389; Ом 0.09 В

+S1NAME=1 S1TSW=5.5ns S1RLO= 467 S1RHI=200; 40 Ом 3.5 В

+S2NAME=X S2TSW=3.5ns S2RLO=42.9 S2RHI=116; 31.3 Ом 1.35 В

+S3NAME=Z S3TSW=3.5ns S3RLO=200K S3RHI=200K)

.ENDS AtoD

В этом примере модель интерфейсного элемента описана внутри модели подсхемы и значение емкости передается в нее в качестве параметров. Значения параметров DRVH и DRVL, передаваемые в подсхему при ее стандартном вызове, игнорируются. Если задавать напряжения высокого и низкого уровней UPI и UMI, питающие интерфейсный элемент, отличными от UP и UM, и задаться, например, постоянным отношением сопротивлений S0RHI/S0RLO=S1RLO/S1RHI=K, то в модели интерфейсного элемента можно учесть и параметры DRVH и DRVL. Обозначив выходные напряжения состояний “1” и “0” при холостом ходе на выходе через U1 и U2, можно получить выражения для выбора параметров:

 

 

 

 

 

2.4. Цифро-аналоговые интерфейсы

67

S0RLO = DRVL

1 + K

; S0RHI = DRVL (1 + K );

 

 

 

 

 

 

 

K

 

 

1 + K

 

 

S1RLO = DRVH (1 + K ); S1RHI = DRVH

;

 

K

 

S2RLO = S2RHI = DRVH + DRVL;

 

 

 

 

 

UP1 =

K U1 − U0

; UM1 =

K U0 − U1

.

 

 

 

 

 

 

 

 

 

K −1

K −1

 

 

 

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

Приведенные выражения можно заложить в описание элементов интерфейсной подсхемы. Например, при K=2, U1=3,5 В, U0=0,09 В подсхема может иметь вид

.SUBCKT DtoA D A UP UM

+

PARAMS: DRVH= 100 DRVL= 100 CAPACITANCE=1e-15

N1 A UM1 UP1 DIN DGTLNET=D IO

VP1

UP1 0

6.91 ; 2U1-U0

VM1

UM1 0

-3,32 ; 2U0-U1

.model DIN dinput (

+CLO={CAPACITANCE}, CHI={CAPACITANCE},

+S0NAME=0 S0TSW=3.5ns S0RLO={1.5*DRVL} S0RHI={3*DRVL}

+S1NAME=1 S1TSW=5.5ns S1RLO={3*DRVH} S1RHI={1.5*DRVH}

+S2NAME=X S2TSW=3.5ns S2RLO={DRVL+DRVH}

+S2RHI={DRVL+DRVH}

+S3NAME=Z S3TSW=3.5ns S3RLO=200K S3RHI=200K)

.ENDS AtoD

Возможны, конечно, и другие варианты подсхем Ц/А интерфейсов. В частности, так же как и для А/Ц интерфейсных подсхем, можно емкость указывать не в модели, а в виде отдельного элемента, можно включить в подсхему обращение к подсхеме питания DIGIFPWR, можно описать нелинейные выходные ВАХ.

2.5. ЦИФРО-АНАЛОГОВЫЕ И АНАЛОГО-ЦИФРОВЫЕ ПРЕОБРАЗОВАТЕЛИ

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

Оператор, описывающий аналого-цифровой преобразователь (АЦП),

имеет вид

U<имя> ADC(<число разрядов>) <список узлов>

+<модель задержек> <модель входа/выхода>

+<узел сигнала разрешения> <узел запуска>

+[MNTYMXDLY=<уровень>] [IO_LEVEL=<уровень>],

где <список узлов> для PSpice 4:

<входной узел ><опорный узел> <земля>

3.1. Запуск PROBE на счет

69

+<узел сигнала переполнения> <узел старшего разряда> ...

+<узел младшего разряда>

для PSpice 5:

<узел питания +> <узел питания -> <входной узел>

+<опорный узел> <земля> <узел сигнала разрешения>

+<узел запуска> <узел сигнала переполнения>

+<узел старшего разряда> ... <узел младшего разряда>

Форма описания модели задержек:

.MODEL <имя модели> UADC [<(параметры модели)>]

Входной аналоговый сигнал Uвх подается между узлами <входной узел> и <земля>. Входное сопротивление между этими узлами равно 1/GMIN, где GMIN определяется оператором .OPTIONS. По умолчанию GMIN=10-12.

Между узлами <опорный узел> и <земля> подается опорное напряжение Uоп, определяющее диапазон преобразования. Выходной сигнал АЦП равен ближайшему целому от величины

Uвх 2M ,

Uоп

где M - разрядность АЦП. Если эта величина больше, чем 2M-1, то все разряды выходных данных и сигнал переполнения равны “1”. Если Uвх и Uоп не совпадают по знаку, то все разряды выходных данных равны “0”, а сигнал переполнения равен “1”.

Рис. 2.7. Диаграммы сигналов АЦП

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

70

3. Построцессор PROBE и редактор сигналов STMED

промежуточного неопределенного состояния. Импульс запуска должен поступать через время задержки Tpcs после импульса разрешения и длиться в течение времени Tpds после окончания преобразования. Интервалы времени Tpsd, Tpcs, Tpds задаются как параметры модели задержек.

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

N1 ADC(4) UP UM SIG REF 0 CONV START OVRNG OUT3 OUT2 OUT1

+OUT0 ADCMDL IO

В примере описан элемент N1, являющийся четырехразрядным АЦП. SIG - аналоговый входной сигнал АЦП. Цифровым выходом являются сигналы OUT3 OUT2 OUT1 OUT0, из которых OUT3 соответствует старшему разряду, а OUT0 - младшему. На аналоговый узел REF подается опорное напряжение. Логические сигналы разрешения и запуска преобразования подаются на цифровые входы CONV и START. Выходной сигнал переполнения появляется на цифровом выходе OVRNG.

Оператор, описывающий цифро-аналоговый преобразователь (ЦАП),

имеет вид

U<имя> DAC(<число разрядов>) <список узлов>

+<модель задержек> <модель входа/выхода>

+[MNTYMXDLY=<уровень>] [IO_LEVEL=<уровень>] ,

где <список узлов> для PSpice 4:

<выходной узел > <опорный узел> <земля>

+<узел старшего разряда> ... <узел младшего разряда>

для PSpice 5:

<узел питания +> <узел питания -> <выходной узел>

+<опорный узел> <земля>

+<узел старшего разряда> ... <узел младшего разряда>

Оператор описания модели задержек:

.MODEL <имя модели> UDAC [<(параметры модели)>]

Модель ЦАП преобразует логические сигналы на входах разрядов в сигнал

аналогового напряжения Uвых между узлами <выходной узел > и <земля>. Выходное сопротивление равно нулю. Между узлами <опорный узел> и <земля> должно подключаться опорное напряжение Uоп, определяющее масштаб преобразования. Входное сопротивление модели между этими узлами равно 1/GMIN, где GMIN определяется оператором .OPTIONS. По

умолчанию GMIN=10-12.

Выходной сигнал Uвых равен Uоп (двоичный входной сигнал)/2M . Если какие-нибудь разряды входных сигналов имеют неопределенное состояние

“X”, то выходной сигнал равен среднему между значением Uвых в случае,

3.1. Запуск PROBE на счет

71

если все “X” заменить на “1”, и значением Uвых в случае, если все “X” заменить на “0”.

Переходный процесс на выходе представляет собой линейно изменяющееся во времени напряжение в течение заданной задержки переключения Tsw, являющейся параметром модели задержек. Переключение начинается в момент изменения входных сигналов.

Пример описания ЦАП:

N1 DAC(4) UP UM SIG REF 0 IN3 IN2 IN1 IN0 DACMDL IO_STD

Пример описывает четырехразрядный ЦАП, преобразующий логические сигналы цифровых входов IN3, IN2, IN1, IN0 в напряжение аналогового выхода SIG. Опорное напряжение должно быть подано на аналоговый узел

REF.

3. Г Р А Ф И Ч Е С К И Й П О С Т П Р О Ц Е С С О Р

P R O B E И Г Р А Ф И Ч Е С К И Й Р Е Д А К Т О Р В Х О Д Н Ы Х С И Г Н А Л О В S T M E D

3.1. ЗАПУСК PROBE НА СЧЕТ

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

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

Имя файла .DAT, формируемого при расчете, в PSpice 4 по умолчанию PROBE.DAT (оно может быть изменено соответствующим обращением к PSpice, см. работу [1]). В PSpice 5 и последующих версиях программы имя файла .DAT по умолчанию совпадает с именем исходного файла описания схемы.

Файл .DAT может содержать информацию о результатах расчета одной или нескольких схем, но обычно он относится к одной схеме. Файл в общем случае состоит из нескольких секций, соответствующих различным

72

3. Построцессор PROBE и редактор сигналов STMED

видам анализа: DC, AC, TRAN и т.д. Может быть также и несколько секций, относящихся к одному виду анализа, но к разным вариантам схемы. Это получается при расчете с использованием многовариантных видов анализа: .STEP, .TEMP, .MC, .WCASE и др. Кроме того, некоторые секции могут содержать семейства кривых. Например, семейство кривых в секции получается при использовании двухуровневого оператора .DC (т.е. оператора, изменяющего два параметра схемы).

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

В каждой версии PSpice и Design Center имеется свой постпроцессор PROBE. Постпроцессоры разных версий несовместимы друг с другом: каждый из них может работать только с файлом .DAT, подготовленным программой PSpice той же версии. Работа с PROBE существенно различается в зависимости от того, предназначена ли данная версия для работы в MS DOS (PSpice 4, PSpice 5, Design Center 5 для MS DOS), или в Windows (Design Center 5 и Design Center 6

для Windows). Однако основные приемы работы и основные команды являются общими для всех версий.

Запуск графического постпроцессора PROBE осуществляется командой

PROBE [<опции>][<имя файла>[.DAT]].

Работа с текстовой формой файла рассматриваться не будет, так как она используется крайне редко.

Если файл не указан, то по умолчанию в PROBE 4 предполагается файл PROBE.DAT, а в PROBE 5 для MS DOS предполагается файл, с которым в последний раз работал PROBE. В Design Center для Windows имя файла можно не указывать, а ввести в режиме диалога, пользуясь командой меню

FILE/OPEN.

Опции могут быть следующие:

/C <имя файла>

- задает командный файл .CMD;

/D <имя файла>

-

задает имя и путь к файлу .DEV, если он имеет

 

 

нестандартное имя или расположен в

 

 

директории, путь к которой не установлен;

/L <имя файла>

- задает генерацию логического файла .LOG ;

/M [<имя файла>]

-

задает файл .MAC с макросами; по умолчанию

 

 

его имя PROBE.MAC;

/S [<имя файла>]

-

задает имя файла .DSP, содержащего спасенные

 

 

ранее параметры экрана; по умолчанию имя

 

 

этого файла - PROBE.DSP;

 

3.1. Запуск PROBE на счет

73

/G [<имя файла>]

- задает имя файла .GF с описанием

целевой

 

функции для обработки графика (только начиная

 

с PSpice 5).

 

Имя файла может отделяться от опции пробелом или записываться без пробела.

Примеры команд:

PROBE

PROBE F1.DAT

PROBE /D C:\PSpice\PROBE.DEV /L F1.CMD F1.DAT

Если работа проводится с PROBE 4 и указанный в команде запуска файл

.DAT или PROBE.DAT не обнаружены, то программа выведет на экран сообщение:

Unable to read from the data file '...'

(Невозможно прочесть из файла “...”)

Either:

(Или)

1) the file-name is misspelled,

(ошибочное имя файла)

2) the file doesn't exist, or

(файл не существует)

3) is in a different directory.

(файл в другой директории)

После этого сообщения программа закончит работу.

Если используется PROBE 5 для MS DOS, то при отсутствии требуемого файла на экран будет выведено приведенное выше сообщение, после которого будет указано:

Try again.

(Попытайтесь снова)

 

 

 

 

You may use <enter> alone to exit PROBE

(Используйте

<enter>, чтобы

 

покинуть PROBE)

 

Data file name [.DAT/.TXT]?

(Имя файла [.DAT/.TXT]?)

В ответ можно нажать клавишу ENTER и завершить работу программы, или ввести правильное имя файла.

При работе с Design Center для Windows при неверном имени файла появится сообщение: Unable to open ... , после чего можно открыть нужный файл, воспользовавшись разделом меню FILE.

3 Постпроцессор PROBE и редактор сигналов STMED

3.2. ОБОЗНАЧЕНИЯ ПЕРЕМЕННЫХ И МАТЕМАТИЧЕСКИЕ ФУНКЦИИ PROBE

В PROBE используется та же система размерностей, что и в PSpice. Отличие в масштабных суффиксах только следующее: используется символ m нижнего регистра для обозначения 10-3 и M верхнего регистра для обозначения 106. Суффиксы MEG и MIL не используются.

При обработке результатов расчета по постоянному току или переходных процессов можно использовать в постпроцессоре PROBE обозначения переменных, приведенные в табл. 3.1.

Форма I(<имя>) применима к двухполюсным элементам C, D, I, L, R, V. Формы Vx(<имя>) и Ix(<имя>) применимы к трех- и четырехполюсным элементам, для которых 'x' в зависимости от вида элемента может принимать

следующие значения:

биполярный транзистор Q:

C - коллектор, B - база, E - эмиттер, S -

 

подложка;

МДП-транзистор M:

D - сток, G - затвор, S - исток, B -

 

подложка;

полевые транзисторы J и B:

D - сток, G - затвор, S - исток.

Формы Vx(<имя>) и Ix(<имя>) можно применять и к двухполюсным элементам. В этих случаях "x" - номер полюса в описании элемента. Например, V1(R1) - напряжение первого полюса резистора R1. Соответственно V1(R1)-V2(R1) означает падение напряжения на R1.

Формы Vz(<имя>) и Iz(<имя>) применимы к длинной линии и 'z' может принимать одно из двух значений: A или B. A означает выводы A (первая пара узлов), а B - выводы B (вторая пара узлов).

В формах V(<узел>) и V(<узел+>,<узел->), если имя узла символьное, начинается не с цифры и совпадает с именем какого-нибудь компонента, то оно заключается в квадратные скобки.

Формы B(<имя K-элемента>) и H(<имя K-элемента>) описывают магнитную индукцию (в гауссах) и напряженность магнитного поля (в эрстедах) магнитного сердечника.

Не все токи могут фигурировать в качестве выходных величин. Нельзя непосредственно обращаться к токам элементов F и G - зависимых источников тока. Если все же эти токи требуются, надо включить последовательно в интересующую цепь источник нулевого напряжения и обращаться к току этого источника.

3.2. Обозначения переменных и математические функции PROBE

75

Формат <счисление>(<имена>) описывает в PROBE 4 шину, состоящую из перечисленных в списке имен цифровых сигналов (до 32 сигналов). Параметр <счисление> указывает форму представления результатов и может принимать значения: BIN - двоичная, OCT - восьмеричная, DEC - десятичная, HEX - шестнадцатеричная. Начиная с PROBE 5 для шин используется формат {<цифровые узлы>}. При описании шин имена сигналов перечисляются начиная со старшего разряда. Например, в шине {A3 A2 A1 A0} сигнал A0 - младший разряд, а A3 - старший.

Таблица 3.1

Обозначения переменных при расчетах по постоянному току и переходных процессов

Форма

Переменная

Пример

Пояснение примера

V(<узел>)

напряжение в узле

V(5)

потенциал узла 3

V(<узел+>,<узел->)

разность потенци-

V(5,6)

разность

 

алов узла+ и узла-

 

потенциалов узлов 5

 

 

 

и 6

Vx(<имя>)

напряжение на

VB(Q1)

напряжение базы

 

выводе 'x' элемента

 

транзистора Q1

Vz(<имя>)

напряжение на кон-

VA(T1)

напряжение на

 

це длинной линии

 

выводах A линии T1

I(<имя>)

ток двухполюсника

I(D1)

ток диода D1

Ix(<имя>)

ток, втекающий в

IB(Q1)

ток базы транзистора

 

вывод элемента

 

Q1

Iz(<имя>)

ток на конце длинной

IA(T1)

ток на выводах A

 

линии

 

линии T1

B(<имя K-элемента>)

магнитная индукция

B(K1)

индукция в K1 в

 

 

 

гауссах

H(<имя K-элемента>)

напряженность

H(K1)

напряженность поля

 

магнитного поля

 

в K1 в эрстедах

D(<имя>)

цифровой сигнал

D(DA)

сигнал цифрового

 

цифрового узла

 

узла DA

<счисление>(<имена>)4)

шина цифровых

BIN(Q2 Q1)

Q1 - младший разряд

 

сигналов

 

A1 - младший разряд

{<цифровые узлы>}5)

шина цифровых

{A3 A2 A1}

 

сигналов

 

-

TIME

время

-

<переменная DC>

переменная,

V1

напряжение

 

варьируемая в

 

источника V1,

 

режиме DC

 

являющегося

 

 

 

переменной режима

 

 

 

DC

4) в PROBE 4 5) начиная

с PROBE 5

 

 

76

3. Построцессор PROBE и редактор сигналов STMED

Для обозначения переменной, относящейся к внутреннему узлу или элементу подсхемы, перед узлом или элементом указывается имя подсхемы (или цепочка имен, если подсхемы вложенные), завершающееся символом ".". Например, V(X1.3) - напряжение узла 3 подсхемы X1; или V(XEXT2.XINT1.R3) - напряжение резистора R3 подсхемы XINT1, входящей в подсхему XEXT2.

Если идет работа с несколькими секциями файла .DAT (например, с несколькими вариантами многовариантного анализа), то все указанные выше обозначения означают переменные сразу всех секций (вариантов). Соответственно, если речь идет о выводе кривой на график, будет сразу выведено семейство кривых. Если же надо указать переменную конкретного варианта, то после ее имени надо ввести символ "@" и номер варианта. Например, V(4)@2 означает напряжение узла 4 второго варианта.

 

 

 

Таблица 3.2

 

Суффиксы, применяемые при AC анализе

 

 

 

 

Суффикс

Значение

Пример

Пояснение примера

суффикс

модуль

V(2,3)

модуль разности потенциалов

отсутствует

 

 

узлов 2 и 3

M

модуль

VM(2)

модуль напряжения узла 2

DB

модуль в децибеллах

VDB(R1)

модуль напряжения на резисторе

 

 

 

R1 в децибеллах

P

фаза

VBEP(Q1)

фаза напряжения база-эмиттер

 

 

 

транзистора Q1

G

групповая задержка

IAG(T1)

ток выводов A линии T1

 

d(фаза)/d(частота)

 

 

R

действительная часть

IBR(Q1)

действительная часть базового тока

 

 

 

транзистора Q1

I

мнимая часть

II(R1)

мнимая часть тока резистора R1

При работе в PROBE с результатами AC анализа используются те же обозначения переменных, что и для расчета по постоянному току и для расчета переходных процессов. Однако к этим обозначениям добавляются суффиксы, отражающие тот факт, что в данном случае все переменные - комплексные. Эти суффиксы приведены в табл. 3.2. Кроме того, помимо обычных выходных переменных в арифметических выражениях может указываться частота FREQUENCY.

При анализе шумов можно использовать обозначения:

V(INOISE) - корень из спектральной плотности эквивалентного шума на входе;

V(ONOISE) - корень из спектральной плотности шума на выходе.

3.2. Обозначения переменных и математические функции PROBE

77

Работая с PROBE можно наряду с переменными использовать и математические выражения при задании кривых на графиках, выборе аргумента графика и в ряде других случаев. Математические выражения для аналоговых переменных могут содержать переменные, константы, арифметические операции "+", "-", "*", "/", скобки, функции, вводимые пользователем в виде макросов и встроенные функции:

ABS(X)

|X|

SGN(X)

+1 при X>0, 0 при X=0, -1 при X<0

SQRT(X)

X

EXP(X)

eX

LOG(X)

ln(X) - натуральный логарифм

LOG10(X)

log(X) - десятичный логарифм

DB(X)

20 log(|X|) перевод в децибеллы

M(X) 5)

модуль комплексной переменной

P(X) 5)

фаза комплексной переменной

R(X) 5)

действительная часть комплексной переменной

IMG(X) 5)

мнимая часть комплексной переменной

G(X) 5)

групповое время запаздывания комплексной переменной в секундах

PWR(X,Y)

|X|Y

SIN(X)

sin(X), X в радианах

COS(X)

COS(X)

TAN(X)

tg(X), X в радианах

ATAN(X)

arctg(X) результат в радианах

ARCTAN(X

arctg(X) результат в радианах

)

 

d(Y)

приращение Y при единичном приращении аргумента X (аналог

 

дифференциала)

S(Y)

интеграл Y по аргументу X

AVG(Y)

текущее среднее значение Y по X

RMS(Y)

текущее среднее геометрическое значение Y по X

MIN(Y)

минимальное значение Y в диапазоне изменения X

MAX(Y)

максимальное значение Y в диапазоне изменения X

5) - в PSpice 5

Для дифференциалов и интегралов простых переменных (не выражений) можно использовать как форму записи с круглыми скобками, так и без них. Например, выражения d(V(4)) и dV(4), s(IC(Q1)) и sIC(Q1) эквивалентны.

Если на экране уже построен график некоторого выражения, то на это выражение можно сослаться в последующих выражениях, введя номер кривой с предшествующим ему символом "#". Например, если уже построено две каких-то кривых, то можно при построении следующей кривой записать

78

3. Построцессор PROBE и редактор сигналов STMED

(#1 + #2)/2 или #1 - #2 и будут построены соответственно кривая среднего значения или разности двух предыдущих.

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

{} - объединение сигналов в шину;

~- логическое отрицание;

* и / - умножение и деление сигналов шин; + и - - сложение и вычитание сигналов шин;

&- логическое И;

^- логическое исключающее ИЛИ;

| - логическое ИЛИ.

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

В операциях с цифровыми сигналами можно использовать константы `0, `1, `F, `R, `X, `Z - значения сигналов. Кроме того, можно использовать многоразрядные константы, записываемые в формате r`<цифры>. Символ r определяет систему счисления: b - двоичная, o - восьмеричная, d - десятичная, h или x - шестнадцатеричная. Например, десятичное число 11 можно записать в следующих формах: b`1011, o`13, h`B, d`11.

Приведем некоторые примеры применения математических выражений. Если при анализе результатов DC анализа записать dIC(Q1)/dIB(Q1), то будет построен график дифференциального коэффициента передачи базового

тока транзистора Q1.

Если желательно построить характеристику некоторой переменной, например, V(4), отнормировав ее на максимальное значение, то достаточно записать V(4)/MAX(V(4)).

Если требуется определить размах изменения некоторой переменной,

например, V(4), то можно написать MAX(V(4))-MIN(V(4)).

Если желательно на одном графике получить кривые входного (например, V(1)) и выходного (например, V(2)) напряжений усилителя с коэффициентом усиления 100, то можно задать построение графиков величин V(1)*100 и V(2). Тогда обе кривые на графике будут иметь примерно одинаковый размах (в противном случае входной сигнал не был бы виден на фоне выходного).

3.3. НАЧАЛЬНЫЕ МЕНЮ PROBE

3.3. Начальное менюPROBE

79

Если файл .DAT имеет только одну секцию, то при запуске программы сразу открывается основное меню, позволяющее строить и исследовать графики. Однако если в файле имеются секции, относящиеся к различным видам анализа, то сначала на экране высвечивается небольшое меню,

предлагающее выбрать вид анализа: Dc_sweep, Ac_sweep, Transient_analysis и

т.д. Дело в том, что PROBE 4 и PROBE 5 для MS DOS позволяют одновременно работать только с графиками, относящимися к одному виду анализа, поскольку для всех графиков, построенных на экране задается одна и та же ось аргументов. Для графиков частотного анализа AC по умолчанию аргументом является частота, для графиков переходных процессов - время, для DC анализа - параметр оператора DC. Поэтому и требуется выбирать тот или иной вид анализа. В PROBE для Windows это ограничение снято, но и в этом случае открыть файл можно только для одного вида анализа. Правда, затем можно открыть тот же файл снова в другом окне для другого вида анализа и иметь на экране одновременно графики для разных видов анализа.

Если в файле .DAT имеется несколько секций для выбранного вида анализа, то после того, как выбран вид анализа, PROBE предлагает выбрать требуемые секции. В PROBE для MS DOS при этом появляется список доступных секций, примерный вид которого приведен ниже.

List of analysis sections for DC Sweep.

(Список секций для DC анализа.)

VAC

-60.0 Deg

VAC

- 27.0 Deg

VAC

- 85.0 Deg

В нижней строке экрана высвечивается небольшое меню вида

Exit

All_Dc_sweep

Select_sections

(Выход

Все секции DC

Выбор секции)

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

Если выбрать раздел Select_sections, то на экране появится курсор и перемещая его клавишами , можно выбрать требуемые секции и отметить их нажатием клавиши “Пробел” (начиная с PSpice 5 все эти операции удобнее выполнять манипулятором мышь). Когда выбор закончен, нажимается клавиша “Enter”.

В PROBE для Windows процедура аналогична. Высвечивается список секций и меню, содержащее пункты

80

3. Построцессор PROBE и редактор сигналов STMED

All None OK Cancel

Раздел All обеспечивает выбор всех секций. Если нужны только некоторые секции, то они указываются мышью. Ошибочный выбор можно отменить разделом меню None. После окончания выбора мышью указывается раздел меню OK.

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

Exit First_8000_data_points Last_8000_data_points Other

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

Enter a range: ,

в ответ на который следует ввести желательный диапазон значений аргумента. Если диапазон будет задан ошибочно, например минимальная величина не будет лежать в диапазоне изменений аргумента, то будет сделано замечание

Minimum value is not in the X axis domain. Ensure you enter X axis values

после чего можно повторить ввод диапазона значений аргумента. Если в выбранном диапазоне окажется более 8000 точек, то появится сообщение:

Range contains more than 8000 data points, list truncated

после чего программа перейдет в меню построения графиков, но данные будут усечены (truncated) на допустимом количестве точек.

В Design Center подобные ограничения на число точек в файле сняты.

3.4. ПОСТРОЕНИЕ ГРАФИКОВ В PROBE

После того, как все операции в начальных меню произведены, или если в файле .DAT всего одна секция и начальное меню на экране не возникали, PROBE переходит в основное меню построения графиков. Все разделы этого меню различных версий PROBE для MS DOS и Windows приведены в работе [2]. Поэтому в дальнейшем ограничимся только описанием основных операций при построении и исследовании графиков.

3.4. Построение графиков в PROBE

81

Начнем с работы в MS DOS. Общий вид экрана с одной координатной сеткой представлен на рис. 3.1. В нижней части экрана расположено меню, разделы которого можно выбирать клавишами или с последующим нажатием Enter, манипулятором мышь или нажатием клавиши символа, выделенного в названии соответствующего раздела.

Экран, показанный на рис. 3.1, соответствует PROBE 5. Для PROBE 4 экран выглядит аналогично, но разделов меню меньше и они несколько другие.

В первый момент коодинатная сетка пуста и содержит сведения о доступных переменных. Если в файл .DAT, с которым идет работа, данные занесены оператором .PROBE со списком, то в середине координатной сетки, в которой будет строится график, высвечены имена доступных переменных. Если же файл .DAT формируется оператором .PROBE без списка, то в середине экрана высвечивается текст:

All voltages and currents are available (Доступны все напряжения и токи)

Построение графика начинается с раздела меню Add_trace в MS DOS или Trace/Add в Windows. После входа в этот раздел в MS DOS появляется надпись:

Enter varaibles or expressions

(Введите переменную или выражение)

В ответ на это приглашение необходимо ввести список сигналов, графики которых должны быть построены. При работе с PROBE 5 имеется возможность нажать клавишу F4, после чего в верхней части экрана появится список доступных переменных, из которого имена переменных в рабочую строку можно извлекать с помощью мыши. В PROBE для Windows список доступных переменных появляется автоматически в диалоговом окне. Состав переменных в списке (токи, цифровые сигналы и т.п.) можно менять, задавая в окне диалога соответствующие опции.

82

3. Построцессор PROBE и редактор сигналов STMED

 

 

 

 

Рис. 3.1. Вид экрана в PROBE 5

Часто необходимо строить графики не только отдельных переменных, но и каких-то функций от них. Пусть, например, обрабатываются результаты частотного анализа и требуется построить АЧХ входного сопротивления схемы. Предположим, что входной узел схемы 1 и к нему подключен источник сигнала с внутренним сопротивлением R1. Тогда для построения графика входного сопротивления следует задать выражение V(1)/I(R1).При этом учитывается, что PROBE умеет работать с комплексными величинами и в результате указанное выражение выдает модуль отношения напряжения к току. Если требуется изобразить на графике несколько кривых, их имена или описывающие их выражения можно вводить, разделяя знаками пробела или запятой. После завершения списка нажимается ENTER и графики высвечиваются на экране.

При задании кривых на графике можно использовать любые математические функции, список которых приведен в п. 3.2. Можно также использовать и дополнительные функции, введенные самим пользователем и

3.4. Построение графиков в PROBE

83

оформленные как макросы. Макросы заносятся в специальный текстовый файл, по умолчанию имеющий имя PROBE.MAC. Подготовка макросов может производиться в любом текстовом редакторе или в разделе меню

PROBE Macros (для MS DOS) или Trace/Macro (для Windows). Макрос имеет формат

<имя макроса>[<список параметров>]=<выражение>

Полезно написать соответствующие макросы для часто встречающихся выражений. Это упрощает работу при построении графиков. Например, часто удобно работать с нормированными графиками. По ним легче определять граничные частоты, длительности фронтов и т.п. Если надо провести нормировку положительной функции на ее максимальное значение, то можно для этих целей написать макрос NORM(X)=X/MAX(X). Такой макрос полезен, например, при нормировке АЧХ без выбросов. Если этот макрос введен в файл .MAC, то, например, задание в разделе Add_trace выражения NORM(VM(2)) приведет к построению нормированной АЧХ напряжения V(2). Тут надо иметь ввиду, что функция MAX и некоторые другие не воспринимают имя комплексной переменной без суффикса как модуль. Поэтому в данном примере модуль указан явным образом посредством суффикса: VM(2), а не V(2).

Для импульсных характеристик без выбросов и без заметных выбегов удобнее макрос вида NORMIMP(X)=(X-MIN(X))/(MAX(X)-MIN(X)). При этом отсекается начальное значение переменной X, которое в импульсных характеристиках может быть сравнимо или даже заметно больше, чем амплитуда импульса. Пример применения нормировки см. в п. 3.5 на рис. 3.6.

По умолчанию аргументом для графиков частотного анализа AC является частота, для графиков переходных процессов - время, для DC анализа - параметр оператора DC. Именно для этих аргументов строится автоматически координатная сетка. Однако в качестве аргумента можно задать и другие переменные или выражения. Например, можно строить ВАХ какого-то элемента схемы - зависимость его тока от напряжения на выводах элемента. Для изменения аргумента служит команда X_axis/X_variable в

PROBE для MS DOS или Plot/X Axis Settings/Axis Variable в Probe для

Windows.

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

84

3. Построцессор PROBE и редактор сигналов STMED

подходов. Самое простое - при выводе на график малый входной сигнал домножать на большое число. Например, если надо вывести на один график малое напряжение V(IN) и примерно в 100 раз большее напряжение V(2), то в команде Add_trace можно задать список сигналов V(IN)*100 V(2) и напряжение V(IN) будет выводиться на график увеличенным в 100 раз.

Дополнительная возможность получения на одном графике кривых разномасштабных сигналов имеется в PROBE 5. Начиная с этой версии в разделе Y_axis имеется команда add_axis, позволяющая вводить на графике несколько Y осей с разными масштабами по ним. В этом случае, например, можно вывести на график кривую большого напряжения V(2), а затем выполнить команду Y_axis/Add_axis. На экране появится вторая Y ось (рис. 3.2). После этого командой Add_trace задается график малого напряжения V(IN), и масштаб вновь введенной Y-оси будет соответствовать этой переменной. Подраздел меню Y_axis/Color_option в MS DOS или Options/Trace Color Scheme в Windows позволяют выбрать цвета кривых, соответствующих различным Y осям. В частности, можно сделать так, чтобы кривые, соответствующие каждой из Y осей, обозначались одним цветом и тем же цветом писалось обозначение оси. Это позволяет легко видеть, к каким кривым на графике относится данная Y ось. Подробнее эти возможности рассмотрены в работе [2].

Не всегда целесообразно строить кривые в одной координатной сетке. Например, вряд ли целесообразно накладывать друг на друга кривые напряжений и токов. И уж конечно не имеет смысла строить в одной координатной сетке амплитудно-частотные и фазочастотные характеристики. В этих случаях надо иметь на экране несколько координатных сеток (Plots). Для добавления на экран новой координатной сетки служит команда

Plot_control/Add-plot в MS DOS и Plot/Add Plot в Windows. В результате в графическом окне возникает новая сетка, в которой ось аргумента совпадает с первой координатной сеткой, а Y ось независима. В примере на рис. 3.3 в нижней координатной сетке построена АЧХ схемы, а в верхней - ФЧХ.

 

3.4. Построение графиков в PROBE

85

 

 

 

 

 

 

Рис.3.2. Пример графика с двумя осями Y

Можно вводить и еще дополнительные координатные сетки. Однако поскольку при этом размеры каждого графика уменьшаются, использовать более 2-3 сеток нецелесообразно.

В каждый момент в графическом окне с несколькими координатными сетками активной является одна из них, помеченная символами SEL>>. Все команды работы с графиками относятся к активному графику. Переключение активного графика производится мышью или командой

Plot_control/Select_plot (только в MS DOS).

86

3. Построцессор PROBE и редактор сигналов STMED

 

 

 

 

 

 

Рис. 3.3. Пример с двумя координатными сетками

Наличие общей X оси для разных координатных сеток часто неудобно. В PROBE для Windows это ограничение устранено. Имеется команда Plot/Unsync Plot, которая позволяет сделать X ось для вновь созданной координатной сетки несинхронизованной с другими сетками. Тогда для данной сетки можно выбирать аргумент, диапазон его изменения, масштаб независимо от аргумента других сеток в данном графическом окне.

Принципиально новые возможности построения множества различных координатных сеток имеются в PROBE для Windows. Раздел меню Window/New позволяет создавать новые графические окна, в которых могут изображаться графики с совершенно независимыми координатными сетками. В разных окнах могут быть графики, относящиеся к различным видам анализа схемы. Команда File/Open позволяет открыть в новом окне новый файл .DAT. Таким образом, на экране могут одновременно присутствовать результаты расчета различных вариантов схем, что облегчает сравнение их характеристик. Введенная в PROBE для Design Center 6 команда File/Append позволяет объединять результаты расчетов различных вариантов схем даже в

3.4. Построение графиков в PROBE

87

рамках одного графика. Пример работы с несколькими графическими окнами в Design Center приведен на рис. 3.4. На этом рисунке график 1 является примером построения в одном графическом окне двух координатных сеток с разными аргументами: в нижней части окна построена АЧХ, а в верхней построена амплитудно-фазовая характеристика - годограф, зависимость мнимой части коэффициента усиления VI(OUT) от его действительной части

VR(OUT).

Рис. 3.4. Вид экрана PROBE в Design Center 5

Размеры и расположение графических окон можно изменять обычным для Windows образом. Можно также воспользоваться командой меню Window/Arrange, чтобы упорядочивать окна в двух вариантах: Tile - размещение окон без перекрытия, и Cascade - размещение с перекрытием, но так, чтобы были видны все заголовки, и чтобы любое окно можно было извлечь поверх других.

88

3. Построцессор PROBE и редактор сигналов STMED

Масштаб по осям программа определяет автоматически исходя из полного диапазона изменения аргумента и функций. Однако масштаб по любой оси можно изменить, чтобы лучше разглядеть какой-нибудь участок графика. Задать масштаб этой оси можно, выполнив подкоманду Set_range в разделе меню, связанном с соответствующей координатной осью. По этой команде в ответ на предложение “Enter a range:” вводятся два числа, определяющие диапазон изменения переменной по данной оси координат.

В тех же подразделах меню X_axis или Y_axis можно изменить линейный масштаб данной оси на логарифмический и наоборот. При задании логарифмического масштаба надо помнить, что он возможен, только если переменная, откладываемая по данной оси, положительна.

Начиная с PROBE 5 имеются более простые и удобные способы изменения масштаба, чем команда Set_range. Для этого предназначены разделы меню Zoom в PROBE 5 и View в PROBE 6. Команды этих разделов позволяют резко уменьшать или увеличивать масштаб вокруг указанного центра (команды In и Out), перемещаться по увеличенному графику (команда Pan), вырезать из графика прямоугольную область и растягивать ее на все графическое окно. Подробнее эти команды описаны в работе [2].

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

Остановимся на некоторых особенностях построения диаграмм цифровых сигналов при моделировании цифровых и аналого-цифровых схем. В этом случае аргументом может быть, конечно, только время. В качестве функций можно указывать сигналы, шины, арифметические и логические выражения в соответствии с правилами, приведенными в п. 1.2. Диаграммы сигналов размещаются друг под другом, как показано в примере на рис. 3.5. Неопределенное состояние “X” выделяется красным цветом и двойной линией. Высокоомное состояние “Z” выделяется синим цветом и тройной линией. Состояния переходов “R” и “F” выделяются серыми двойными наклонными линиями. Сигналы шин изображаются двойными линиями, внутри которых проставляется число, соответсвующее состоянию шины (нижняя диаграмма на рис. 3.5). Если в некоторые моменты времени состояние сигнала оказывается неоднозначным (Ambiguity Convergens), т.е. используемая логика работы не дает однозначного ответа на то, каково состояние сигнала, то в соответствующие отрезки времени сигнал выделяется желтым цветом и появляются сообщения о неоднозначности.

3.4. Построение графиков в PROBE

89

Число диаграмм может быть велико и тогда все они могут не поместиться в графическом окне. В этом случае в окне появляются обычные для Windows полосы прокрутки (см. рис. 3.5), с помощью которых можно перемещаться как по Y оси, так и по оси времени (если автоматически установленный масштаб по времени был изменен).

Рис. 3.5. Цифровые сигналы в PROBE 6 для Windows

При моделировании аналого-цифровых схем можно одновременно наблюдать сигналы в аналоговых и цифровых узлах. В этом случае цифровые сигналы автоматически размещаются в верхней части графического окна, а в его нижней части помещаются графики аналоговых сигналов (см. график 3 на рис. 3.4). В разделе меню Plot/Digital Size можно изменить процент площади графика, отводимой под диаграммы цифровых сигналов (от 16 до 84%), и длину имен цифровых сигналов, которая при смешанном моделировании может быть большой и занимать значительное место в окне.

При подготовке графиков к печати часто желательно сделать на них какието надписи, проставить стрелки, указывающие на характерные точки, нарисовать какие-то графические примитивы - рамки, ограничивающие характерные участки кривых, нагрузочные прямые и т.п. Все эти построения могут делаться начиная с версии PROBE 5 в разделе Label при работе в MS DOS или в разделе Tools/Label при работе в Windows. Подробнее соответствующие подкоманды изложены в работе [2]. Примеры такого оформления графиков уже приводились. На графике, показанном на рис. 3.1, были с помощью подкоманды Text нанесены значения базового тока,

90

3. Построцессор PROBE и редактор сигналов STMED

являющегося параметром семейства кривых, величина нагрузочного сопротивления, надпись типа транзистора. Эта надпись заключена в рамку с помощью подкоманды Box. Нагрузочная прямая и указатели выполнены подкомандами Line и Arrow. Координаты точки пересечения нагрузочной прямой и характеристики для IБ=4 мкА нанесены подкомандой Cursor/Label_point (в Probe для Windows такие координаты наносятся подкомандой Mark того же раздела Tools/Label, в котором вводятся другие графические элементы). Обозначения кривых на графике (см. рис. 3.2) сделаны теми же средствами. Обозначение Y оси как IC на рис. 3.1 сделано командой Y_axis/Change_title. Заголовки графиков на рис. 3.4 сделаны

Edit/Modify Title.

Построенные графики иногда желательно запомнить для последующего использования и сравнения с другими графиками, которые будут рассчитаны и построены позднее. Это можно делать командами раздела Display_control. В этом разделе можно запомнить (Save) графическое окно под некоторым именем, загрузить (Restore) ранее запомненное окно, удалить запомненное окно и т.д. Окна запоминаются в файле PROBE.DSP. Подробнее об этом см. в работе [2].

3.5. ИССЛЕДОВАНИЯ И ИЗМЕРЕНИЯ ГРАФИКОВ В PROBE

PROBE позволяет детально исследовать графики и измерить их характеристики. Особенно расширились эти возможности начиная с PROBE 5.

Прежде, чем проводить исследования, часто полезно убедиться, что графики достоверны. Дело в том, что при построении графиков программа берет реально посчитанные точки из файла .DAT и проводит их интерполяцию. Если точек в файле мало, то график является только грубым приближением к действительности. На нем могут отсутствовать какие-то важные элементы истинной зависимости, а положение его характерных точек - экстремумов, изломов и т.п. может сильно отличаться от действительности.

Начиная с PROBE 5 убедиться в достоверности графика можно, выполнив подкоманду Mark_data_points в разделе Plot_control в MS DOS или

Tools/Options в Windows. По этой команде на кривых высвечиваются истинные точки, по которым проводится интерполяция, и можно выяснить, достаточна ли их плотность. Если недостаточна (это особенно часто бывает в зависимостях, построенных с помощью оператора .DC), то следует повторить расчет с меньшим шагом в режиме DC, или с большим числом точек в режиме AC, или с заданием меньших погрешностей в режиме TRAN.

3.5. Исследования и измерения графиков в PROBE

91

Перед началом измерений на графиках полезно также выбрать соответствующий масштаб интересующей части графика, о чем рассказывалось в п. 3.4.

Основные исследования графиков проводятся в разделе Cursor для MS DOS или Tools/Cursor/Display для Windows. При переходе в соответствующий раздел на экране появляются два курсора в виде перекрестий, пересекающих весь экран, и таблица, содержащая координаты курсоров и разность их координат (рис. 3.6). В первый момент оба курсора находятся в начале координат, их перекрестия могут совпадать с координатными осями и быть невидимыми на их фоне.

Перемещение первого курсора осуществляется клавишами и , а также клавишами “Home” - переход к начальной точке графика, и “End” - переход к конечной точке. Если в координатной сетке построено несколько кривых, то перевод курсора с графика одной переменной на график другой переменной осуществляется нажатием клавиш Ctrl- или Ctrl-. Перемещение второго курсора осуществляется теми же клавишами, но с нажатой клавишей “Shift”.

Начиная с PROBE 5 перемещение курсоров можно осуществлять и манипулятором мышь: левая кнопка перемещает первый курсор, правая - второй. Однако это перемещение достаточно грубое и для точной установки курсора в нужной точке все равно надо пользоваться клавишами.

При работе с цифровыми сигналами обычно интересуют моменты переключения сигналов. Для установки курсора на эти моменты служат команды Next Transition (“горячие” клавиши Ctrl-Shift-N) поиск следующего момента переключения, и Previous Transition (“горячие” клавиши Ctrl-Shift- R) поиск предыдущего момента переключения.

92

3. Построцессор PROBE и редактор сигналов STMED

 

 

 

 

 

 

Рис. 3.6. Измерение длительности спада импульса

На рис. 3.6 приведен пример измерения с помощью курсоров отрицательного фронта (спада) импульса по уровням 0,1÷0,9 от амплитуды. Это удобно делать, предварительно отнормировав график так, чтобы график импульса лежал в пределах 0÷1 (например, с помощью макроса, описанного в п. 3.4). На рис. 3.6 первый курсор подведен к точке на фронте, в которой относительная величина напряжения V(OUT) равна примерно 0,1, а второй - к точке 0,9. Конечно, абсолютно точно указать нужную точку на графике невозможно из-за дискретности перемещений курсоров. Поэтому, как видно из рисунка, в данном случае вместо уровня 0,9 выделен близкий к нему уровень 0,899183, а вместо уровня 0,1 - уровень 0,100123. Разность координат X двух курсоров, высвечивыемая в таблице и равная в данном примере 15,363 нс, является искомой длительностью спада. Аналогичным образом можно измерять граничные частоты, длительности импульсов, задержки распространения между импульсами и т.п.

 

3.5. Исследования и измерения графиков в PROBE

93

 

 

 

 

 

 

 

 

Рис. 3.7. Импульс и его характерные точки

Начиная с PROBE 5 при работе с курсорами в меню имеется еще ряд команд поиска характерных точек (см. рис. 3.6). Это команды:

Peak - перемещение курсора к точке очередного локального максимума;

Trough - перемещение курсора к точке очередного локального минимума;

Slope - перемещение курсора к точке очередного максимума производной;

Min - перемещение курсора к точке глобального минимума; Max - перемещение курсора к точке глобального максимума.

Например, при исследовании графика имульса, приведенного на рис. 3.7, если перед выполнением команды курсор находился в начале координат, то первое выполнение команда Peak приведет его в точку 3, а второе - в точку 6. При тех же условиях команда Trough приведет курсор в точку 5, первое выполнение команды Slope приведет его в точку 2, а второе - в точку 4. Выполнение команды Min переведет курсор в точку 8, а выполнение команды Max - в точку 3.

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

94

3. Построцессор PROBE и редактор сигналов STMED

Cursor/Search_commands. Рассмотрим синтаксис и применение этих команд поиска.

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

Команда поиска имеет формат:

Search [<направление>] [/<начальная точка>/]

+[#<число проверок>#] [<диапазон X>[,<диапазон Y>]]

+[FOR] [<число повторений>:] <условие>

Здесь <направление>] указывает направление поиска: Forvard - вперед, Backward - назад, т.е. в направлении нарастания или убывания аргумента X. По умолчанию подразумевается Forword.

[/<начальная точка>/] - та точка, от которой начинается поиск. Эта опция команды может принимать значения: Begin или * -начальная точка X оси; End или $ -последняя точка X оси; x<номер> -номер точки (это может использоваться только при построении функций обработки результатов многовариантного анализа, см. следующий п. 3.6).

[#<число проверок>#] определяет, на скольких точках должно повторяться условие, чтобы считаться выполненным. Смысл этой опции зависит от вида условия и будет указан ниже при описании различных условий.

[<диапазон X>[,<диапазон Y>]] задает интервалы поиска по соответствующим осям. По умолчанию эти интервалы совпадают с видимой на экране частью графика. Границы интервалов могут задаваться своими значениями или как относительные величины в процентах от полного диапазона изменения по соответствующей оси. При построении функций обработки результатов многовариантного анализа границы могут также указываться в формате x<номер>. Примеры задания диапазонов: (10, x1) -

3.5. Исследования и измерения графиков в PROBE

95

диапазон по X от 10 до точки x1, по Y диапазон неограничен; (,,10n,50%) - диапазон по X неограничен, по Y от 10-9 до 50% от максимального значения на оси Y.

[<число повторений>:] задает, какое по порядку выполнение условия принимается во внимание. Например, задание числа “3:” указывает, что определяется третья точка, в которой будет выполнено условие.

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

MAx - определение максимального значения функции. Если есть несколько максимумов с одинаковыми значениями Y, то определяется ближайший в заданном направлении. Опции <число проверок> и <число повторений> на результат не влияют.

MIn - определение минимальное значения функции. Если есть несколько минимумов с одинаковыми значениями Y, то определяется ближайший в заданном направлении. Опции <число проверок> и <число повторений> на результат не влияют.

PEak - поиск очередного “пика” - очередного локального максимума кривой. Опция <число проверок> определяет, сколько точек с каждой стороны от максимума должны иметь значение функции меньше этого максимума, чтобы точка максимума была признана “пиком”. Задание этого числа больше единицы позволяет сгладить случайные флуктуации вычислений, которые могут создавать ложные “пики”.

TRough - поиск очередного локального минимума кривой. Так же как для Peak опция <число проверок> определяет, сколько точек с каждой стороны от минимума должны иметь значение функции больше этого минимума.

SLope[(<знак>)] - определение очередной точки с максимальной по модулю производной. Опция <знак> определяет требуемый знак производной в искомой точке. Опция может принимать значения: Positive (положительный), Negative (отрицательный), Both (безразлично). Например, если задать опцию Positive, то будут определяться точки на нарастающих участках кривой, т.е. при положительной производной. Значение опции по умолчанию Both.

Level (<значение[<знак>]>) - определение точки, в которой функция равна заданному значению. Опция <знак> так же, как и в условии

96

3. Построцессор PROBE и редактор сигналов STMED

Slope, определяет требуемый знак производной в искомой точке может принимать значения Positive, Negative, Both (по умолчанию). Значения уровня могут задаваться в виде:

числа, например, 10k;

процента от полного размаха функции, т.е. если min - минимальное значение функции, а max - максимальное, то задание Level 50% означает уровень min+0.5 (max-min);

отмеченной точки, например, y1 (это может использоваться только при построении функций обработки результатов многовариантного анализа, см. п. 3.6);

значения в децибеллах или абсолютных величинах, отсчитываемого относительно максимального (max) или минимального (min) значения функции; например, min+3db, max-3db - значения на 3 децибелла выше минимального и ниже максимального, или, например, max-1k, min+10;

значения в децибеллах или абсолютных величинах, отсчитываемого относительно текущей точки; в этих случаях перед величиной ставится точка: например, .3db, .-3db - значения на 3 децибелла выше или ниже текущего, или,

например, .-1k, .+10.

XValue (<значение>) - определение точки, в которой аргумент равен заданному значению. Значения могут задаваться теми же способами, как и в условии Level.

Приведем примеры функций поиска.

Команда SEARCHMAX или sma определяет точку максимума. Эта команда идентична команде Max, имеющейся в меню, и ее имеет смысл применять только в описаниях целевых функций, которые будут рассмотрены позднее. Команда “s2:pe” определяет вторую по порядку точку локального максимума. В примере на рис. 3.7, если перед этим курсор был в начале координат, определится точка 6.

Команда “sbtr” определяет первую при движении в обратном направлении точку локального минимума. Если в примере (см. рис. 3.7) перед этим выполнялась приведенная выше команда и курсор находился в точке 6, то будет определена точка 5.

Команда “sle(50%)” определяет ближайшую в прямом направлении точку, в которой функция равна среднему значению между своими минимальным и максимальным значениями. Если в примере (см. рис. 3.7) курсор был в начале координат, то при первом выполнении этой команды он перейдет в точку 1, в

3.5. Исследования и измерения графиков в PROBE

97

которой функция равна среднему значению 0,5 (13,355-5,4299)=3,96255 кВ. Повторное выполнение той же команды переведет курсор в точку 7. Команда “sle(50%,n)” так же, как и предыдущая, определяет ближайшую в прямом направлении точку, в которой функция равна своему среднему значению. Однако в данной команде добавлено условие: производная в этой точке должна быть отрицательной. Поэтому из начала координат курсор сразу перейдет в точку 7.

Рассмотрим теперь применение функций поиска при записи целевых функций. Целевые функции, как не очень удачно они названы в PROBE (обычно в математике целевыми называются функции, используемые в задачах оптимизации), предназначены для расчета каких-либо параметров или функционалов на зависимостях, содержащихся в файле .DAT. К таким параметрам могут относиться длительности фронтов, величины выбросов, задержки, неравномерность АЧХ, добротность и многое другое. Целевые функции описываются в текстовом файле PROBE.GF. Эти функции применяются в PROBE 5 для MS DOS при построении графиков зависимостей от параметра многовариантного анализа, осуществленного по директивам .STEP, .TEMP, .MC. Аргументом строящегося графика многовариантного анализа является его параметр: температура, параметр оператора .STEP или номер варианта при выполнении оператора .MC. По оси Y откладывается одна из функций, описанных в файле PROBE.GF. Имя используемой функции вводится при работе в разделе

X_axis/Performance_analysis командой Add_trace.

В Design Center для Windows эначения целевых функций могут рассчитываться и для отдельного графика, никак не связанного с многовариантным анализом. Расчет производится по команде

Trace/Eval_Goal_Function.

Формат описания целевой функции следующий:

<имя функции> (1,2,...,N,<список параметров>)=<выражение>

{

1|<команды поиска выделяемых точек> 2|<команды поиска выделяемых точек>

...

N|<команды поиска выделяемых точек>

}

98

3. Построцессор PROBE и редактор сигналов STMED

Имя функции может содержать до 50-ти символов: латинских букв, цифр, символов подчеркивания. Имя не должно начинаться с цифры.

Аргументы функции 1, ..., N - номера групп последующих команд поиска, относящихся к какой-то одной переменной. При вызове функции эти аргументы заменяются именами или выражениями, указываемыми как параметры.

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

Команды поиска выделяемых точек объединяются в общем случае в группы, относящиеся к различным переменным, и записываются по формату

<команда поиска> !<номер> ... ;

где <номер> - номер выделенной точки. Символ “;” в конце обязателен. Пример:

1| sle(50%,p)!1 sle(50%,n)!2;

В этом примере выделено две точки по уровню 50%: первая при положительной производной, вторая - при отрицательной.

Выражение, определяющее функцию, строится по принятым в PROBE правилам со следующими ограничениями.

В выражение могут входить константы, параметры целевой функции и координаты выделенных точек: x1, y1 и т.д.; обычные переменные типа V(1) и др. использоваться не могут.

Не могут использоваться функции нескольких переменных, такие как D, S, AVG, RMS, MIN, MAX и функции комплексных переменных M, P, R, IMG, G.

Добавлена функция MPAVG(<граница 1>,<граница 2>[,<коэффициент>]), вычисляющая среднее значение переменной Y в заданном диапазоне аргумента X. Границы диапазона задаются координатами X выделенных точек (например, x1, x3); <коэффициент> по умолчанию равен 1 и в этом случае указанные границы совпадают с границами диапазона; если же <коэффициент> не равен 1, то средняя точка диапазона соответствует среднему значению заданных границ, а длина диапазона умножается на заданный коэффициент.

Поясним применение рассмотренного аппарата. Пусть, например, в некоторой схеме по оператору .TEMP просчитаны при ряде температур

3.5. Исследования и измерения графиков в PROBE

99

переходные процессы. Приведем примеры функций и их интерпретацию для этого случая.

1)arg(1,y)=x1 {1|sle(y)!1;}

Эта функция определяет значение аргумента при заданном значении переменной y. Если в режиме X_axis/Performance_analysis/Add_trace

задается arg(V(2),5v), то будет построен график зависимости от температуры моментов времени, когда напряжение в узле 2 равно 5 В.

2)max(1)=y1 {1|sma!1;}

Эта функция определяет максимум. При задании max(v(2)) будет построен график зависимости максимума напряжение в узле 2 от температуры.

3)ampl(1)=y1-y2 {1|sma!1 smi!2;}

Эта функция определяет размах переменной - разность между максимумом и минимумом.

4)delay(1,2)=x1-x2{ 1|sle(50%)!1; 2|sle(50%)!2;}

Эта функция определяет задержку между двумя сигналами по среднему уровню. Например, при задании delay{V(2),V(1)) будет построена зависимость задержки напряжения в узле 2 по отношению к напряжению в узле 1.

3.6. РЕДАКТОР ВХОДНЫХ СИГНАЛОВ STMED ДЛЯ MS DOS

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

Входная информация для STMED берется из файла задания на расчет схемы с расширением .CIR. Впрочем, если входной файл отсутствует, то программа сама его создает. Выходная информация STMED - отредактированные или вновь созданные описания сигналов, заносятся во входной файл.

Версии редактора, предназначенные для PSpice 4, PSpice 5 и Design Center 5, работают в MS DOS и не очень отличаются друг от друга. В Design Center 6 включен вариант для Windos, существенно отличающийся от предыдущих и по своим функциям. Поэтому целесообразно рассматривать версии для MS DOS и для Windows отдельно.

Запуск STMED для MS DOS осуществляется командой

STMED [<опции>][<имя файла>[.CIR]]

100

3. Построцессор PROBE и редактор сигналов STMED

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

Опции при запуске STMED те же, что и при запуске PROBE (см. п 3.1). Экран программы имеет вид, представленный на рис. 3.8. Основная часть экрана отведена под графики сигналов, расположенные в одной или нескольких координатных сетках. Если имеются аналоговые и цифровые сигналы, то диаграммы цифровых сигналов размещаются в верхней части экрана. Они изображаются так же, как в PROBE: двойной красной линией выделяется неопределенное состояние, тройной синей линией выделяется высокоомное состояние, наклонными серыми линиями выделяются переходные состояния “R” и “F”, двойными линиями с проставленными внутри состояниями выделяются сигналы шин (см. рис. 3.8, сигнал UD) и т.д. Внизу под графиками помещается меню. Все разделы и подразделы меню STMED перечислены и пояснены в работе [2]. К тому же многие из них,

такие, как X_axis, Y_axis, Cursor, Hard_Copy, мало отличаются от аналогичных разделов в меню постпроцессора PROBE. Поэтому ограничимся только изложением последовательности и методики работы с основными разделами программы.

 

3.6. Редактор входных сигналов STMED для MS DOS

101

 

 

 

 

 

 

Рис. 3.8. Экран STMED 5

В начале работы, если входной файл содержит уже описанные источники сигналов, графики этих сигналов автоматически высвечиваются на экране. При это аналоговые сигналы располагаются в одной или нескольких координатных сетках, а под диаграммы цифровых сигналов всегда отводится одна сетка. При работе всегда одна из сеток активна. Она выделяется указателем SEL>>. Переключения между сетками производится в разделе меню Plot_control/Select_plot. Если работа проводятся с STMED 4 и необходимо переключиться из аналоговой сетки в цифровую или наоборот, то сначала в главном меню надо указать команду Select_digital, если ранее работали с аналоговым сигналом, или Select_analog, если работа шла с цифровыми сигналами. В STMED 5.1, если работа велась с аналоговыми сигналами, то для переключения сеток, включая цифровую, достаточно просто войти в раздел Plot_control и указать мышью нужную сетку. Если же работа велась с цифровыми сигналами, то для перехода к аналоговым сеткам по-прежнему надо выполнить команду Select_analog. Начиная с STMED 5.3 переключаться из одной аналоговой сетки в другую можно, не входя в раздел

102

3. Построцессор PROBE и редактор сигналов STMED

Plot_control. Однако переключиться в сетку цифровых диаграмм можно только командами Plot_control/Display_stimulus и

Plot_control/Undisplay_stimulus

Удаление с экрана ненужной сетки вместе с расположенными в ней графиками производится в разделе Plot_control/Remove_plot. Добавление новой сетки осуществляется командой Plot_control/Add_plot. Удаление с графика кривой одного из сигналов осуществляется командой Plot_control/Undisplay_stimulus, добавление новой кривой какого-либо из уже описанных сигналов - Plot_control/Display_stimulus.

Следует особо отметить, что нельзя путать команду

Plot_control/Undisplay_stimulus, удаляющую график с экрана, и команду

Delete_stimulus, удаляющую данный сигнал не только с экрана, но и из файла .CIR. Выполнение команды Delete_stimulus осуществляется следующим образом. На экране появляется подменю:

All

-

удаление всех сигналов;

All_Digital

- удаление всех цифровых сигналов;

All_Analog

- удаление всех аналоговых сигналов;

Select

-

выбор удаляемых сигналов;

Undelete

-

восстановление ошибочно удаленных сигналов;

 

 

данный раздел появляется в меню после выполнения

 

 

какой-нибудь команды удаления и отменяет ее,

 

 

восстанавливая удаленные сигналы.

Если используется раздел Select, то появляется указание Use arrows and tab to move highlight , space to select, enter to delete (Используйте стрелки и клавишу

“Tab” для перемещения засветки, пробел для выбора, Enter для удаления). В ответ соответствующими клавишами или мышью перемещается засветка, указывающяя имя сигнала. Клавиша “Tab” переключает засветку с одной координатной сетки на другую. Клавишей “Пробел” производится выделение нужного сигнала (или сигналов). Повторное нажатие пробела снимает выделение сигнала. После того, как нужные сигналы выбраны, нажимается Enter. Поскольку команда Delete_stimulus опасна в том плане, что ее случайное применение может удалить сигнал из файла, то после ее выполнения появляется команда Undelete, которая позволяет восстановить ошибочно удаленный сигнал.

Рассмотрим теперь, как проводится модификация существующего аналогового сигнала. Для этого служит раздел меню Modify_stimulus. В начале работы в этом разделе выбирается (так же, как было описано выше для команды Delete) модифицируемый сигнал. После этого на экране (см. пример на рис. 3.9) возникает увеличенный график модифицируемого сигнала, список значений его параметров и меню модификации.

 

3.6. Редактор входных сигналов STMED для MS DOS

103

 

 

 

 

 

 

 

 

Рис. 3.9. Режим модификации сигнала

Раздел Spec_type позволяет сменить модель для данного источника сигнала, выбрав ее из списка: EXP, PULSE, PWL, SFFM, SIN. Раздел Other_info позволяет изменить дополнительную информацию об источнике сигнала: имя источника (Name), уровень постоянной составляющей

(DC_value), модуль (Magnitude) и фазы (Phase) сигнала для AC анализа

(AC_value), узлы подключения источника сигнала (Nodes).

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

104

3. Построцессор PROBE и редактор сигналов STMED

 

 

 

 

 

 

 

 

Рис. 3.10. Раздел Transiet_parameters для модели PWL

Несколько иначе выглядит работа в разделе Transiet_parameters для кусочнолинейного сигнала, описываемого моделью PWL (рис. 3.10). На экране высвечивается таблица точек излома и меню:

Add_corner - добавление точки излома после последней, описанной для данного сигнала;

Change_corner - изменение одной из точек излома (точка указывается курсором в таблице и нажимается

Enter);

Remove_corner - удаление одной из точек излома (точка указывается курсором в таблице и нажимается Enter);

Insert_corner - вставка точки излома (курсором в таблице и нажатием Enter указывается точка, перед которой должна быть вставлена точка).

После выбора того или иного раздела в меню координаты вводимой точки излома указываются или числами, или перемещением курсора и нажатием

- добавление команд в описание источника; в открывающемся подменю можно выбрать следующие команды (назначение и синтаксис команд см. в п. 1.4.5 и в работе [2]):

3.6. Редактор входных сигналов STMED для MS DOS

105

левой кнопки мыши (клавиши Enter). При перемещении курсора в нижней строке экрана высвечиваются его координаты.

Включение в схему описания нового аналогового сигнала осуществляется в разделе меню New_stimulus. Предварительно желательно открыть новую координатную сетку, в которой будет изображаться график сигнала. На запрос программы Enter the stimulus device name (в разных версиях программы вопрос несколько варьируется) надо указать имя источника. Оно, конечно, должно начинаться с символа V для источников напряжения и с символа I для источников тока. Затем следует выбрать модель источника при расчетах переходных процессов: EXP, PULSE, PWL, SFFM или SIN. После этого на экране появляется таблица параметров модели, в которой некоторые значения параметров заданы программой по умолчанию. Поочередно задаются вопросы о значениях параметров. В ответ надо указать начальное приближение для параметров, которое затем можно будет уточнить в рассмотренном ранее режиме модификации параметров.

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

Рассмотрим теперь процедуру создания и модификации источника цифрового сигнала. Как и в случае аналогового сигнала, новый цифровой элемент создается в разделе меню New_stimulus. При этом для младших версий STMED предварительно надо выполнить команду Select_digital. На запрос программы указывается имя цифрового источника сигнала, которое должно начинаться с символа U. Далее в ответ на запрос “Enter number of output nodes” указывается число выходов источника. После этого программа переходит в раздел Modify_stimulus, который используется и при модификации уже описанных цифровых сигналов.

В этом разделе (пример приведен на рис. 3.11) на экране представлены диаграммы цифровых сигналов, имя модифицируемого сигнала и его описание в виде последовательности введенных ранее команд (если это не новый сигнал, который еще не был описан). Подменю содержит следующие основные разделы:

Add_command

106

3. Построцессор PROBE и редактор сигналов STMED

Set

-

задание момента времени и логических уровней

Goto n Times

 

сигналов;

-

задание команды передачи управления в цикле;

Goto Until GE/GT/LE/LT - задание команд условной передачи управления;

Incr by

- задание положительного приращения сигналов;

Decr by

- задание отрицательного приращения сигналов;

Label

-

задание имени метки;

 

 

 

 

Modify_command

-

выбор изменяемой команды при редактировании

Remove_command

 

цифровых сигналов;

 

 

 

 

-

удаление команды при редактировании цифровых

Insert_command

 

сигналов;

 

 

 

 

 

- вставка одной или

нескольких команд перед

 

 

выбранной

командой

при

редактировании

Other_info

 

цифровых сигналов;

 

 

 

 

-

изменение

дополнительной

информации об

 

 

источнике сигнала: имя источника (Name), имя

 

 

модели входа/выхода (IO_Model), величина

 

 

временного шага (Step_Size), число выходов

 

 

(Width),

формат,

определяющий

систему

 

 

счисления в описании сигналов (Radix), список

 

 

выходных узлов (Output_Nodes), узлы питания

 

 

(Power) и земли (Ground);

 

 

Display_help или Show_help - вывод на экран

пояснений по

командам

 

 

описания цифрового сигнала.

 

 

 

3.6. Редактор входных сигналов STMED для MS DOS

107

 

 

 

 

 

 

 

 

Рис. 3.11. Модификация цифрового сигнала

При работе в разделе Add_command сначала из подменю выбирается команда, а затем по запросам программы вводятся значения отдельных ее элементов. При задании моментов времени их можно вводить в виде чисел, или можно перемещать курсор (при этом внизу высвечиваются соответствующие моменты времени) и, когда требуется, нажать левую кнопку мыши. При работе в разделах Modify_command, Remove_command и Insert_command сначала мышью или стрелками перемещается засветка на нужную команду (в разделе Insert_command - на команду, перед которой нужна вставка), а затем нажимается Enter. Окончание работы в любом из этих разделов - Esc.

В заключение рассмотрим очень важный момент - окончание работы с STMED. При выполнении команды Exit главного меню на экране возникает подменю, содержащее следующие команды:

Exit_program - запись отредактированного описания сигнала в файл .CIR и выход из программы; при этом предыдущее состояние файла .CIR запоминается в файл с тем же именем и с расширением .BAK;

108

3. Построцессор PROBE и редактор сигналов STMED

Start_editor

-

возвращение в меню редактирования аналоговых

Abort_program

 

сигналов;

 

 

 

 

-

выход

из

программы

без

записи

отредактированного описания сигнала в файл

.CIR; при этом надо утвердительно ответить на вопрос: Abort without saving changes (Y/N)? -

действительно ли требуется уход без спасения результатов.

3 Постпроцессор PROBE и редактор сигналов STMED

3.7. РЕДАКТОР STMED В DESIGN CENTER 6

Редактор STMED в Design Center 6 отличается от предшествующих версий не только тем, что предназначен для работы в Windows. Изменено само назначение программы: теперь она заносит создаваемые или редактируемые сигналы в библиотеки сигналов - текстовые файлы с расширением .SLB. Эти файлы могут использоваться как программой PSpice, так и новой программой логического моделирования PLOGIC. Файлы включают в себя операторы .STIMULUS вида

.STIMULUS <имя сигнала> <модель сигнала> + <параметры модели>

Например:

.STIMULUS InputPulse PULSE (-1mv 1mv 2ns 2ns 50ns 100ns)

.STIMULUS DigitalPulse STIM (1,1)

+0S 1

+10NS 0

+20NS 1

.STIMULUS 50KHZSIN SIN (0 5 50KHZ 0 0 0 )

На имена сигналов, определенные операторами .STIMULUS, можно ссылаться в операторах, описывающих V и I элементы и цифровые элементы STIM.

В операторах .STIMULUS в качестве значений параметров моделей могут использоваться не только числа, но и произвольные имена, заключенные в фигурные скобки. Тогда значения, присваиваемые этим именам определяются оператором вида

.STIMULUS <имя параметра> PARAM <значение>

Например,

.STIMULUS InputPulse PULSE (-1mv {A} 2ns 2ns 50ns 100ns)

.STIMULUS A PARAM 1mV

Во входной язык PSpice добавлен оператор подключения библиотеки сигналов:

.STMLIB <имя файла[.STL]>

110 4. Идентификация параметров моделей с помощью PARTS

Расширение .STL по умолчанию не подразумевается и должно указываться явно.

Рис. 3.12. Экран STMED в DESIGNE CENTER 6

Формирование библиотек сигналов и является задачей редактора STMED в Design Center 6. Общий вид экрана при работе с STMED 6 представлен на рис. 3.12. Как видно, экран похож на вариант STMED для MS DOS, но, как и в любой программе Design Center для Windows, можно работать сразу в нескольких графических окнах. Разделы меню и пояснения к ним приведены в работе [2]. Многие разделы подобны аналогичным разделам постпроцессора PROBE, рассмотренным в пп. 3.4 - 3.5. Это относится к разделам File, Plot, View, Tools/Label, Window, Help и к некоторым другим. Поэтому ниже будет рассмотрена только основные режимы работы.

Для редактирования какого-нибудь сигнала можно просто сделать двойной щелчок мыши на имени этого сигнала. Перейти к редактированию можно и иначе: выделить одиночным щелчком мыши имя сигнала, и затем

Рис. 3.13. Диалоговое окно модификации сигнала

4.1. Общие сведения

111

выполнить команду Edit/Object. Повторное выполнение этой команды завершает редактирование данного сигнала.

Если осуществляется редактирование аналогового сигнала, кроме описываемого моделью PWL, то после выполнения указанных выше действий на экране появляется диалоговое окно (см. пример на рис. 3.13), в котором можно изменить требуемые параметры. Если после проведенных изменений выполнить команду Apply, то график данного сигнала перестроится и можно наблюдать влияние параметров на форму сигнала, не покидая диалогового окна. Выполнение команды OK закрывает диалоговое окно и график перестраивается с учетом введенных изменений параметров. Выполнение команды

Cansel закрывает окно, но при этом все проведенные в нем изменения аннулируются.

Несколько иначе осуществляется редактирование кусочно-линейного сигнала, описываемого моделью PWL. Переход к редактированию этого сигнала приводит к выделению на его графике точек излома. Для удаления какой-либо точки излома надо выделить ее курсором и нажать клавишу Delete (то же самое можно сделать командой Edit/Delete). Для добавления какой-либо новой точки излома надо выполнить команду Edit/Add point или нажать “горячие” клавиши Alt-A. При этом на экране появляется курсор мыши в форме карандаша. Его следует переместить на график примерно в том месте, где желательно добавить точку излома, после чего нажимается и удерживается левая кнопка мыши. Координаты курсора отразятся в нижней строке графического окна, а за курсором потянутся отрезки прямых, показывая новую форму сигнала. Уточнив расположение курсора следует отпустить левую кнопку мыши, и введенная точка изменит вид графика. В этот момент данная точка выделена, и, если она получилась неудачной, можно нажать клавишу Delete и удалить ее, вернувшись к исходной форме сигнала.

Когда все изменения в форме сигнала сделаны, надо повторно сделать двойной щелчок на имени сигнала или повторно выполнить команду

Edit/Object.

112 4. Идентификация параметров моделей с помощью PARTS

При описании аналоговых сигналов можно использовать не только численные, но и символьные значения параметров, заключенные в фигурные скобки. Например, можно задать амплитуду импульса как {A}. Тогда численное значение данного параметра A задается командой Tools/Parameters. В диалоговом окне вводится значение параметра в формате <имя>= <значение>. Подкоманда Save запоминает значение параметра, которое будет использовано всеми сигналами, ссылающимися на этот параметр. Подкоманда Apply приводит к немедленному учету параметра в моделях сигналов и к перестроению графиков без выхода из диалогового окна.

Переход к редактированию цифрового сигнала осуществляется так же, как для аналоговых сигналов: двойным щелчком на имени сигнала или выделением имени и выполнением команды Edit/Object. После этого на графике сигнала выделяются точки переключений. Для удаления какоголибо переключения надо выделить соответствующюю точку курсором и нажать клавишу Delete (то же самое можно сделать командой Edit/Delete). Для задания новой точки переключения надо выполнить команду Edit/Add transition или нажать “горячие” клавиши Alt-A. Тогда, если сигнал является битовым (не шиной), то появится меню, в котором можно выбрать одну из следующих команд:

To 0/1

- если в текущей точке сигнал равен “1”, то он будет

 

переключаться в “0”, а если он равен “0”, то будет

To 0/R/1/F

переключаться в “1”;

- последовательное переключение в “1” и в “0” через

To X

промежуточные значения “R” и “F”;

- переключение в неопределенное состояние X;

To Z

- переключение в высокоомное состояние Z.

После выбора команды на экране появляется курсор мыши в форме карандаша. Его следует переместить на график примерно в том месте, где желательно добавить момент переключения, после чего нажимается и удерживается левая кнопка мыши. Значение времени, соответствующее положению курсора, высвечивается в нижней строке графического окна. Уточнив расположение курсора следует отпустить левую кнопку мыши, и введенная точка изменит вид графика. Далее можно перевести курсор в другое место и задать новое переключение. Нажатие Esc прерывает выполнение данной команды. Выполнение прервется также, если войти в раздел Edit/Add transition для задания новой команды.

Если редактируется сигнал шины, то в разделе Edit/Add transition фигурируют следующие команды: