Часть 9: ИНСТРУМЕНТЫ


plug

9-4: Симуляция

plug



Команда Simulation (Built-in) меню Tools управляет внутренним симулятором, который может симулировать схемы, компоновку IC и спецификации VHDL. В разделе 10 более полно обсуждается этот симулятор.

Команды Simulation (SPICE), Simulation (Verilog) и Simulation (Others) меню Tools способны производить входную спецификацию для нескольких симуляторов. Все эти команды работают на текущем фасете и требуют, чтобы все именованные порты были экспортами. Также необходимо иметь экспорты на питании и земле.

Возможные симуляторы включают уровень схемы (SPICE), уровень переключения (switch-level) (IRSIM, ESIM, RSIM, RNL, COSMOS и MOSSIM), уровень вентиля (gate-level) (ABEL-PAL), и функциональный (VERILOG, TEGAS и SILOS). Дополнительно вы можете генерировать деку для системы анализа индуктивности FastHenry.

Для создания входной деки для любого из этих симуляторов используйте команду Write XXX Deck (где XXX  - это имя симулятора). Дополнительно к этим симуляторам может быть произведен netlist EDIF субкомандой EDIF (Electronic Design Interchange Format) команды Export  меню File

Verilog

Помимо генерации дек Verilog возможно аннотировать схему дополнительными декларациями Verilog и кодом, который будет включен в деку. Субкоманды Add Verilog Code и Add Verilog Declaration команды Simulation (Verilog) меню Tools позволяет вам щелкать по схеме и впечатывать код или декларации. Эти фрагменты текста могут обрабатываться, как любые другие текстовые объекты (см. раздел 6-8 о тексте).

Дополнительное управление генерацией Verilog деки выполняется субкомандой Verilog Options...  Флажки позволят вам выбрать, будет или нет использоваться Verilog "assign" конструкция. Вы можете управлять типом декларации Verilog, который будет использоваться для соединений ("wire" по умолчанию, "trireg", если выбран). Заметьте, что это может быть перезаписано субкомандой Set Verilog Wire команды Simulation (Verilog) меню Tools.

Диалог Verilog Options также позволяет вам прикрепить файлы диска с кодом Verilog к любому фасету в библиотеке. После прикрепления, сгенерированный Verilog будет использовать содержимое этого файла вместо проверки содержимого фасета. Это позволит вам создать ваши собственные определения в ситуациях, когда производный Verilog становится слишком сложным или неправильным. Пример Verilog компоновки и кода вы увидите на фасете "tool-SimulateVERILOG" в библиотеке "samples.txt" (вы можете читать библиотеку субкомандой Readable Dump команды Import меню File).

Figure 9.7

SPICE

SPICE симулятор схем - это специальный случай в Electric. Поскольку симулятор не интерактивный, все спецификации должны быть сделаны графически, в движении. Заметьте, что пример, показанный здесь, доступен в библиотеке "samples.txt", как фасет "tool-SimulateSPICE" (вы можете прочитать библиотеку субкомандой  Readable Dump команды Import меню File).

Все входные значения для SPICE управляются специальными узлами, находящимися командой New SPICE Part меню Edit. Эти элементы также доступны с помощью клавиши "Spice" в меню компонент технологии Schematics. Заметьте, что в первый момент размещения любого узла SPICE библиотека элементов SPICE загружается в  Electric.

Примитивы SPICE, описанные здесь, предназначены для предопределенного набора Electric. Однако можно написать (и делается) дополнительный набор. Для выбора друго набора измените "SPICE primitive set" в субкоманде SPICE Options... команды Simulation (SPICE) меню Tools.

В данном примере есть 5и вольтовый источник питания слева. Он был создан с использованием субкоманды DC Voltage Source. После размещения текст, прочитанный как "Voltage=0V", выбран и модифицирован (либо с помощью Get Info или двойным щелчком по нему). Входной сигнал Pulse справа создан с помощью субкоманды Pulse (он имеет 7 параметров).

Figure 9.6

Этот пример также показывает возможность добавить произвольный текст в деку SPICE субкомандой Add SPICE Card команды Simulation (SPICE) меню Tools. Команда создает фрагмент текста (показанный справа внизу), который может быть модифицирован произвольным образом.

Есть источники напряжения и тока в AC и DC формах. Источники импульсов доступны как источники напряжения и тока. Набор "two-gate (двухвентильных)" устройств также доступен: CCCS, CCVS, VCCS, VCVS и Transmission.

Возможно задать Transient, DC или AC анализ, используя субкоманды Transient Analysis, DC Analysis и AC Analysis. В схеме может быть только один такой элемент.

Биполярные транзисторы имеют нижний слой, соединенный с землей по умолчанию. Если встречается Substrate (нижний слой) узел, его сеть будет использована для соединения нижнего слоя вместо транзисторов. Субкоманда Well (карман) может быть использована для спецификации сети кармана.

Для опытных пользователей есть два специальных узла SPICE: Node Set (набор узла) и Extension (расширение). Node Set может быть параметризован с помощью произвольного фрагмента SPICE кода. Действительно опытные пользователи могут создать свои собственные узлы SPICE, модифицируя фасеты в библиотеке SPICE.

Другая опция, которая может быть использована при моделировании транзисторов и других компонент - это установка специфической модели SPICE для использования этого компонента. Используйте субкоманду Set Spice Model... команды Simulation (SPICE) меню Tools для создания поля модели SPICE на выбранном компоненте. Затем вы можете выбрать этот текст и задать его.

Figure 9.3

Некоторая неграфическая информация может быть также дана симулятору SPICE субкомандой SPICE команды Options...Simulation (SPICE) меню Tools. Верхняя часть этого диалога позволяет вам управлять многими параметрами SPICE деки, такими как SPICE формат (SPICE 2, SPICE 3 или HSPICE), уровнем SPICE (1, 2 или 3), будут ли использованы паразитные элементы в деке, будут ли использоваться действительные имена узлов в деке (SPICE 2 не поддерживает это), какой формат ожидается при чтении вывода SPICE и будет ли форсироваться задание питанию и земле глобальных имен сигналов.

Когда выбрано "Use Facet Parameters (использовать параметры фасета)", любые параметры, определенные на фасете, появятся в деке SPICE. Если не выбрано, каждый параметризованный фасет появляется в деке многократно, по разу для разных комбинаций параметра. См. раздел 6-8, где больше сказано о параметрах.

Для UNIX систем можно выбрать запуск SPICE после генерации деки. Дополнительно можно определить опции специальной командной строки, задаваемые SPICE (поле "With"). Есть пять опций:

Заметьте, что SPICE 2 и SPICE 3 размещают значения waveform в выводе, но HSPICE записывает значения waveform в файл на диск (.tr0 файл). Следовательно, отсутствует чувствительность к выбору "Run SPICE, Read Output" или "Run SPICE Quietly, Read Output" при использовании HSPICE.

Средняя секция диалога Spice Options управляет информацией специфической для технологии, которая включает карточки заголовков (header cards), размещаемых в начале деки SPICE, включает концевые карточки (trailer cards), размещаемые в конце SPICE деки, и включает значения паразитных параметров. Этот диалог позволяет вам задать дисковый файл с карточками заголовков или концевыми карточками, используемыми вместо встроенного набора. Вы можете также редактировать встроенные карточки заголовков для текущей технологии, используя клавишу "Edit Built-in Header Cards", которая вызывает окно редактирования (см. раздел 4-10 о редактировании текста). Паразитные параметры, которые могут быть установлены, включают послойное сопротивление, емкость и краевую емкость. Вы можете также установить минимальное сопротивление и емкость для всей технологии.

Заметьте, что заголовочная, концевая и информация о паразитных параметрах специфична для частной технологии. Если вы задаете эту информацию для одной технологии, а затем используете другую для генерации SPICE деки, информация, которую вы задали, не будет использоваться. Заметьте также, что  schematics, хотя и технология в Electric, не считается технологией SPICE. Вы можете установить подходящую технологию компоновки, которую хотите соотнести со schematics, используя команду Technology Options меню Technology, где устанавливаете "Use Lambda values from this Technology".

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

Примитивы SPICE и Verilog

Electric имеет набор элементов SPICE (DC Voltage Source, CCCS, Pulse и т.д.), которые создают соответствующие карточки SPICE деки. Эти элементы находятся в доступном для чтения файле "spiceparts.txt" директории "lib". Библиотека состоит из набора иконок фасет, которые описывают различные примитивы SPICE, и каждая иконка имеет специальный Spice шаблон (Spice Template), описывающий карточку SPICE для генерации.

Пользователи могут определить их собственные элементы SPICE, создавая новые иконки в библиотеке. Иконка должна иметь графику, экспорты, параметры и шаблон. Параметры создаются субкомандой Facet Parameters... команды Attributes меню Info (см. раздел 6-8, где больше сказано о параметрах). Шаблон SPICE создается субкомандой Set SPICE Template команды Simulation (SPICE) меню Tools.

Вы можете также создать элементы Verilog, используя субкоманду Set Verilog Template команды Simulation (Verilog) меню Tools. Этот шаблон имеет тот же формат, что и показанный ниже, и единственный элемент может содержать и SPICE, и Verilog шаблон.

Здесь иллюстрируется примитив DC Voltage Source. Графика размещена для описания вида символа ("battery" вид). Экспорты созданы на верху и внизу батареи с именами "plus" и "minus". Единственный параметр, который определен, называется "Voltage" с установленным значением "0V". И, наконец, создан шаблон SPICE, который имеет строку

V$(node_name) $(plus) $(minus) DC $(Voltage)


Figure 9.23

Эта строка содержит замещаемые выражения в форме $(SOMETHING), где SOMETHING может быть именем экспорта, переменной или "node_name (имя_узла)". Таким образом, в данном примере $(node_name) будет замещено именем узла напряжения (voltage node); $(plus) будет замещено сетевым именем, закрепленным за положительным выводом; а $(Voltage) будет замещено значением напряжения, определенным пользователем.

Набор примитивов SPICE в Electric полезен, но далеко не полон. Следующий набор, названный "SpicePartsS3" - это приложение, указывающее на специальные примитивы SPICE3. Примитивов Verilog нет в текущей версии Electric. Пользователи, которые определили новые примитивы, приглашаются к распространению их для всего содружества (для контактов Static Free Software).

Прорисовка SPICE

Когда SPICE запущен, вы можете увидеть результаты симуляции, прочитывая файл вывода SPICE обратно в Electric. Поскольку есть много форматов вывода SPICE, вначале следует установить SPICE формат (SPICE 2, SPICE 3, HSPICE или PSPICE) и состояние "Read RAWFILE Output" в диалоге SPICE Options... Затем, используя команду  Plot SPICE Listing (рисовать листинг SPICE), прочитать файл. Сигналы появятся в окне:

Figure 9.4

Окно waveform связано с ассоциированным окном schematics или layout. Щелчком по сигналу в окнах waveform подсвечивается эквивалентная цепь в другом окне, а щелчок по дуге в окне schematics или layout приведет к выбору сигнала waveform. Оба, окно waveform и ассоциированное окно schematics/layout, подсвечиваются красной рамкой, чтобы обозначить, что они часть активной симуляции.

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

Вы можете контролировать, какие сигналы отображаются в окне временных диаграмм (waveform). Для удаления сигнала выберите его имя и введите "r" или нажмите клавишу DELETE. При добавлении сигнала у вас есть выбор, показывать его вместе с существующими сигналами или отдельным графиком. Ввод "o" приведет к добавлению сигнала к текущему выбранному, а ввод "a" к тому, что сигнал будет добавлен к его собственному "frame (кадр)". Если вы введете "o" или "a" в окне waveform, вам будет предложено отобразить список имен сигналов. Если вы введете "o" или "a" в ассоциированном окне schematics/layout, тогда выбранный сигнал из этого окна будет добавлен к отображению waveform.

Помимо оси времени, возможно зумировать (zoom) и панорамировать (pan) вертикальную ось кадра (frame) окна временных графиков (waveform). Ввод '7' удваивает масштаб (zooms-in) а ввод '0' уменьшает масштаб вдвое (zooms-out). Ввод '9' возвращает масштаб, так что данные заполняют экран. Используйте '8' и '2' для увеличения и уменьшения значения данных.

Еще одна заключительная возможность - получение снимка экрана окна отображения сигналов. Введите "p"  для сохранения waveform в базе данных (фасет с "simulation-snapshot" видом создается с помощью компонент artwork).

Вот суммарно single-key (одноклавишные) команды доступные в окне SPICE:

Key

Waveform Window

Schematics/Layout Window

a

Добавить сигнал

Добвить выбранную сеть в waveform окно

o

Переписать сигнал поверх текущих выбранных линий сигналов

Переписать выбранную сеть поверх текущих выбранных линий сигналов

r
DEL

Удалить выбранный сигнал

 

7

Увеличить вертикально (двойной масштаб данных)

 

0

Уменьшить вертикально(уполовинить масштаб данных)

 

9

Масштабировать данные для заполнения экрана

 

8

Увеличить данные на 1/4 экрана

 

2

Уменьшить данные на 1/4 экрана

 

p

Сохранить копию экрана окна waveform

 

d

 

Перемещаться вниз по иерархии (в выбранный фасет)

u

 

Перемещаться вверх по иерархии (из текущего фасета)

?

Печатать этот листинг команд single-key

Печатать этот листинг команд single-key

FashHenry

FastHenry - инструмент индуктивного анализа (см. документы Jacob White). Когда сгенерирована дека FastHenry, записывается подмножество дуг в текущем фасете. Для включения дуги в деку FastHenry выберите ее и используйте субкоманду FastHenry Arc Info... команды Simulation (Others) меню Tools.

Эта команда представляет диалог с факторами FastHenry для выбранной дуги. Наиболее важный фактор сверху справа: "Include this arc in FastHenry analysis (включить эту дугу в FastHenry анализ)". После выбора дуга описывается в деке FastHenry. Сразу после выбора активизируются другие поля в диалоге. Вы можете установить толщину этой дуги (показанное значение по умолчанию будет использоваться, если переобозначение не задано). Вы можете установить число подделений, которые будут использованы в высоте и ширине (вновь, предопределенные показаны). Вы можете даже установить высоту двух концов дуги.

Figure 9.19

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

После того, как все дуги маркированы, вы можете генерировать деку FastHenry субкомандой Write FastHenry Deck... команды Simulation (Others) меню Tools. Перед тем, как сделать это, однако, вы можете установить другие опции для генерации деки FastHenry. Чтобы это сделать, используйте субкоманду FastHenry Options... команды Simulation (Others) меню Tools.

Figure 9.18

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


Prev

Предыдущий

   

Contents

Содержание

   

Следующий

Next