Перейти к содержанию
    

mitro

Участник
  • Постов

    23
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о mitro

  • Звание
    Участник
    Участник

Посетители профиля

961 просмотр профиля
  1. Добрый день! Хотел немного "прокачать скиллы", заняться самообразованием, пройти Model Composer Tutorials. А пришлось "прокачивать" навыки установки всего двух программных пакетов от многоуважаемых компаний на линукс в течение трёх рабочих дней. С периодическими затыками, от которых пробивает холодный пот и хочется всё бросить, а бросать нельзя - нужен результат. Хорошо, что по ходу вёл конспект, чего делал и как боролся. Хочу выложить его здесь, может быть, он кому пригодится. Неужели каждому приходится тратить такую кучу времени на установку? А ясного мануала нигде нет. Просто жалко время человеческое. Выкладываю в теле, а не в приложении, чтобы можно было найти по тексту характерных ошибок. Наверное, что-то из этого и устранено в новых версиях, а может и нет. Ещё давно у меня было установлено всё необходимое добро на Ubuntu 20.04. И оно вроде даже работает, но как-то ненадёжно. Подвисает или при Simulink моделировании, или при генерации HDL кода. Ещё и завит от того, просить у синтезатора кода анализ результата или нет. Пытался искать помощи в инете, не нашёл - слишком всё неопределённо. Учиться, а тем более работать, просто нереально. Постоянно нужно гасить матлаб через kill -9. Ну ладно думаю, наверное, это Ubunta вредит. Она вроде как допустима для этой версии Vivado, но она скорее некий "пасынок". Законнорожденное дитя - RedHat. Не зря сам Xilinx на виртуалках с ней готовую среду ISE раздаёт. Дай думаю и я разверну систему на Red Hat. На версии 8.6, которая заявлена как поддерживаемая для Vivado 2022.2 в ug1483. Дистрибутив Rhel оказалось довольно просто получить. Нужно просто зарегистрироваться у них на сайте. Правда, они отрицают существование нашей страны и пришлось выдумывать внешний почтовый адрес. И почту yandex.ru они не уважают, пришлось указать на google.com. При этом сотовый +7... их не смутил. Да, и интернет нужен быстрый. Версия 8.6 около 10 Гб, ссылка на скачивание годна 4 часа. Ну и ниже - конспект. Выкладываю "как-есть", без "шлифовки". Это просто записи, которые делал в процессе работы. ----------------------------------------------------------------------- Как устанавливал Vivado на виртуальную машину. 1. RedHat Linux 8.6 - виртуальная машина Oracle VirualBox 7.0.14 r161095, имя машины Vivado_2022.2, тип машины Linux, Red Hat(64-bit). - память дисплея лучше сделать побольше, можно прямо 128 Мб. Чтоб можно было растягивать на монитор высокого разрешения. - память системы 12 Gb, 8 ядер, диск 120 Gb (только под Vivado нужно около 80-ти). Сначала сделал недостаточно, потом расширял диск через Vitrual box, Менеджер виртуальных носителей, потом пришлось ставить gparted-1.1.0-3.fc33.x86_64.rpm - именно конкретной версии старую, ей объединять занятую и расширенную файловую систему, и далее командами: Команды: df -Th lsblk sudo vgs - показывает одну rhel sudo lvextend -l +100%FREE /dev/mapper/rhel-root //Что-то из этого сработало не это: sudo resize2fs /dev/mapper/rhel-root sudo xfs_growfs /dev/mapper/rhel-root - похоже, это. Да, это! - язык установки Американский Английский - Storage configuration "automatic", root password "root". Хотя кошерно нужно было бы директорию /home сделать 100 Гб, а корневую / - 20 Гб и ставить matlab и vivado в папку /home/vivado не под рутом. Тогда бы и ярлыки сами корректно установились. И куча команд ниже была бы не через "sudo". - user Vivado User "vivado", pass "vivado". 2. Перазагрузилась. - при первом запуске нажал "License Information", "accept". "Finish Configuration". - выбрал язык, показался экран помощи. - подключил образ диска дополнений гостевой ОС. Он предложил автозапуск, я согласился. - не нашёл Kernel headers, попросил установить и запустить потом /sbin/rcvboxadd setup. - разрешил пользователю vivado делать sudo: # usermod -a -G wheel vivado - не помогло, не работает sudo. Перезагрузил систему, заработало. - отмонтировал диск с дополнениями гостевой ОС: sudo umount /run/media/vivado/VB0x_GAs_6.1.26 - средствами виртуальной машины отключил диск дополнений, подключил диск с дистрибутивом ОС. Пришлось перезагрузить. - диск примонтировался в /run/media/vivado/RHEL-8-6-0-BaseOS-x86_64. Там в корне файл media.repo. Его скопировали в /etc/yum.repos.d/iso.repo, разрешили запись sudo chmod 644 /etc/yum.repos.d/iso.repo. И полностью его переписали. [vivado@localhost ~]$ ls /etc/yum.repos.d/ iso.repo redhat.repo [vivado@localhost ~]$ more /etc/yum.repos.d/iso.repo [iso-BaseOS] name=Red Hat Enterprise Linux 8.6.0 ISO BaseOS baseurl=file:///run/media/vivado/RHEL-8-6-0-BaseOS-x86_64/BaseOS enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release [iso-AppStream] name=Red Hat Enterprise Linux 8.6.0 ISO AppStream baseurl=file:///run/media/vivado/RHEL-8-6-0-BaseOS-x86_64/AppStream enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release - очистили кэш sudo yum clean all - sudo yum repolist enabled - показал два репозитория - sudo yum update - update repository index. Nothing to do, Complete! - ставим пакет: sudo yum --disablerepo="*" --enablerepo="iso-BaseOS" install kernel-headers.x86_64 - установились! - аналогично ставим пакет "iso-BaseOS" glibc-devel.x86_64. - аналггично ставим пакет "iso-AppStream" gcc - оказывается, еще нужен "iso-BaseOS" kernel-devel. Тогда в папке /usr/src/kernels реально появятся хедеры. - оказывается, еще нужны "iso-BaseOS make, perl-IO-Zlib и "iso-AppStream" perl. - оказалось, что проще устанавливать командой sudo yum install perl тогда он автоматом зависимости подтягивает (обращается сразу к обоим репозиториям). - ещё понадобилась elfutils-libelf-devel.x86_64. - перезагрузил, отключил диск с дистрибутивом. - переустановил Oracle Virtual Box с 6.1.26 на 7.0.14 (что-то не билось, не помню, что). - запустил в виртуальной машине меню "Устройства/Upgrade Guest Additions..." - почистил после предыдущих многократных установок: sudo semanage fcontexst -d /opt/VBoxGuestAdditions-7.0.14/other/mount.vboxsf sudo restorecon /opt/VBoxGuestAdditions-7.0.14/other/mount.vboxsf - запустил установку дополнений по новой, всё отработало. - для полного счастья убрал сообщение о необходимости зарегистрироваться: Попробовал так, sudo vi /etc/yum/pluginconf.d/subscription-manager.conf, там enabled -> 0. Это не помогло, тогда sudo vi /etc/xdg/autostart/org.gnome.SettingsDaemon.Subscription.desktop и там: [Desktop Entry] Type=Application Name=GNOME Settings Daemon's subscription manager plugin Exec=/usr/libexec/gsd-subman OnlyShowIn=GNOME; NoDisplay=true ->false X-GNOME-Autostart-Phase=Initialization X-GNOME-Autostart-Notify=true ->false X-GNOME-AutoRestart=true ->false - перезагрузил. Но сообщение о необходимости зарегистрироваться так и не победилось:( - настроил русскую клавиатуру - "Activities/Settings/Region & Language/Input Sources/+", "Russian". 3. Matlab - подключил диск как внешнюю папку, чтобы был доступ, добавил себя в группу sudo usermod -aG vboxsf vivado пришлось перезагрузить, чтобы был эффект - монтируем дистрибутив: mkdir iso sudo mount /media/sf_F_DRIVE/LocalDistrib/Matlab910Lin/Matlab910R2021a_Lin64.iso iso -o loop - запускаем cd iso ./install Падает с runtime error: Unable to launch the MATLABWindow application. Нужно удалить файл bin/glnxa64/libcrypto.so. Для этого всё скопировал, удалил файл и линк на него. - запустил sudo ./install (будем ставить в директорию /opt/Matlab, в домашней места нет) - согласился с лицензией - ввёл File Installation Key. - файл лицензии не указывал - выбрал пакеты (отнюдь не все, опасно, может Model Composer не заработать!): >> matlab.addons.installedAddons ans = 7×4 table Name Version Enabled Identifier ___________________________ _______ _______ __________ "LTE Toolbox" "3.5" true "LS" "Communications Toolbox" "7.5" true "CM" "Simulink" "10.3" true "SL" "Signal Processing Toolbox" "8.6" true "SG" "5G Toolbox" "2.2" true "5G" "DSP System Toolbox" "9.12" true "DS" "Control System Toolbox" "10.10" true "CT" - задал папку /opt/Matlab/R2021a. Погнала установка. - скопировал libmwlmgrimpl.so и лицензию, сделал им правильные права на чтение всем. - matlab запустился. 4. Vivado - ug973, ug1144. - возможно, придётся почистить /root/.config/menus/applications-merged от файлов: 'Xilinx Design Tools.menu' 'Xilinx Design Tools One More.menu' - нужно установить библиотеки (иначе зависнет при установке): ncurses-compat-libs - есть в репозитории iso-BaseOS, установили из репы через yum install. libtinfo5 libtinfo5-dev - скопировал в корневую папку установщика из уже предварительно недоустановленного каталога Vitis_HLS/2022.2/lnx64/tools/clang-3.9/lib два файла libtinfo.so.5 и libtinfo.so.5.7, туда, где лежит ./xsetup - sudo ./xsetup - заработал! Не запросил java! Нажал кнопку игнорировать подключение к интернету. - Где-то нужно отключить "Optimize Disk Usage", а то может заклинить. Я так и не нашел где, но и не заклинило. - Выбрал первый продукт для установки - "Vitis", он даст возможность добавить и "Vivado", и "Model Composer". - Снял флажок "Acquier or Manage a License key - Инсталлятор напомнил, что драйверы для кабелей устанавливать отдельно через UG973. - Согласился с кучей лицензий - Задал папку установки /opt/Xilinx. Пошла установка, копирование файлов длилось 37 минут. - Если появится окно "Obtain License" - просто выбрал в меню "Exit" - Может подвиснуть установка на фазе "Generating Installed Device List". На это целая наука - vivado-installer-stuck.md, а может быть, еще установить библиотеки: libtinfo5 libtinfo5-dev libncurses5 libncurses5-dev libncursesw5-dev ncurses-compat-libs - есть в репозитории iso-BaseOS, установили из репы. - Закончилась инсталляция - Скопировал vivado_license.lic в папку ~/.Xilinx. - скопировал меню: sudo cp -r /root/.config/menus ~/.config/ - ещё нужно шорткаты из папки /root/.local/share/applications в ~/.local/share/applications 5. Устанавливаем драйверы программатора - Из-под суперпользователя: cd ${vivado_install_dir}/data/xicom/cable_drivers/lin64/install_script/install_drivers/ ./install_drivers - Отработало мгновенно, вот что напечатало: INFO: Installing cable drivers. INFO: Script name = ./install_drivers INFO: HostName = localhost.localdomain INFO: Current working dir = /opt/Xilinx/Vivado/2022.2/data/xicom/cable_drivers/lin64/install_script/install_drivers INFO: Kernel version = 4.18.0-372.9.1.el8.x86_64. INFO: Arch = x86_64. Successfully installed Digilent Cable Drivers --File /etc/udev/rules.d/52-xilinx-ftdi-usb.rules does not exist. --File version of /etc/udev/rules.d/52-xilinx-ftdi-usb.rules = 0000. --Updating rules file. --File /etc/udev/rules.d/52-xilinx-pcusb.rules does not exist. --File version of /etc/udev/rules.d/52-xilinx-pcusb.rules = 0000. --Updating rules file. INFO: Digilent Return code = 0 INFO: Xilinx Return code = 0 INFO: Xilinx FTDI Return code = 0 INFO: Return code = 0 INFO: Driver installation successful. CRITICAL WARNING: Cable(s) on the system must be unplugged then plugged back in order for the driver scripts to update the cables. 6. Запуск Vivado и Model Composer Запуск Vivado из командной строки: source /opt/Xilinx/Vivado/2022.2/settings64.sh /opt/Xilinx/Vivado/2022.2/bin/vivado Запуск Model Composer из командной строки: source /opt/Xilinx/Model_Composer/2022.2/settings64.sh /opt/Xilinx/Model_Composer/2022.2/bin/model_composer -matlab /opt/Matlab/R2021a/ При запуске Model Composer получаем: awk: symbol lookup error: awk: undefined symbol: mpfr_z_sub и далее прочие ошибки. Начал копать: - в инетах немного чего есть, нашел полезные команды strace и ldd чтобы понять, какие библиотеки вызываются. например, так: ldd /usr/bin/awk Народ грешит на то, что то libgmp и libmpfr как-то не бъются. Но команды особо не пригодились. - начал с /opt/Xilinx/Model_Composer/2022.2/bin/model_composer - это скрипт sh, который, при беглом взгляде, вроде вызывает modelcomposerArgs.sh. Полез туда, там уже есть слова про awk: # Add a symlink from /usr/lib/.../libmpfr.so.4 to wrapper directory for Ubuntu OS. # This libmpfr.so.4 should be used by awk when sysgen loader script is launched. поставил перед вызовом этого куска кода просто распечатку echo $XIL_LINUX_PLATFORM; запустил повторно model_composer, получил, что XIL_LINUX_PLATFORM у меня "Default". Это немного странно, поскольку дальше она сравнивается с "Ubuntu" - должно быть осмысленное значение. Откуда это значение берётся? Вроде как вызовом XIL_LINUX_PLATFORM=$("$XMC_LDLIBPATH_SCRIPT") где XMC_LDLIBPATH_SCRIPT="$XMC_PRODUCT_ROOT/bin/ldlibpath.sh" лезу в ldlibpath.sh, там вижу, что версия ОС получается как выход команды lsb_release. Пробую и получаю: [vivado@localhost bin]$ lsb_release bash: lsb_release: command not found... Аааааа........ Сутки долботни!!! Ааааа.... Как не хотелось скрипты дебажить! Аааааа..... Его ещё нужно поискать, в каком пакете лежит: sudo yum whatprovides lsb_release получаем, что в redhat-lsb-core тогда: sudo yum install redhat-lsb-core установилось. В скрипте ldlibpath.sh команда lsb_release используется с ключами -i, -r: [vivado@localhost bin]$ lsb_release LSB Version: :core-4.1-amd64:core-4.1-noarch [vivado@localhost bin]$ lsb_release -i Distributor ID: RedHatEnterprise [vivado@localhost bin]$ lsb_release -r Release: 8.6 - Проверил по распечаткам из modelcomposerArgs.sh - да, другое дело: XIL_LINUX_PLATFORM - Rhel 8 XMC_IS_REDHAT8 - True - Вернул содержимое исходного файла modelcomposerArgs.sh из резервной копии, на всякий случай вернул ему время модификации: [vivado@localhost bin]$ date -r unsetldlibpath.sh Fri Oct 14 07:19:35 EDT 2022 [vivado@localhost bin]$ sudo touch -mat 202210140719.35 modelcomposerArgs.sh 7. Скопировал ещё со старого Линукса конфиг EBAZ4205, чтоб был. /opt/Xilinx/Vivado/2022.2/data/boards/board_files/ebaz4205/1.0 файлы board.xml ebaz4205.jpg part0_pins.xml preset.xml. 8. Matlab (Model Composer) запускается, но "Examples and Tutorials" по предлагаемой ссылке - не запускается. Даже просто Simulink иконкой не запускается. Ошибка: Caught "std::exception" Exception message is: Error loading /opt/Matlab/R2021a/bin/glnxa64/builtins/shared_dastudio_builtins/mwdastudio_builtinimpl.so. /lib64/libk5crypto.so.3: undefined symbol: EVP_KDF_ctrl, version OPENSSL_1_1_1b: Success: Success (привет от инсталляции!) Переименовал ещё библиотеку в папке установки (чтоб она не использовалась, но в то же время была на всякий случай) /opt/Matlab/R2021a/bin/glnxa64 sudo mv libcrypto.so.1.1 libcrypto.so.1.1.orig sudo rm libcrypto.so.1 sudo ln -s libcrypto.so.1.1.orig libcrypto.so.1.orig Simulink запустился! "Examples and Tutorials" запустились! При первом запуске предложил выбрать папку, куда распаковать, я выбрал домашнюю /home/vivado, там создалась папка Vitis_Model_Composer-2022.2 и в ней примеры и обучалки. 9. При работе Model Composer возникают варнинги вида: Warning: P-file /opt/Xilinx/Model_Composer/2022.2/simulink/vmcHub.p is older than MATLAB file /opt/Xilinx/Model_Composer/2022.2/simulink/vmcHub.m. /opt/Xilinx/Model_Composer/2022.2/simulink/vmcHub.p may be obsolete and may need to be regenerated. Type "help pcode" for information about generating P-files. > In vmcHubCallback Чтобы не мучиться, изменил времена всем в папке /opt/Xilinx/Model_Composer/2022.2/simulink [vivado@localhost simulink]$ sudo touch -mat 202210141023.44 *.m [vivado@localhost simulink]$ sudo touch -mat 202210141023.45 *.p О Боже, та же байда в папке /opt/Xilinx/Model_Composer/2022.2/simulink/hdl/ cd hdl И копипаст двух предыдущих команд touch В итоге, по крайней мере Lab1_1.slx, Lab1_2.slx, Lab1_3.slx, Lab1_4_1.slx, Lab1_4_2.slx отработали без каких-либо зависаний как в режиме simulink моделирования, так и в режиме генерации кода HDL.
  2. И вообще, зря я панику поднимал. Всё от нервов! Не нужен мне этот архив, он немного устарел. На самом деле мне хотелось для самообразования: ug1498 Vitis Model Composer Tutorial, а по нему вся информация лежит открыто на Гитхабе.
  3. Ой, добыл доступ! Если кому надо, могу поделиться архивом. Хотя при некотором усердии можно и оригинал скачать, как оказалось:)
  4. Коллеги, нет ли у кого исходников для ug948-Vivado Design Suite Tutorial? Это про Sysgen, "Model-Based DSP Design Using System Generator" Они на сайте Xilinx лежат, у меня был когда-то доступ, но сдох, с сожалению. Есть на каком-то китайском сайте, но там регистрироваться надо, всё иероглифами, ужас! Заранее спасибо!
  5. Нет, settings64.sh перед sysgen не запускал. Я для запуска в основном ориентировался на документ UG639 System Generator for DSP Getting Started Guide. Там ни слова про settings64.sh. Я надеялся, что все установки делаются при запуске sysgen. По результатам вчерашних изысканий добавил создание переменной в .bash_profile и пока больше экспериментировать не буду. Единственное, что ещё проинтуичил когда связывал ISE и Matlab - из папки /opt/Xilinx/14.7/ISE_DS/ISE/sysgen/bin/lin64 запустил команду sudo ./sg_config -install_to_matlab /usr/local/MATLAB/R2013a/, результатом которой стала строка "DSPTools successfully installed into MATLAB!". По документации это можно было сделать через GUI в процессе установки, но у меня фаза установки была пройдена без матлаба и GUI для конфигурации взаимосвязи я не нашёл.
  6. Ура, заработало! Если долго мучиться, что-нибудь получится! Оказалось, что таки надо было установить в Linux переменную окружения LD_LIBRARY_PATH до запуска sysgen: export LD_LIBRARY_PATH=/opt/Xilinx/14.7/ISE_DS/ISE/sysgen/lib/lin64:/opt/Xilinx/14.7/ISE_DS/ISE/lib/lin64 У меня она была в Linux пустой. Первый же варнинг при загрузке модели simulink был про неё. И не важно, что после загрузки модели simulink matlab показывал, что переменная заполнена (я это приводил в исходном посте). Похоже, значение как-то буферизуется и для запуска генерации используется то, которое ещё не поправлено matlab'ом. Спасибо makc за моральную поддержку! Иногда чтобы решить проблему, достаточно о ней подробно рассказать понимающему человеку:)
  7. У меня не была установлена переменная XILINXD_LICENSE_FILE. Попробовал её установить на /home/ise/.Xilinx/Xilinx.lic (он реально там и лежит) - ничего не изменилось. Попробовал установить ещё LM_LICENSE_FILE - тоже никакого эффекта. Пробовал указывать не файл, а директорию - /home/ise/.Xilinx/. Не помогает, та же ошибка. Находил на каком-то форуме человек жаловался на похожую проблему, так там sysgen сам писал, что надо бы определить XILINXD_LICENSE_FILE. В моём случае sysgen про неё не писал. А ещё находил док от Xilinx, правда, про свежую Vivado, так вроде она сама первым делом просматривает все файлы лицензий в папке /home/ise/.Xilinx.
  8. Я в файле lic.txt привёл выход команды xinfo, а не сам файл лицензии *.lic. Если посмотреть в файл лицензии *.lic, то в нём у меня есть записи про SysGen: INCREMENT System_Edition xilinxd 2025.01 permanent uncounted \ <hidden> \ [email protected],System_Edition,software,permanent,_0_0_0 \ HOSTID=ANY ISSUER=TBE TS_OK PACKAGE System_Edition xilinxd 2025.01 <hidden> COMPONENTS="SDK \ ChipScopePro_SIOTK ChipscopePro ISE ISIM PlanAhead SysGen XPS" \ OPTIONS=SUITE Да собственно, и в файле lic.txt есть разрешающая строка про SysGen.
  9. Не знаю, как скопировать информацию о лицензиях из Project Navigator GUI, выгрузил информацию командой xinfo, вот вырезка из неё про лицензии. Объем большой, поэтому прикладываю файлом. lic.txt
  10. Добрый день! Являюсь ярко выраженным новичком в программировании FPGA, раздобыл макетку с Xilinx Spartan 6, поэтому взял среду разработки ISE 14.7. К ней же прилагалась лицензия, в которой разрешен System Generator. Собственно в Project Navigator проекты создаются и компилируются, прошивки в микросхему загружаются. Захотел поиграться с System Generator, нашёл древний Matlab, поставил. В Simulink появились блоки Xilinx, можно делать модели и их анализировать. Но при попытке сгенерировать прошивку выдаётся ошибка - "A license checkout has failed for System Generator for DSP (SysGen)". Пути-переменные среды проверил - вроде всё адекватно. Может, кто сталкивался с чем-нибудь подобным? Куда наступать? Вот что имеем в процессе запуска. После вызова из командной строки sysgen открывается Matlab и печатает: System Generator currently found installed into matlab default path Available System Generator installations: Version 14.7.4850 in /opt/Xilinx/14.7/ISE_DS/ISE/sysgen Current version of System Generator is 14.7.4850. Run << xlVersion >> at prompt to see installed versions of System Generator Командами Matlab смотрю версии: >> xlVersion Available System Generator installations: Version 14.7.4850 in /opt/Xilinx/14.7/ISE_DS/ISE/sysgen Current version of System Generator is 14.7.4850. >> ver ------------------------------------------------------------------------------------------------------- MATLAB Version: 8.1.0.604 (R2013a) MATLAB License Number: 888888 Operating System: Linux 2.6.32-358.el6.x86_64 #1 SMP Fri Feb 22 13:35:02 PST 2013 x86_64 Java Version: Java 1.6.0_17-b04 with Sun Microsystems Inc. Java HotSpot(TM) 64-Bit Server VM mixed mode ------------------------------------------------------------------------------------------------------- MATLAB Version 8.1 (R2013a) Simulink Version 8.1 (R2013a) Communications System Toolbox Version 5.4 (R2013a) DSP System Toolbox Version 8.4 (R2013a) RF Toolbox Version 2.12 (R2013a) Signal Processing Toolbox Version 6.19 (R2013a) Xilinx System Generator Version 14.7 production build При загрузке модели Simulink печатает следующее: Warning: Cannot find path "/opt/Xilinx/14.7/ISE_DS/ISE/lib/lin64" in "LD_LIBRARY_PATH" environment. The libraries under the path are needed to simulate and netlist designs using blocks from Xilinx System Generator for DSP blockset. To make sure that your design simulates and netlists with Xilinx blockset as expected it is required that you start MATLAB using using /opt/Xilinx/14.7/ISE_DS/ISE/sysgen/util/sysgen script. Warning: xbsIndex.mdl, line 4064: "xbsIndex/Indeterminate Probe" is a parameterized link. To view, discard, or propagate the changes for this link, use the "Library Link" menu item > In load_system at 21 In /opt/Xilinx/14.7/ISE_DS/ISE/sysgen/bin/lin64/sl_customization.p>sl_customization at 18 In sl_refresh_customizations>call_all at 164 In sl_refresh_customizations at 81 In slcustomize at 4 In simulinkrc at 39 In open>whichWrapper at 180 In open at 86 In uiopen at 196 Warning: xbsIndex.mdl, line 4781: "xbsIndex/Pause Simulation" is a parameterized link. To view, discard, or propagate the changes for this link, use the "Library Link" menu item > In load_system at 21 In /opt/Xilinx/14.7/ISE_DS/ISE/sysgen/bin/lin64/sl_customization.p>sl_customization at 18 In sl_refresh_customizations>call_all at 164 In sl_refresh_customizations at 81 In slcustomize at 4 In simulinkrc at 39 In open>whichWrapper at 180 In open at 86 In uiopen at 196 Warning: xbsIndex.mdl, line 4873: "xbsIndex/PicoBlaze Instruction Display" is a parameterized link. To view, discard, or propagate the changes for this link, use the "Library Link" menu item > In load_system at 21 In /opt/Xilinx/14.7/ISE_DS/ISE/sysgen/bin/lin64/sl_customization.p>sl_customization at 18 In sl_refresh_customizations>call_all at 164 In sl_refresh_customizations at 81 In slcustomize at 4 In simulinkrc at 39 In open>whichWrapper at 180 In open at 86 In uiopen at 196 Сразу же командами Matlab проверяю пути: >> getenv('LD_LIBRARY_PATH') ans = /opt/Xilinx/14.7/ISE_DS/ISE/sysgen/lib/lin64:/opt/Xilinx/14.7/ISE_DS/ISE/lib/lin64:/opt/Xilinx/14.7/ISE_DS/PlanAhead/lib:/opt/Xilinx/14.7/ISE_DS/EDK/lib/lin64:/usr/local/MATLAB/R2013a/sys/os/glnxa64:/usr/local/MATLAB/R2013a/bin/glnxa64:/usr/local/MATLAB/R2013a/extern/lib/glnxa64:/usr/local/MATLAB/R2013a/sys/java/jre/glnxa64/jre/lib/amd64/native_threads:/usr/local/MATLAB/R2013a/sys/java/jre/glnxa64/jre/lib/amd64/server:/usr/local/MATLAB/R2013a/sys/java/jre/glnxa64/jre/lib/amd64 >> getenv('XILINX') ans = /opt/Xilinx/14.7/ISE_DS/ISE >> Запускаю сборку bitstream через компонент System Generator, получаю ошибку в лог-файле: --------------------------------- Version Log ---------------------------------- Version Path System Generator /opt/Xilinx/14.7/ISE_DS/ISE/sysgen Matlab 8.1.0.604 (R2013a) /usr/local/MATLAB/R2013a ISE /opt/Xilinx/14.7/ISE_DS/ISE -------------------------------------------------------------------------------- Summary of Errors: Error 0001: ERROR: A license checkout has failed for System Generator... Block: Unspecified -------------------------------------------------------------------------------- Error 0001: Reported by: Unspecified Details: ERROR: A license checkout has failed for System Generator for DSP (SysGen). Failed to contact the Xilinx license manager. Please check the following: (1) The XILINX environment variable points to a valid ISE installation (2) $XILINX/lib/lin64 is on the LD_LIBRARY_PATH environment variable --------------------------------------------------------------------------------
  11. Да я на терреэлектронике наткнулся на статью /news/5637, там пишут, что максимальное рассогласование для HDMI/DVI: - проводников дифференциальной пары - < 5 пс ≈ 750 мкм - длины линии тактирования и данных - < 150 пс ≈ 22 мм Собственно, 750 мкм меня испугали. Там же миллиметры разница за счёт изгиба. Но, получается, в моём случае, у каждой диф. пары оба провода в одном ряду. То есть длина одинаковая. Есть разница для разных пар данных и для тактов, но для нее большой допуск - 22 мм. Ну, значит зря я волновался. И всё же, можно глупость спросить на правах новичка? А почему такие жёсткие требования на длину для проводников одной дифференциальной пары?
  12. Добрый вечер! Понадобилось сделать плату - переходник от FPGA Development board (разъем IDC-40) на DVI. Предполагается передавать данные lvds-ом, 4 дифференициальных бита данных, один дифференциальный такт. Хотел при разводке выравнять длины проводников. Но у меня вопрос - а что делать с угловым разъемом DVI? Таким, как на рисунке. У него же, наверное, разная длина проводника от пина до разъема для разных рядов? Как это учитывать? Где найти эту информацию (длины для разных рядов?). Или он так сделан, что длины одинаковые???
  13. Снова актуально. Появилось еще третье направление - создание более-менее приличной программной документации. Причем так, чтобы не особо досаждать разработчикам. По сути нужно будет просмотреть сущесвующую документацию, пройтись по всем функциям, понять, что и как они делают, для чего параметры, кратенько описать. Возможно при этом появится трезвая идея, какие телодвижения стоит сделать в направлении приведения с какому-то общему стилю. Или выкидывания половины кода. Скорее всего, желание привести все к общему стилю станет нестерпимым. Но революционеров нам не надо, нужен терпеливый человек, умеющий ненавязчиво убеждать. Лучше всего личным примером. Этот человек в конце концов наставит остальных на путь истинный, поймет, как программа работает в целом и при желании сможет глубоко заняться любой частью.
  14. Уважаемые коллеги! Извините, что не отвечаю здесь на вопросы и не ввязываюсь в дискуссию. Считаю, что достаточно написал при создании темы. Кому интересно - резюме в личку, пожалуйста.
  15. Общие требования – нужно уверенно программировать на С++, комфортно чувствовать себя в Linux, иметь достаточно терпения и интуиции, чтобы понимать чужой код. Иметь четкое понимание об объектно-ориентированном программировании. Знать, как данные разных типов представляются в компьютере. Не бояться работать с достаточно большими программами. Не бояться работать с программами, которые писались десятки лет разными людьми, разными стилями и вообще без стилей. Знать английский. Не исключать возможность иногда поехать в командировку эдак на месяц-полтора-два. Есть 2 вакансии: 1. Программист GUI (QT) – ожидается способность достаточно быстро создать интерфейс для отображения информации, записанной в виде последовательности набора разных структур в фале. Нужно отображать информацию на графиках в разных координатах, возможно, одновременно на нескольких графиках, выделять элемент на одном и повторять это выделение на других, в отдельном окне выводить текстовое описание элемента, по определенным полям привязывать к нему другие элементы. Для отдельных элементов выполнять по команде оператора различные задачи. Выводить разные элементы разными цветами, разным типом лини и пр. Необходимо использовать *.h и *.cpp файлы существующей программы для получения описаний структур и некоторых специфических функций. Информации достаточно много, состав может со временем расти, связи между элементами изменяться. Нужно достаточно оперативно реагировать на запросы. При том, что задание будет ставиться вполне конкретно, необходимо приложить все усилия, чтобы получилось красиво и удобно. Со временем нужно будет научить эту программу работать не с файлом, а с информацией, приходящей в реальном времени. Возможно захочется нарисовать глобус и отобразить на нем все происходящее. Но это чуть позже. 2. Программист базовых функций (на С++). Не стал писать «программист ядра», чтобы не путать с ядром Линукс. Нет, все происходит на пользовательском уровне. Просто программа у нас большая, состоит из многих компонентов, реализовано множество алгоритмов. Есть люди, которые что-то понимают в алгоритмах, но нужен человек, который будет четко понимать, какими механизмами все это увязано, сможет добавлять базовый код для новых компонентов, модифицировать программу или makefile для компиляции в других условиях. Возможно, будет необходимость «почистить» программу от лишнего кода, что-то сделать красивее и проще. Первая конкретная задача – надо нашу большую многопоточную программу, которая работает по тактам реального времени, переделать таким образом, чтобы она работала максимально быстро – чтобы следующий такт наступал, когда сделана вся работа на текущем такте. Технически нужно попробовать скомпилировать без так называемой «библиотеки реального времени», посмотреть, чего не хватает, и написать заменители. РТИ строит дальние локаторы. Наш отдел отвечает за программу, управляющую зондированиями и собственно следящую за объектами. В будущем при желании и способностях можно продвинуться в ЛЮБОЙ области, связанной с дальней локацией. Но на ближайшие год-два актуальны задачи типа описанных выше.
×
×
  • Создать...