Часть 10: СИМУЛЯЦИЯ


plug

10-2: Операции симуляции

plug



Чтобы начать симуляцию цепи в текущем окне, используйте субкоманду Simulate... команды Simulation (Built-in) меню Tools. Симулятор уже знает о транзисторах MOS. Симулятор ALS также знает о множестве цифровых логических вентилей и может программироваться для описания любых функций с помощью языка описания аппаратных средств, о которых говорится дальше в этой части.

Окно отображения сигналов (Waveform Window)

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

Figure 10.1

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

Вы можете реорганизовать последовательность сигналов, перетаскивая их имена в нужное место. Вы можете удалить сигнал, выбрав его и нажав клавишу "r" или DELETE. Вы можете добавить сигнал к списку нажав  (на клавиатуре) клавишу "a" (вам будет предложено ввести сигнал для добавления). Для объединения нескольких сигналов в единую "шину - bus" выберите их и нажмите "b" (для выбора множества сигналов начните в чистом месте между именами сигналов и перетащите вертикально поверх других имен). Когда шина была создана, ее индивидуальные сигналы могут быть показаны или скрыты двойным щелчком по ее имени. Все эти переделки запоминаются с фасетом для последующих симуляций. С симулятором ALS вы можете использовать субкоманду Restore Signal Display Order (ALS) для сброса отображения сигналов к его оригинальным установкам.

Два вертикальных курсора появляются в окне, названные "main" и "extension" (дополнительный курсор имеет  значок "x" вверху). Вы можете щелкнуть поверх курсоров и перетащить их к другому значению времени. Ось времени окна симуляции может также управляться соответствующими командами меню Window. Используйте Zoom Out и Zoom In для масштабирования оси времени с коэффициентом два. Используйте Focus on Highlighted для отображения диапазона между main и extension курсорами. Используйте субкоманду Cursor команды Center для увеличения времени к положению курсора.

Тестовые векторы (Test Vectors)

Когда имя сигнала выбрано, на этом сигнале можно расположить тестовый вектор в момент, определяемый main курсором. Нажмите "l", "h" или "x" для установки сигнала в низкое, высокое или неопределенное состояние (используя нормальную величину, показанную пурпурным). Для сигналов шины нажмите "v" (вам будет предложено ввести значение для этой шины). Префикс с буквой "w" ("wl", "wh", "wx" и "wv") устанавливает малую величину сигналов (показанную зеленым). Префикс с буквой "s" ("sl", "sh", "sx" и "sv") для увеличения значения сигналов (показано черным).

Другой путь управления величиной сигналов - установка мощности транзисторов. Вы можете использовать субкоманды Transistor Strength команды Simulation (Built-in) меню Tools для управления выбранным транзистором. Заметьте, что это должно быть сделано до начала симуляции.

Для удаления тестовых векторов на выбранном сигнале нажмите клавишу "e". Используйте субкоманду Clear All Vectors команды Simulation (Built-in) меню Tools для удаления всех тестовых векторов. Заметьте, что эти команды не удаляют "strong (сильные)" векторы (те, что установлены командами "sl", "sh", "sx" или "sv").

Когда векторы установлены, субкоманда Save Vectors to Disk команды Simulation (Built-in) меню Tools запишет эту информацию на диск. Используйте субкоманду Restore Vectors from Disk для повторного чтения. Вы можете даже использовать субкоманду Save Vectors as SPICE commands для сохранения этой информации как SPICE деки.

В ALS симуляторе вы можете также получить симуляцию данных из файла SDF (субкоманда SDF команды Import меню File.  Когда эти данные прочитаны, одно из трех установленных значений (Typical, Minimum или Maximum) должно быть выбрано субкомандой Annotate Delay Data (ALS) команды Simulate меню Tools.

Тактовые генераторы (Clocks)

Кроме простых тестовых векторов ALS симулятор может также установить образцы тактовых генераторов на текущие выбранные сигналы, вводом буквы "c". Затем пользователю будет предложен диалог для спецификации генератора. Заметьте, что генератор может быть непрерывным, но Electric генерирует симуляцию только до заполнения текущего окна отображения сигнала. Если вам нужно генерировать больше, масштабируйте (zoom-out) окно сигнала перед вызовом команды генерации.

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

Figure 10.2

Если, однако, запрошена пользовательская спецификация тактового генератора, вся нижняя часть диалога становится доступна (как показано слева), и доступно много опций. Вы можете выбрать интенсивность генератора (node, gate или VDD), произвольное распределение и список фаз, которые будут повторяться определенное количество раз (используйте 0 повторов при бесконечной генерации). Для каждой фазы выберите ее уровень (low, high или undefined) и ее продолжительность. Затем используйте клавишу "Add Phase" для добавления в список. Используйте клавишу "Delete Phase" для удаления фазы.

Управление симулятором

Симулятор ALS использует иерархию в оригинальной схеме в процессе симуляции. Следовательно, показанные сигналы с текущего уровня иерархии. Чтобы увидеть нижний уровень используйте субкоманду Down Hierarchy... команды Simulation (Built-in) меню Tools и выберите образец, в которой нужно опуститься. Чтобы увидеть следующий верхний уровень используйте субкоманду Up Hierarchy.

Субкоманда Simulation Options... команды Simulation (Built-in) меню Tools предлагает управление через процесс симуляции. Каждое изменение, сделанное в симуляторе, сказывается при повторе симуляции и отображении результатов. Если необходимо множество изменений, а время симуляции большое, снимите "Resimulate each change" флажок. Затем нажмите клавишу "u", когда понадобится повтор.

Figure 9.11

Установка "Auto advance time" говорит симулятору, необходимо переместить курсор по времени, когда добавляется новый сигнал в симуляцию.

Выбор "Multistate display" говорит симулятору, что следует показать сигналы в окне компоновки или схематики с текстурой и цветом для обозначения интенсивности. Без этого рисуется простая on/off индикация в окне компоновки или схематитки.

Выбор "Show waveform window" говорит симулятору, что следует создать отдельное окно с графиками сигналов при начале симуляции. Когда не выбрано, симуляция запускается, но отображает только информацию о сигнале на схеме или компоновке.

Вы можете выбрать, где будет отображаться окно сигналов (waveform window). По умолчанию - "Cascade (каскадом)", требующая появления в новом перекрывающемся окне. Вы можете также затребовать, чтобы окно отображения сигналов "Tile Horizontally" или "Tile Vertically", что приведет к разделению окон симулируемых цепей, показывая сигналы в разных половинах.

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

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

Симулятор IRSIM симулирует только диапазон времен, которые отображаются. Если вы осуществляете "zoom out", вам, возможно, потребуется модифицировать тестовые векторы для форсирования их повторной симуляции в расширенное время.

Симулятор IRSIM может поддерживать три уровня информации о паразитных параметрах: "Quick" делает быструю оценку площади и периметра; "Local" анализирует каждый уровень иерархии полностью, но раздельно; "Full" анализирует полную иерархию, и может потребовать много времени. Дополнительно вы можете назначить файл параметров ".prm", который вы хотели бы, чтобы IRSIM использовал.

Кроме опций, предложенных в диалоге, есть несколько дополнительных команд, которые могут быть введены в окно отображения сигналов. Используйте "t" (только ALS) для трассировки симуляции выбранного сигнала (и "ft" для фиксации полной трассировки всех сигналов). Используйте "i" для отображения информации о выбранном сигнале. Используйте "p" для сохранения снимка окна симуляции в базе данных (фасет с отображением "simulation-snapshot" создается компонентами artwork). Для остановки симуляции закройте окно симуляции.

Ниже собраны команды "single-key (одной клавишей)", доступные в окне цифровой симуляции:

Key

Значение

l
wl
sl

Устанавливает выбранный сигнал на низкий уровень у main курсора (gate strength)
Устанавливает выбранный сигнал на низкий уровень у main курсора (node strength, weak)
Устанавливает выбранный сигнал на низкий уровень у main курсора (VDD/GND strength, strong)

h
wh
sh

Устанавливает выбранный сигнал на высокий уровень у main курсора (gate strength)
Устанавливает выбранный сигнал на высокий уровень у main курсора (node strength, weak)
Устанавливает выбранный сигнал на высокий уровень у main курсора (VDD/GND strength, strong)

x
wx
sx

Устанавливает выбранный сигнал на неопределенный уровень у main курсора (gate strength)
Устанавливает выбранный сигнал на неопределенный уровень у main курсора (node strength, weak)
Устанавливает выбранный сигнал на неопределенный уровень у main курсора (VDD/GND strength, strong)

v
wv
sv

Устанавливает значение на выбранной шине у main курсора (gate strength)
Устанавливает значение на выбранной шине у main курсора (node strength, weak)
Устанавливает значение на выбранной шине у main курсора (VDD/GND strength, strong)

c

Задает тактовый генератор (clock) на выбранном сигнале

e

Удаляет все векторы на выбранном сигнале

i
t
ft

Выводит информацию о выбранном сигнале
Трассирует симуляцию для выбранного сигнала (только ALS)
Трассирует симуляцию для всех сигналов (только ALS)

b

Собирает выбранные сигналы в шину

a

Добавляет сигнал в окно симуляции

r
DEL

Удаляет выбранный сигнал из окна симуляции

p

Сохраняет снимок окна симуляции в базе данных

u

Пересимулирует и перерисовывает информацию отображения сигнала

?

Выводит это help сообщение

Эти функции меню окна относятся к окнам симуляции:


Prev

Предыдущий

   

Contents

Содержание

   

Следующий

Next