Keysight ADS
Keysight Advanced Design System или просто ADS - проприетарный пакет для СВЧ моделирования. Дополнительно, в составе пакета имеются инструменты для анализа целостности питания и перекрёстных помех. Является частью экосистемы анализа и моделирования PathWave, поэтому более полное название - Keysight PathWave Advanced Design System. Первая версия программы выпущена аж в 1983 году для рабочих станций Sun Microsystems и HP-UX.
Установка
Рассмотрим установку ADS, версии 2025 Update 2, на ОС Альт 10.4 Рабочая Станция К. Для доступности всем пользователям, будем производить установку и запуск сервера лицензий от суперпользователя. В случае установки для одного пользователя, можно сделать всё по аналогии. Для установки необходимо скачать архив или ISO с программой. Например, с официального сайта.
0. Начнём с установки необходимых пакетов. Для работы ADS необходим интерпретатор ksh и библиотека libnsl1. В Альт P10 ksh имеет название pdksh.
# apt-get install pdksh libnsl1
1. Производим распаковку архива или ISO в домашнею папку пользователя.
2. Переходим в папку с программой, находим скрипт SETUP.SH и запускаем от суперпользователя:
$ su # ./SETUP.SH
3. В установщике соглашаемся с лицензионным соглашением, выбираем комплектность установки, выбираем путь для установки (по умолчание это /usr/local/ADS2025_Update2) и устанавливаем программу. После закрываем установщик.
4. Чтобы автоматически проверять сетевую лицензию, необходимо добавить новую переменную среды. Для этого, при установке для всех пользователей, необходимо добавить в profile.d скрипт для её создания. Помимо этого, неплохо иметь возможность запускать программу из терминала, для этого добавим путь к исполняемому файлу в переменную PATH.
4.1. Создадим скрипт ads_env.sh и добавим туда команду для лицензии:
export ADS_LICENSE_FILE=<порт вашего сервера лицензий>@<IP адрес вашего сервера лицензий>
И для запуска из терминала:
export PATH="<Ваш путь к папке с установленной программой>/bin":$PATH
В моём случае, используется локальный сервер, а путь стандартный, поэтому скрипт ads_env.sh будет иметь вид:
export ADS_LICENSE_FILE=27009@localhost export PATH="/usr/local/ADS2025_Update2/bin":$PATH
4.2. Сделаем скрипт исполняемым и положим в profile.d:
$ su # chmod +x ads_env.sh # cp ads_env.sh /etc/profile.d/
5. После установки переменных среды необходимо получить рабочий файл лицензии и активировать лицензию. Рассмотрим сетевую активацию с локальным сервером лицензий. Более подробно про работу с сервером плавающих лицензий lmgrd можно прочитать тут.
5.1. В начале, необходимо получить корректный файл лицензии. Перед запуском сервера обязательно убедитесь, что данные вашей машины указаны верно и корректно. Обычно, в файле лицензий это выглядит так:
SERVER <Имя хоста> ANY <Порт, на котором будет расположен сервер лицензий> VENDOR agileesofd .....
5.2. Необходимо скопировать файл лицензии в папку: <Папка с установленной программой>/Licensing/<Версия ПО>/linux_x86_64/bin. В моём случае это выглядит так:
$ su # cp agileesofd.lic /usr/local/ADS2025_Update2/Licensing/2024.06/linux_x86_64/bin/
5.3. Необходимо запустить сервер лицензий. Лучше делать это с созданием лога отладки для возможности обнаружения ошибок. Чтобы избежать проблем с путями, лучше запускать сервер из папки, в которую был ранее скопирован файл лицензии. Команда для запуска из папки:
./lmgrd -c <Имя вашего файла лицензии> -l debug.log
В моём случае, это делается так:
$ su # cd /usr/local/ADS2025_Update2/Licensing/2024.06/linux_x86_64/bin/ # ./lmgrd -c agileesofd.lic -l debug.log
# ./lmgrd bash: ./lmgrd: Нет такого файла или каталога
Для устранения ошибки вводим команду от суперпользователя:
# ln -s /lib64/ld-linux-x86-64.so.2 /lib64/ld-lsb-x86-64.so.3
5.4. Для проверки корректности запуска сервера лицензий необходимо прочитать лог файл:
# cat debug.log
В случае удачного запуска сервера, файл debug.log выглядит примерно так:
22:11:09 (agileesofd) (@agileesofd-SLOG@) Running on Hypervisor: Unknown Hypervisor 22:11:09 (agileesofd) (@agileesofd-SLOG@) =============================================== 22:11:09 (agileesofd) Ecomms: Encrypted Communication disabled 22:11:09 (agileesofd) TCP_NODELAY NOT enabled 22:11:09 (agileesofd) Listener Thread: running 22:11:09 (agileesofd) Starting diagnostics port listener thread (DPLT) 22:11:09 (agileesofd) Starting diagnostics output thread (DRQT) 22:11:09 (agileesofd) DPLT: running 22:11:09 (agileesofd) DPLT: waiting for logger to connect 22:11:09 (agileesofd) DRQT: running
5.5. Для того, чтобы каждый раз не перезапускать сервер лицензий при перезапуске машины, логично добавить задачу в Cron того пользователя, от которого запускается сервер. В моём случае - это суперпользователь. Чтобы избежать проблем с путями к файлам, и при этом обойтись одной командой, можно просто добавить полные пути к файлам в команду. Для этого открываем таблицу Cron командой:
# crontab -e
И добавляем туда строку такого содержания:
@reboot <Путь к папке с lmgrd>/lmgrd -c <Путь к папке с lmgrd>/licence.lic -l <Путь к папке с lmgrd>/debug.log
В моём случае, запись в Cron выглядит так:
@reboot /usr/local/ADS2025_Update2/Licensing/2024.06/linux_x86_64/bin/lmgrd -c /usr/local/ADS2025_Update2/Licensing/2024.06/linux_x86_64/bin/agileesofd.lic -l /usr/local/ADS2025_Update2/Licensing/2024.06/linux_x86_64/bin/debug.log
6. Перезагружаем машину.
# reboot
7. Пробуем запустить ПО, написав в консоли от обычного пользователя:
$ ads
В случае, если вы всё сделали правильно, программа запустится и сразу подхватит вашу лицензию.
Иконка для запуска
При установке программы, в отличии от Windows версии, иконка для запуска не создаётся. Но, это можно поправить, создав её самостоятельно.
1. Создаём папку, например, ads_run:
# mkdir ads_run
2. Находим в сети логотип ADS, например, такой, скачиваем его и кладём в папку ads_run.
3. Даём соответствующее имя, например, ADS.ico.
4. Создаём скрипт для создания иконки. Например, такой:
#!/bin/bash pa=$(pwd) us=$(whoami) rt=root if [ "$us" = "$rt" ] then sv=/usr/share/applications/ADS_2024.desktop else sv=~/.local/share/applications/ADS_2024.desktop fi echo "[Desktop Entry] Comment[ru_RU]=PathWave Advanced Design System (ADS) 2024 Comment=PathWave Advanced Design System (ADS) 2024 Exec=ads GenericName[ru_RU]=ADS 2024 GenericName=ADS 2024 Icon=${pa}/ADS.ico MimeType= Name[ru_RU]=ADS 2024 Name=ADS 2024 Path=/home/$USER StartupNotify=true Terminal=false TerminalOptions= Type=Application Categories=Science; X-KDE-SubstituteUID=false X-KDE-Username=" > $sv
Данный скрипт при запуске от пользователя создаёт иконку локально, а при запуске от суперпользователя глобально. Данный скрипт должен лежать рядом с иконкой в папке ads_run.
5. Перемещаем папку ads_run в папку с установленной программой, переходим в папку и запускаем скрипт. Вот как это выглядит в моём случае:
$ su # mv ads_run/ /usr/local/ADS2025_Update2 # cd /usr/local/ADS2025_Update2/ads_run/ # chmod +x SETUP_ICON.SH # ./SETUP_ICON.SH
Теперь иконка программы должна появиться в разделе "Наука" главного меню операционной системы!
Совместимость
Какие версии лучше ставить на Альт?
На Альт P10 лучше всего работают наиболее свежие версии ADS. В процессе тестов выявлено, что лучше всего ставить версии от 2023 и выше. На более старых версиях могут встречаться проблемы в виде не отображающихся результатов моделирования и не работающих дополнительных пакетов, таких как, Via Designer или RFPro.
Совместимость с проектами под Windows
Обычно, всё что было создано в ADS для Windows без каких-либо проблем открывается и Линукс версии. Исключение могут составлять проекты от достаточно старых версий, например, если попытаться открыть проект, созданный в ADS 2019 под Windows, в ADS 2024 на Линукс можно получить предупреждение о возможных ошибках в работе.
Кириллица
ADS не полностью поддерживает кириллицу. Чтобы избежать неожиданных ошибок, лучше избегать кириллических символов в названии рабочих папок, в именах файлов, путях к файлам, а также в процессе работы с программой необходимо использовать только ASCII символы.
Wayland
Wayland сессии не поддерживаются. Исключительно XORG.