Изучение САПР по роликам с Youtube – это как готовить сложное блюдо по рецепту из Интернета: вроде всё понятно, но в итоге либо подгорает, либо что-то взрывается.

Майкл ФараDRCей
Гуру электромагнитной совместимости
Хочется сразу предупредить: данная статья не для опытных разработчиков. Здесь не будет формул, заумных терминов и прочих сложных вещей - всё это можно и так найти по первой ссылке в Google или Youtube.
Мне, как человеку, недавно начавшему путь разработчика РЭА, очевиден дефицит русскоязычного контента в сфере проектирования и моделирования в САПРах. Это касается и ADS, причем очень остро.
Но прежде чем разбирать наши первые шаги в ADS, разберемся что вообще умеет этот монстр. На самом деле, много. Данный САПР делает из вас супермена настоящего специалиста. Вы сможете создать электрическую схему, проверить правильность ее проектирования, а затем промоделировать как по частотам, так и по времени. Естественно, все это распространяется и на топологию. Электромагнитное моделирование доступно, причем присутствует интеграция с другими программами, правда напрямую импорта нет (только для софта от Keysight). Но в совместимость в этой статье вникать мы не будем.
Перейдем к делу. Начнем с главного меню программы.
Примечание. Используется ADS 2024, но более старые версии не сильно отличаются интерфейсом.

Не знаю, есть ли русификатор для данного САПР, но лучше привыкать к английскому, т.к. вся документация именно на нем, да и абсолютное большинство обучающих материалов тоже.
-
Выпадающее меню File позволяет работать с доступными нам файлами, что логично. Через это меню создаются, удаляются файлы и проекты, добавляются библиотеки, импортируются/экспортируются файлы и библиотеки и др. В общем, стандартные функции, которые можно встретить в любом другом САПРе.
-
View позволяет работать с иерархичностью проекта, открывать начальные окна программы, консоль и прочая
ерундаполезные вещи. За все время пользования софтом ни разу не использовал функции из этой менюшки, даже останавливаться на ней не будем. -
Options что логично из названия позволяет настраивать САПР. В целом, настроек здесь особенно важных нет. Большинство касаются удобства, но настройкой удобств программ лучше заниматься после знакомства. По началу советую ничего здесь не менять, а когда захотите поменять, то к тому моменту вам должно хватить опыта работы с программой, чтобы разобраться самому.
-
Tools пропускаем. По началу точно не пригодится.
-
Window позволяет работать с окнами. Полезная вещь, интуитивно понятна, в дальнейшем бегло по ней пройдемся.
-
DesignKits позволяет добавлять избранные библиотеки (часто придется пользоваться библиотеками, содержащими результаты моделирования компонентов от производителя). Очень удобная и полезная вещь. Далее разберем.
-
DesignGuide бесполезно.
-
Help не требует пояснений.
Остановимся на пункте 1 подробнее.
Выпадающий список New позволяет создавать рабочую область, а далее внутри рабочей области позволит создавать схемы, топологии и прочее. Также можем через данное меню выполнять различные операции с файлами и рабочими проектами - удалять, копировать, архивировать и т.д. После создания рабочей области из меню New (Workspace) станет доступно управление библиотеками (Manage Libraries...). В целом меню понятно интуитивно и подробного разбора не требует.

Итак, с функциями ознакомились. Теперь наш первый шаг - создать рабочую область. Для этого переходим в File-New-Workspace... Откроется окно New Workspace.

Здесь можно задать имя (Name). Советую называть проект так, чтобы вы могли потом разобраться в них. Пример: LNA_2_4GHZ_wrk. Русские буквы лучше не использовать в избежание конфликтов, какие-либо символы кроме _ тоже. Папка проекта задается в Create in.
Итак, проект создан. Что дальше? Создаем наши файлы проекта. Для этого опять используем меню File.
Создаем Schematic и Layout.
При создании Layout появится окно:

Здесь выбираем Standard ADS Layers, 0.0001 millimeter layour resolution и нажимаем Finish. Пока без пояснений, просто делаем так.
Итак, мы имеем два файла, для каждого из которых создалась отдельная ячейка.

Перед тем, как начать что-либо делать, остановимся на добавлении библиотек, т.к. любому нормальному разработчику они в любом случае понадобятся, поэтому работать с ними нужно учиться сразу.
Переходим в DesignKits - Manage Libraries...
В открывшемся окне нажимаем Add Library Definition File... и выбираем путь к файлу библиотеки (он будет с расширением .defs).
Должна появиться папка lib.defs. Если она есть, значит библиотеку мы подключили.

Далее двойным кликом открывает нашу первую схему (файл schematic, который был создан ранее). Видим перед собой кучу различных кнопок, интерфейс 2000-х годов, чувствуем себя будто мы бабушка, случайно открывшая Photoshop хорошо и не паникуем.
Принцип работы прост. Мы строим схему при помощи всем известных нам встроенных пассивных и активных элементов: резисторов, конденсаторов, транзисторов и т.д. Но это только малая часть того, что представляет нам ADS. Мы можем также использовать уже готовые устройства по типу операционного усилителя, малошумящего усилителя и т.д. Также можно использовать и элементы из внешних библиотек (тех самых, которые мы подключали ранее). Они чаще всего представляются в виде элемента, содержащего S-параметры реального устройства.
Что такое S-параметры рассказывать не буду, в этой статье я не углубляюсь в теоретическую часть. Но вам нужно обязательно разобраться с тем, что такое S-параметры, какие параметры еще бывают, какие данные нужны, чтобы понять, что схема работает тем или иным образом. Это важная вещь, основа основ, если вы с ней не разберетесь, то лучше просто закрыть ADS и забыть про разработку устройств.
Стоит обратить внимание, что электрические соединения основаны на сетке. Каждый элемент имеет свое положение в координатном пространстве, поэтому нужно контролировать так называемый Off-Grid. Без привязанности объекта к сетке вы просто не сможете его соединить с другим объектом. Проверить привязанность к сетке можно в меню Options - Snap enabled. Контролируйте, чтобы эта опция была всегда включена.
Перейдя в Insert - Template, можно обнаружить очень много шаблонов настроек, позволяющих провести моделирование определенных параметров построенной вами схемы. Мы будем использовать шаблон ads_templates:S_Params. Вставляем данный шаблон в любом месте пространства для построения схемы. Увидим у портов Term1 и Term2 красные точки на конце. Это значит, что эти концы не подключены. К ним мы будем подключать нашу схему.

Как же строить схему? Очень просто. Слева должна быть вкладка Parts, которая содержит все доступные элементы. Здесь можно найти и встроенные элементы, и элементы внешних библиотек. Чтобы разместить объект на схеме, нужно просто нажать на него ЛКМ, затем навести на место, куда мы его ставим, и снова нажать ЛКМ. Для соединения элементов между собой используем горячее сочетание клавиш Ctrl+W. Оно включит режим соединения, принцип такой же как с проводами, просто соединяем выводы элементов между собой.


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

Итак, предположим, наша схема готова. Далее нужно запустить симуляцию. Просто нажимаем на шестеренку и процесс запустится самостоятельно (если вы правильно собрали схему и она не нарушает правил построения).

Результаты моделирования автоматически отобразятся в новом окне.

Слева увидим палетку, которая позволяет добавлять таблицы, графики и прочее. Эта вкладка интуитивно понятна, про нее особо нечего рассказать.

По схемам на этом все, что нужно новичку. В 90% случаев для анализа хватит S-параметров (для простых устройств вроде фильтров). Естественно, это не все, что умеет ADS, но чтобы рассказать про все функции, нужно написать безграничное множество статей. Лучше перейдем к топологии.
Открываем наш файл топологии (layout file). Здесь принцип построения аналогичный. Все элементы привязываются к сетке, но электрическое соединение происходит при контакте элементов, соединять их как в схемах нельзя. Переключаться между шагами сетки можно через Options - Grid Spacing...
Для построения используются примитивы.

Но также можно использовать и библиотечные элементы. Они расположены слева во вкладке Parts, как и в случае со схемами. Но перед тем, как перейти к урокам рисования, нужно задать стек слоев нашей будущей печатной платы (т.е. взаимное расположение и размеры диэлектриков, металла, переходных отверстий для соединений разных слоев).

Тыкаем по кнопке, обведенной выше. Откроется окно создания стека слоев.

Также доступны для выбора готовые шаблоны.

ЛКМ по слою выделяет его. Справа окно со свойствами и параметрами слоя. ПКМ позволяет редактировать и создавать слои.

Нажав ... возле материала, откроется окно выбора и редактирования материалов. Там же можно задать свой материал со своими параметрами.
После задания стека слоев можно переходить к урокам рисования. Главное, обратите внимание на каком слое вы находитесь, и что за материал у вас будет на этом слое.

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

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

Откроется окно создания.

Здесь просто нажимаем Create EM Setup View. Откроется окно параметров симуляции. Здесь можно выбрать методы симуляции (Momentum RF, Momentum Microwave, FEM). Чем они отличаются в этой статье раскрывать не будем. Главное понимать, что это разные методы расчетов модели. Во вкладке Substrate можно выбрать какой стек слоев используем. Вкладка Ports позволяет редактировать пины. Frequency Plan - важная вкладка, здесь задаем какие частоты будем моделировать (диапазон, или точку, интуитивно по названиям). Вкладка Options позволяет задать параметры симуляции. Здесь важно во вкладке Mesh задать нужную сетку. Чем меньше сетка, тем точнее модель, но тем больше мощи вашего ПК будет нужно (соответственно считаться будет дольше). Выбирайте что-то среднее исходя из параметров вашего ПК. Остальные вкладки новичку не нужны.

Итак, мы задали все параметры. Нажимаем на кнопку Simulate и ожидаем. По окончании симуляции, откроется окно с результатами.

Казалось бы, ура! Вы умеете моделировать, можете начать свой путь разработчика, но не все так просто. Вам ведь нужно не просто плату посчитать, а плату с компонентами на ней.
Как это сделать?
-
На вашей готовой плате к каждому посадочному месту компонента добавляем пин.
-
После проведения ЭМ симуляции переходим в EM - Component - Create EM model and symbol... и нажимаем OK, обе галочки должны быть включены.
-
Создаем новый schematic file, назовем его TestBench (TB).
-
Добавляем наш шаблон ads_templates:S_Params
-
Переходим в Insert - Component - Component Library... Выбираем Workspace Libraries и выбираем ячейку с печатной платой. ПКМ по ячейке, Place component. Теперь окно можно закрыть, и в окне Schematic будет доступна для добавления модель платы (это называется Symbol, он содержит результаты ЭМ моделирования). Все пины, которые мы указывали при создании платы тут также будут отображены. К этим пинам можем подключать наши компоненты. Пример ниже.
-
Просто запускаем симуляцию, нажав на шестеренку. Также получим результаты моделирования платы, но уже с компонентами. (В примере просто для демонстрации установлены резисторы. В реальности вы будете использовать пины для подключения конденсаторов, транзисторов и пр. к посадочным местам).


На самом деле, весь этот процесс из 6 пунктов, называется ЭМ ко-симуляцией, но кому это интересно мы в подробности не углубляемся.
Принимайте мои поздравления. Если у Вас получилось проделать все эти шаги самостоятельно, то вы можете приступать к разработке своих собственных устройств. Естественно, многого в статье не рассказано и не упомянуто, но все новые знания можно наслаивать. Когда есть базовое понимание и умение, намного проще впитывать обучающие материалы от самих разработчиков ADS, например. В данной статье я постарался максимально просто объяснить, что нужно сделать, чтобы создать свой первый простенький проект. Можно переписать данную статью, разбрасываясь направо и налево научными терминами, не поясняя их смысл, но будет ли это хорошим материалом для новичка? Думаю, это лишь отобьет все желание. Лично мне самому очень сильно не хватает таких обучений в русскоязычном сегменте, где все разжевано, сказано куда кликать и когда.
Автор: bardak0