Несколько недель назад мы получили набор микросхем Microchip PolarFire SoC FPGA Icicle с матрицей FPGA и ядрами RISC-V, способными работать с Linux. Мы опубликовали обзор «Начало работы с Yocto Linux BSP» – своего рода руководство для платы и изначально озаглавили текущий пост «Начало работы с FPGA с использованием Libero SoC и Polarfire FPGA SoC».
Мы предполагали, что напишем один или два абзаца о процессе установки, а затем покажем, как работать с Libero SoC Design Suite для создания потока битов FPGA. Но вместо этого мы провели бесчисленные часы, пытаясь установить инструменты разработки. Поэтому мы расскажем о нашем опыте, чтобы позволить читателям избежать некоторых ловушек и, надеемся, сэкономить время.
(Ошибка) Установить Libero SoC v2021.v2 на Ubuntu 20.04
Если мы перейдем на страницу загрузки, мы увидим Libero SoC v2021.2 для Windows и Libero SoC v2021.2 для Linux. Поскольку на нашем компьютере установлена Ubuntu 20.04, мы решили использовать версию для Linux. Обратите внимание, что перед началом работы вам необходимо создать учетную запись в MicroSemi/Microchip. В первый раз это не удалось из-за ошибок на сайте при регистрации новой учетной записи.
Независимо от количества наших попыток, все равно всплывала та же ошибка. Мы попытались через неделю, и в конечном итоге нам удалось получить доступ к ссылке для загрузки версии для Linux с некоторыми простыми инструкциями по установке:
Вариант 1: Загрузите Libero SoC v2021.2 (Linux) (BIN)
MD5: c43f8d4f399bcb4101e0db095c1a7012
sha256sum: d8c748fcc0fe2f0a3cb31d00f0111e86e3c523be485d3a7a55a93ec5fa3258c8
Инструкции по установке †
Убедитесь , что у вас есть по крайней мере 30GB бесплатно (для установки) и 35GB (в темп каталог во время установки) на жестком диске.
Скопируйте Libero_SoC_v2021.2.bin из указанного выше пути во временный каталог.
Перейдите во временный каталог
«chmod + x Libero_SoC _v2021.2.bin».
Введите: «./Libero_SoC _v2021.2.bin», чтобы запустить установщик libero.
Следуйте инструкциям по установкеЕсли у вас возникнут проблемы с загрузкой программного обеспечения Microsemi, отправьте электронное письмо по адресу webfeedback@microsemi.com.
Это запустит графический интерфейс для установки программного обеспечения.
Приняв лицензионное соглашение, мы решили установить и Libero SoC, и лицензию на установку, поскольку это необходимо, и мы должны получить бесплатную годовую лицензию «Silver».
Вы должны установить программу в каталог, в котором у вас есть права чтения/записи, установка от имени пользователя root/sudo не рекомендуется. Итак, мы выбрали /home/jaufranc/microsemi.
Нас также просят указать общий каталог, и мы набираем /home/jaufranc/microsemi/common. Далее идет лицензия .
Это немного сбивает с толку, так как список внушительный. Основываясь на том, что мы читали, нам нужна лицензия Silver для платы, но мы используем Linux, выбираем «Плавающую лицензию Libero Silver на 1 год для Windows/Linux». Нас попросили ввести MAC-адрес сервера, после чего мы получили подтверждающее сообщение:
Не нужно ждать получения лицензии, продолжаем установку.
Установка программного обеспечения занимает некоторое время (около часа +), и после этого запускается проверка наличия необходимых пакетов, что также займет некоторое время …
Нам пришлось вручную установить некоторые пакеты … Не знаем, почему у нас есть графический пользовательский интерфейс, но делать все из командной строки может быть так же удобно…
Из 32-битных пакетов:
1 2 |
sudo apt install -y libc6:i386 libdrm2:i386 libexpat1:i386 libfontconfig1:i386 libfreetype6:i386 libglapi-mesa:i386 libglib2.0-0:i386 libgl1:i386 libice6:i386 libsm6:i386 libuuid1:i386 libx11-6:i386 libx11-xcb1:i386 libxau6:i386 libxcb-dri2-0:i386 libxcb-glx0:i386 libxcb1:i386 libxdamage1:i386 libxext6:i386 libxfixes3:i386 libxrender1:i386 libxxf86vm1:i386 zlib1g:i386 |
а затем шрифты и пакеты ksh:
1 2 3 4 5 |
sudo apt install -y xfonts-intl-asian xfonts-intl-chinese xfonts-intl-chinese-big xfonts-intl-japanese xfonts-intl-japanese-big ksh libxft2:i386 libgtk2.0-0:i386 libcanberra-gtk-module:i386 packagekit-gtk3-module:i386 Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package packagekit-gtk3-module:i386 |
Для packagekit-gtk3-module нет пакета i386, поэтому мы установили 64-битный:
1 2 |
sudo apt install -y xfonts-intl-asian xfonts-intl-chinese xfonts-intl-chinese-big xfonts-intl-japanese xfonts-intl-japanese-big ksh libxft2:i386 libgtk2.0-0:i386 libcanberra-gtk-module:i386 packagekit-gtk3-module |
Затем нажимаем «Далее», чтобы продолжить.
У нас есть ссылка на некоторые инструкции по выполнению примера сценария, который можно попробовать позже.
Все хорошо. Мы также получили по электронной почте «Плавающую лицензию Microsemi Libero Silver на 1 год для Windows/Linux Server License». Но нам пришлось проделать следующее:
- Сохраните файл License.dat, отправленный нам на электронную почту. Мы сделали это в созданном нами каталоге microsemi/license. Это легкая часть 🙂
- Загрузить необходимые демоны диспетчера лицензий для Linux. Microsemi рекомендует размещать эти файлы в том же месте, что и файл License.dat. Итак, у нас есть следующие файлы в каталоге лицензий
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
jaufranc@cnx-laptop-4:~/microsemi/license$ ls -l total 22988 -rwxr-xr-x 1 jaufranc jaufranc 1258644 Dec 15 2018 actlmgrd -rw-rw-r-- 1 jaufranc jaufranc 7506 Oct 20 17:37 License.dat -rwxr-xr-x 1 jaufranc jaufranc 1149048 May 19 2020 lmdiag -rwxr-xr-x 1 jaufranc jaufranc 1149048 May 19 2020 lmdown -rwxr-xr-x 1 jaufranc jaufranc 1171800 May 19 2020 lmgrd -rwxr-xr-x 1 jaufranc jaufranc 1149048 May 19 2020 lmhostid -rwxr-xr-x 1 jaufranc jaufranc 1149048 May 19 2020 lmreread -rwxr-xr-x 1 jaufranc jaufranc 1149048 May 19 2020 lmutil -rwxr-xr-x 1 jaufranc jaufranc 3361324 Jul 30 2020 mgcld -rwxr-xr-x 1 jaufranc jaufranc 10117728 Nov 25 2020 snpslmd -rwxr-xr-x 1 jaufranc jaufranc 402432 Apr 23 2016 syncad -rwxr-xr-x 1 jaufranc jaufranc 1448880 Apr 23 2016 synplctyd |
- Открыть License.dat, чтобы отредактировать первую строку, заменив <put.hostname.here> именем хоста вашего компьютера (locahost в нашем случае)
- Плавающие лицензии Libero Linux включают инструменты Libero, Synplify Pro ME, Identify ME, Synphony Model Compiler ME и ModelSim ME. Отредактируйте каждую строку VENDOR и DAEMON, указав правильный путь к каждому демону поставщика, а затем сохраните файл License.dat. У нас было всего три таких строки, поэтому верхняя часть нашего файла лицензии выглядит так:
1 2 3 4 |
SERVER localhost abcdefghijl 1702 DAEMON actlmgrd ./actlmgrd DAEMON mgcld ./mgcld VENDOR snpslmd ./snpslmd |
Выполните следующую команду, чтобы запустить диспетчер лицензий:
1 |
<path_to_lmgrd>/lmgrd -c <path_to_License.dat/License.dat> |
Или, в качестве альтернативы, если вы предпочитаете, чтобы выходные данные Менеджера лицензий записывались в файл журнала, выполните следующую команду в командной строке:
1 |
<path_to_lmgrd>/bin/lmgrd -c <path_to_License.dat>/License.dat -l <path_to_logfile>/license.log |
По идее, мы должны это сделать, но выполнить команду lmgrd не удалось:
1 2 |
./lmgrd -c License.dat bash: ./lmgrd: No such file or directory |
Эти лицензионные демоны, по-видимому, распространены и применимы также к Keil MDK, и решение есть на веб-сайте Arm. Мы можем проверить библиотеки, используемые утилитой, с помощью ldd:
1 2 3 4 5 6 7 8 9 |
$ ldd lmgrd linux-vdso.so.1 (0x00007ffdd3fea000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fc534d80000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fc534c31000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fc534c16000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fc534a24000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fc534a1e000) librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fc534a13000) /lib64/ld-lsb-x86-64.so.3 => /lib64/ld-linux-x86-64.so.2 (0x00007fc534dcd000) |
Библиотека отсутствует :
1 2 |
$ ls /lib64/ld-linux-x86-64.so.3 ls: cannot access '/lib64/ld-linux-x86-64.so.3': No such file or directory |
и мы советуем установить lsb:
1 |
sudo apt install lsb |
Это сработало не сразу, но через пару минут нам удалось сдвинуться с места:
1 2 3 |
17:57:08 (snpslmd) Can't make directory /usr/tmp/.flexlm, errno: 2(No such file or directory) 17:57:08 (snpslmd) Can't make directory /usr/tmp/.flexlm, errno: 2(No such file or directory) 17:57:08 (snpslmd) Can't make directory /usr/tmp/.flexlm, errno: 2(No such file or directory) |
Отлично! Еще одна ошибка. Мы пытались запустить программу от имени root, но это тоже не рекомендуется из соображений безопасности, да и не сработало. Нами было принято решение просто создать каталог и сделать его доступным для записи пользователя.
1 2 |
sudo mkdir -p /usr/tmp sudo chown -R jaufranc.jaufranc /usr/tmp |
Мы все еще не работали должным образом, потому что несколько раз запускали lmgrd, а другие экземпляры все еще работали с портом 1702. Поэтому мы завершили все процессы lmgrd и дали ему последнюю попытку, которая, похоже, сработала. Журнал длинный, поэтому мы отправили его в CNX Pastebin .
Давайте запустим программу Libero SoC, чтобы убедиться, что она работает …
1 2 3 |
/home/jaufranc/microsemi/Libero/bin/libero Gtk-Message: 20:03:11.684: Failed to load module "appmenu-gtk-module" Gtk-Message: 20:03:11.759: Failed to load module "pk-gtk-module" |
Пару минут загружался процессор, а потом ничего. Затем нам сказали открыть заявку с поддержкой Microchip. Мы довольно быстро получили ответ:
Libero 12.4 и более поздние версии поддерживаются только в Ubuntu 18.04, других версий нет.
Identify и Modelsim ME Pro не поддерживают напрямую платформу Ubuntu.
(упоминается в примечании к выпуску libero)
Но очевидно, что это был не тот ответ, на который мы надеялись получить, и действительно, глядя на страницу 28 примечаний к выпуску, мы можем увидеть список поддерживаемых операционных систем:
- ОС Windows 10
- Red Hat Enterprise Linux 7.2-7.6 и Red Hat Enterprise Linux 8.x
- CentOS 7.2-7.6
- OpenSUSE Leap 42.3 (эквивалент SLES 12.3)
- Ubuntu 18.04 (Identify и Modelsim ME Pro не поддерживают напрямую платформу Ubuntu. Программатор FlashPro5 не поддерживается в Ubuntu. Инструмент «Диспетчер заданий» не поддерживается.)
В этот момент мы заметили, что кто-то опубликовал инструкции по установке Libero SoC 2021.v1 на Ubuntu 20.04. Мы пробовали, но и у нас ничего не вышло.
В Ubuntu 18.04 не работают некоторые функции. Сначала мы подумали об установке Ubuntu 18.04 в VirtualBox, но необходимо было соблюдение минимальных требований для использования Libero SoC, включая наличие 16 ГБ ОЗУ, а наш компьютер имеет только 16 ГБ ОЗУ, поэтому у виртуальной машины будет меньше этого. Следующим вариантом будет установка Ubuntu 18.04 на USB-накопитель, но, видя, что некоторые функции не поддерживаются, мы решили заменить наш текущий внутренний жесткий диск на один с Windows 10, чтобы обеспечить безопасность и не тратить еще больше времени.
Установка Libero SoC Design Suite в Windows 10
И вы удивляетесь, почему людям нужны инструменты с открытым исходным кодом! В любом случае … Давайте попробуем еще раз с Windows 10 …
Есть два варианта загрузки:
Вариант 1: Загрузите Libero SoC v2021.2 (Windows) (малый EXE, установка через Интернет *)
MD5: a5df01a7199c076cd9c954e952b006f2
sha256sum: ff0ddcd9c64b86a34e243df92651352d
Instructions158d4aa436fbddb850GB на жестком диске
Загрузите Libero_SoC_v2021.2_Web.exe из указанного выше пути во временный каталог.
Запустите файл Libero_SoC_v2021.2_Web.exe от имени администратора и следуйте инструкциям.Вариант 2: Загрузите Libero SoC v2021.2 (Windows)
MD5: 1ac4e3e5d70adfa3269c26cebb7b7b4b
sha256sum: a3ca9527d72764a0d58d3c7627ef6dc029799ba460873f04f52eb0191d
Installationd39 †
Скопируйте Libero_SoC_v2021.2_win.zip из указанного выше пути во временный каталог.
Распакуйте zip-файл во временную папку.
Запустите ярлык «Libero_SoC_v2021.2.lnk» и следуйте инструкциям по установке.
Мы решили воспользоваться вариантом с веб-установкой.
Процедура в основном такая же, как и в Ubuntu, за исключением того, что нам не нужно вручную устанавливать библиотеки, и мы пропустили лицензионные приложения, поскольку они у нас уже есть. На это ушло чуть меньше двух часов.
Наша лицензия Silver действительна как для Linux, так и для Windows, поэтому мы не подавали заявку на получение другой лицензии, хотя лицензия с привязкой к узлу также должна быть опцией в Windows, и ее может быть проще настроить. Итак, давайте продолжим с плавающей лицензией в Windows.
Нам снова пришлось сохранить Licence.dat и загрузить демонов для Windows . Мы сохранили все в каталоге C:\flexlm согласно инструкции.
Поскольку мы используем серверную лицензию, нам нужен localhost в Windows. У Techwalla есть инструкции, поэтому мы включили «Информационные службы Интернета» в разделе «Включение и выключение компонентов Windows» панели управления. Пока у нас была открыта документация, мы также отредактировали первые четыре строки License.dat, указав имя сервера (localhost) и правильный путь к демону, как мы это делали в Linux:
1 2 3 4 |
SERVER localhost acbcdefghjik 1702 DAEMON actlmgrd C:\flexlm\actlmgrd DAEMON mgcld C:\flexlm\mgcld VENDOR snpslmd C:\flexlm\snpslmd |
Затем перезагрузили компьютер, чтобы включить «Информационные службы Интернета», которые мы только что установили…
… И выполнили следующую команду, чтобы запустить диспетчер лицензий:
1 2 3 |
C:/flexlm/lmgrd -c C:/flexlm/License.dat |
Мы запустим 5 дополнительных терминалов, по одному для каждой части системы лицензирования Flexera.
Мы не видим явных сообщений об ошибках, поэтому попробуем запустить Libero SoC.
Вроде работает! Мы потратил более 10 часов на установку Libero SoC… Это стоит отметить! Мы сделаем небольшой перерыв, так как нам нужно узнать, как на самом деле его использовать, а так же и у нас есть другое оборудование, требующее нашего внимания, поэтому вернемся к попытке синтезировать битовый поток для FPGA в следующем месяце.
Выражаем свою благодарность источнику из которого взята и переведена статья, сайту cnx-software.com.
Оригинал статьи вы можете прочитать здесь.