суббота, 13 сентября 2008 г.

Установка драйверов Xilinx Platform Cable USB в GNU/Linux

В данной заметке я изложу по шагам последовательность действий установки и настройки ПО для поддержки программаторов фирмы Xilinx для ОС GNU/Linux и ПО САПР Xilinx ISE. Все ниже написанное проверялось под ОС Fedora 8. Использовался программатор Xilinx Platform Cable USB ( Model DLC9G ) и ISE версии 10.1 ( SP2 ). Я не рекомендую использовать драйверы windrv, а использовать libusb как промежуточную библиотеку доступа ПО Xilinx к программатору.

Для начала устанавливаем fxload:

$ su
# yum install fxload

fxload - это утилита загрузки прошивки в USB-контроллеры.

Итак, скачиваем, распаковываем и устанавливаем только ту часть пакета, которая необходима для загрузки прошивки:

$ wget ftp://ftp.xilinx.com/pub/utilities/fpga/install_drivers.tar.gz
$ tar xvf install_drivers.tar.gz
$ cd install_drivers/linux_drivers/pcusb
$ su
# ./setup_pcusb

Теперь можно проверить работоспособность программатора - подключаем его к USB и к плате. Проверяем если загорелся зеленый светодиод. Чтобы iMPACT не использовал драйвер windrvr, а использовал библиотеку libusb необходимо установить переменную окружения XIL_IMPACT_USE_LIBUSB в 1.

Я рекомендую ее поместить в .bashrc:

$ echo "export XIL_IMPACT_USE_LIBUSB=1" >> ~/.bashrc

Замечу, что данный прием работает только с ISE версии 10 и выше. Для старых версий (9 и 8) воспользуйтесь следующей ссылкой: http://rmdir.de/~michael/xilinx/.

Теперь проверяем работоспособность iMPACT:

$ . /opt/ise101/ISE/settings64.sh
$ impact&

При создании новго проекта ( create new project ) отключаем автоматическое сканирование ( опцию Configure devices using Boundary-Scan (JTAG) устанавливаем в Enter a Boundary-Scan chain manualy ). В главном меню выбираем - Output -> Cable setup… и в появившемся диалоговом окне устанавливаем Communication Mode в Xilinx USB Cable и жмем Ок. Далее жмем Ctrl+I для запуска сканирования цепочки JTAG. В результате iMPACT должен найти поддерживаемые устройства.

УсЁ! :)

понедельник, 8 сентября 2008 г.

Запуск Xilinx EDK 10.1 на неподдерживаемых дистрибутивах

Если после запуска в EDK 10.1 процесса синтеза у вас возникал следующая ошибка: ERROR:MDT - C_MEM_CAS_LATENCY0 (mpmc) - /opt/ise101/ISE/bin/lin64/unwrapped/xilperl: error while loading shared libraries: libdb-4.1.so: cannot open shared object file: No such file or directory while executing "exec xilperl $perlPath -mpmc3 -enable_ecc [xget_hw_parameter_value $mh..." (procedure "init_control" line 40) Это значит, что скорее всего у вас в системе установлена более новая версия библиотеки Berkeley DB. Устанавливаем старую версию так, чтобы не удалить новую: $ su # cd # wget ftp://ftp.pbone.net/mirror/ftp.centos.org/3.9/os/x86_64/RedHat\ /RPMS/db4-4.1.25-8.1.x86_64.rpm # mkdir db4 && cd db4 # rpm2cpio ../db4-4.1.25-8.1.x86_64.rpm | cpio -id # cp lib64/libdb-4.1.so /usr/lib64/ # ldconfig # cd .. # rm -rf db4 Перезапускам EDK, запускаем синтез и радуемся жизни! :)