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

Статья для тех, кто в работе пользуется САПР под Linux :1111493779:

 

Статья написана очень подробно с целью помочь мыслящим инженерам с небольшим опытом в Linux.

 

Advanced Linux Users, которые хотят быстренько поставить дистрибутив, могут воспользоваться следующими ссылками:

http://www.timfanelli.com/main/Notebook/En..._on_Ubuntu.html

http://www.alteraforum.com/forum/showthrea...3588#post143588

 

Linux имеет много преимуществ над виндой в части стабильности (долговечности) работы, скорости high demanding tasks (синтез, place and route), более эффективное использование памяти ну и просто из соображений совместимости с остальными тулзами ( у нас 90% крутятся под Linux). :smile3046:

 

К отрицательным характеристикам отнесу повышенную сложность установки/настройки/эксплуатации/скриптования - нужно много доков читать и книжечки всякие, что не всегда радует :wacko:

 

Что касается Ubuntu, то Altera официально ее НЕ поддерживает :maniac: , т.е в доступных Installation Manuals можно найти только поддержку Red Hat Enterprise Linux 4 and 5, а также Open Suse 11.3 Enterprise Edition.

 

Исходные данные:

 

1. Quartus 11.1 Web Edition или Subscription Edition (30 day trial).

 

Тут рекомендую загружать ISO файлы и делать установку с локального диска. Отдельно загружаете/устанавливаете сам дистрибутив (в нашем примере 30-day trial Subscription Edition ) + файл с драйверами самих чипов

 

2. JTAG USB Blaster с комплектом нужных кабелей

 

3. Development Board with Altera Device. В нашем примере будет самая простая борда CycloneII_EP2C5T144_Board_V1

 

4. Ubuntu 11.04 64bit

 

5. Стабилизированный источник питания для борды

 

Процесс установки

 

1. Загружаем с сайта Altera 2 файла - 11.1_173_acds_linux.iso (3.7Gb) и 11.1_173_acds_devices.iso (5.2 Gb)

2. Копируем оба файла в установочную директорию - например /home/user/installs

3. Создаем 2 темповые папки для монтирования ISO файлов в папке инсталляций /home/user/installs - mkdir tmp1, mkdir tmp2

4. монтируем сам дистрибутив - sudo mount -o loop 11.1_173_acds_linux.iso tmp1/

5. монтируем файл драйверов чипов - sudo mount -o loop 11.1_173_acds_devices.iso tmp2

 

6. Теперь нужно в обеих папках tmp1/ и tmp2/ кое-что изменить в файле установки setup (Altera использует sh для установки, в Ubuntu дефолтным является bash). Тут облом - монтированные папки имеют CDROM file system (read only file systems ISO9660), поэтому изменять файлы внутри не получится

 

7. В директории /home/user/installs создаем еще 2 папки и копируем содержимое смонтированных папок туда

mkdir quartus_inst

mkdir drivers_inst

cp -r tmp1/* quartus_inst

cp -r tmp2/* drivers_inst

 

8. После этого меняем permissions на RW в обеих папках:

chmod 777 -R quartus_inst

chmod 777 -R drivers_inst

 

9. Заходим в quartust_inst/ и изменяем шелл в файле установщика:

cd quartus_inst/

vi setup

в первой же строке #!/bin/sh меняем на #!/bin/bash

 

10. Аналогично в папке drivers_inst

 

11. Устанавливаем оба приложения:

cd quartus_inst/

./setup

cd drivers_inst

./setup

 

12. После установки ОБОИХ приложений, делаем экспорт executables, чтобы Linux мог запускать тулзу из командной строки:

 

У меня это выглядит ТАК:

vi ~/.bashrc

#Quartus 11.1

export PATH=$PATH:~/tools/altera11.1/quartus/bin

 

13. Проверяем правильность установки - в коммандной строке тайпим: quartus. Прожка должна загрузиться, показать, что у вас 30 дней trial period и ругнуться, что нет установленных девайсов :laughing: Закрыли ее

 

14. На этом базовая возня закончена, приступаем к работе. Создаем новую группу - "usbblaster"

sudo groupadd usbblaster

 

15. Добавляем рабочего юзера (аккаунт под которым работаете) в эту новую группу: sudo usermod -a -G usbblaster username

 

16. Создаем правило для udev для монтированя девайса:

sudo touch /etc/udev/rules.d/40-altera-usbblaster.rules

 

куда нужно вставить следующую строку:

 

BUS=="usb", SYSFS{idVendor}=="09fb", SYSFS{idProduct}=="6001", MODE="0666", SYMLINK+="usbblaster", GROUP="usbblaster"

 

17. Обновляем правила udev таким образом:

 

sudo udevadm control --reload-rules

 

ПРОВЕРКА

 

На этом этапе уже можно подключать JTAG и Development Board в такой последовательности

 

1. Соеденить Jtag c бордой 10-пиновым кабелем

2. подать питание на борду. В моем случае - это +5 стабилизированных

3. Подключить JTAG Debugger к компьютеру через USB

 

В случае успешной установки у вас должно получиться такие вещи:

 

1. lsusb должен выдать такую строку:

Bus 001 Device 009: ID 09fb:6001 Altera

 

2. jtagconfig должен выдать типа такого:

1) USB-Blaster [1-1.3]

020B10DD EP2C5

 

Где первая строка - мой JTAG Debugger, вторая - код борды и part number of Altera FPGA Device

 

Если вы подключите Debugger и не подадите питание на борду, получите такую ошибку:

 

1) USB-Blaster [1-1.3]

Unable to read device chain (JTAG chain broken)

 

3. Ну и напоследок сделайте: sudo dmesg -с

Команда запускает разные тесты USB девайсов. У вас будет куча букав на экране, нужно найти то, что возвращает jtagconfig.

В моем случае в логе было много упоминаний "usb 1-1.3" device

 

Если все 3 пункта у вас заработают, вы почти наверняка готовы работать с Quartus. Запускайте в command line: quartus, идите в Tools -> Programmer -> Hardware Setup, и выбирайте свой JTAG device. В моем случае это был USB-Blaster 1.1-3, который я спокойно выбрал из drop down menu

 

Ну вот кажется ВСЕ

Have a lot of fun with Linux!

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1. Quartus 11.1 Web Edition или Subscription Edition (30 day trial).

 

Тут рекомендую загружать ISO файлы и делать установку с локального диска. Отдельно загружаете/устанавливаете сам дистрибутив (в нашем примере 30-day trial Subscription Edition ) + файл с драйверами самих чипов

 

Have a lot of fun with Linux!

 

UPDATE :1111493779:

 

К моему большому удивлению, 30-day trial Subscription Edition НЕ СОЗДАЕТ *.SOF file :maniac: , который собственно и заливается через JTAG на вашу FPGA.

Мой workaround был загружать WEB Edition и устанавливать все заново, а 11 скачаных Гигабайт версии Subscription Edition пришлось удалить :crying:

 

ВЫВОД: Для пилотных/тестовых проектов можно использовать Web Edition либо сразу покупать лицензию на полную версию

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

......

 

6. Теперь нужно в обеих папках tmp1/ и tmp2/ кое-что изменить в файле установки setup (Altera использует sh для установки, в Ubuntu дефолтным является bash). Тут облом - монтированные папки имеют CDROM file system (read only file systems ISO9660), поэтому изменять файлы внутри не получится

 

7. В директории /home/user/installs создаем еще 2 папки и копируем содержимое смонтированных папок туда

mkdir quartus_inst

mkdir drivers_inst

cp -r tmp1/* quartus_inst

cp -r tmp2/* drivers_inst

 

8. После этого меняем permissions на RW в обеих папках:

chmod 777 -R quartus_inst

chmod 777 -R drivers_inst

 

9. Заходим в quartust_inst/ и изменяем шелл в файле установщика:

cd quartus_inst/

vi setup

в первой же строке #!/bin/sh меняем на #!/bin/bash

 

10. Аналогично в папке drivers_inst

.......

или же вместо этого загрузить *.sh файлы и запустить на выполнение(*.sh должны быть исполняемыми - если нет то chmod +x quaXXX.sh)

если планируется несколько юзверей юзающих ква, то запускать нужно под рутом и ставить в доступную папку например /usr/altera/...

и да гугл ваш друг

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Статья интересная, но слишком уж заумная. ИМХО.

 

Я ставил ква на ALTLinux x64, openSUSE, туже убунту. Все вставало без особых шаманств, только пару библиотек пришлось установить.

 

Проблема вылезла один раз, это когда програматор цеплял через правила для udev и то сам накосячил.

 

А вот с Xilinx-ом постоянные пляски с бубном, чтобы оно заработало.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

или же вместо этого загрузить *.sh файлы и запустить на выполнение(*.sh должны быть исполняемыми - если нет то chmod +x quaXXX.sh)

А вот какой *.sh взять для 11.1SP2? Который на альтере лежит 11.1sp2_259_quartus_linux.sh о пяти гигах объёму, так при установке грит, что ему требуется валидная установка. Это как? Он сам что - сервиспак, что-ли? А где тогда 11.1 не сервиспак?

 

P.S. При установке под убунту надо файлик отредактировать - указать bash вместо sh в первой строке. Иначе валится с глупой ошибкой (убунта юзает по умолчанию dash).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Поставил под CentOS, blaster подцепился автоматом.

dxp, да сервис пак это. Основной на сайте альтере есть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Рано радовался. На CentOS bнструкции даже мало оказалось.

Нужно еще:

1. Создать директорию /etc/jtagd

2. cp {quartus_dir}/linux/pgm_parts.txt /etc/jtagd/jtagd.pgm_parts

3. В /etc/rc.local добавить строчку

{quartus_dir}/bin/jtagd

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а на Fedore 16 никто не пробовал Jtag подключить? Три раза подступался - нифига не заработало

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

dxp, да сервис пак это. Основной на сайте альтере есть.

А как он, основной, называется? С цифрами 11.1 там только этот файл был.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а на Fedore 16 никто не пробовал Jtag подключить? Три раза подступался - нифига не заработало

пробовал. работает.

file /etc/udev/rules.d/51-usbblaster.rules

(всё в одну строку!!!)

SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", SYSFS{idVendor}=="09fb", SYSFS{idProduct}=="6001", MODE="0666", NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}", RUN+="/bin/chmod 0666 %c"

 

А вот какой *.sh взять для 11.1SP2? Который на альтере лежит 11.1sp2_259_quartus_linux.sh о пяти гигах объёму, так при установке грит, что ему требуется валидная установка. Это как? Он сам что - сервиспак, что-ли? А где тогда 11.1 не сервиспак?

 

P.S. При установке под убунту надо файлик отредактировать - указать bash вместо sh в первой строке. Иначе валится с глупой ошибкой (убунта юзает по умолчанию dash).

возможно этот 11.0sp1_acds_linux.sh. или этот (только ква) 11.0sp1_quartus_linux.sh

а если без редактирования так - "sh xxxqua.sh" тоже не работает?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

возможно этот 11.0sp1_acds_linux.sh. или этот (только ква) 11.0sp1_quartus_linux.sh

11.0 и 11.1, как мне кажецца, это разные версии. Или нет?

 

а если без редактирования так - "sh xxxqua.sh" тоже не работает?

Проблема там не в дистрибе, а в том, что у убунте по умолчанию в качестве шелла используется dash, а он не поддерживает весь набор возможностей bash (зато полегче, побыстрее, типо). Вот и приходится в скрипте явно указывать bash вместо шелла по умолчанию (sh). В другом линухе, возможно, картина будет иная.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

11.0 и 11.1, как мне кажецца, это разные версии. Или нет?

 

 

Проблема там не в дистрибе, а в том, что у убунте по умолчанию в качестве шелла используется dash, а он не поддерживает весь набор возможностей bash (зато полегче, побыстрее, типо). Вот и приходится в скрипте явно указывать bash вместо шелла по умолчанию (sh). В другом линухе, возможно, картина будет иная.

выкачивал отсель

https://www.altera.com/download/software/quartus-ii-se

 

ну а если так "bash ./11.1_xxxxquaxxx.sh" неужели тоже не получится?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Статья интересная, но слишком уж заумная. ИМХО.

 

Я ставил ква на ALTLinux x64, openSUSE, туже убунту. Все вставало без особых шаманств, только пару библиотек пришлось установить.

 

Проблема вылезла один раз, это когда програматор цеплял через правила для udev и то сам накосячил.

 

А вот с Xilinx-ом постоянные пляски с бубном, чтобы оно заработало.

Не согласен я!!!! Работаю в Debian. ISE встает ваще без проблем. Ежели чего не так с запуском то прочмодить нужно. Программатор вместе с ChipScop-ом поднял за 20 мин. Чуток пошаманили с товарищем. Работает все на Ура!!! Правда моделсим старый (6.5) не хотел со студии стартовать но ModelSim 10.0 спас Отца Русской демократии :laughing:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Доброго Здоровья! Нужна помощь. Имеется:

1. Ubuntu. Выпуск 12.04 (precise) 64-бит

2. USBblaster

3. плата с Cyclone III

4. Quartus II 32-bit Version 12.0 Web Edition

 

По команде lsusb выдает:

Bus 002 Device 002: ID 09fb:6001 Altera Blaster

Однако по команде jtagconfig выдает ошибку:

1) USB-Blaster variant [2-1]
  Unable to lock chain (Insufficient port permissions)

Из самого квартуса бластер виден, но прошивка не удается. в статусбаре "Progress:" пишет: "(Failed)"

Error (209053): Unexpected error in JTAG server -- error code 89

 

Работоспособность платы и программатора проверялась на компьютере с WinXP.

В чем может быть проблема?

Изменено пользователем shamrel

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Unable to lock chain (Insufficient port permissions)

Здесь и проблема.

Здесь - похожая история с правами в конфиге udev. Попробуйте явно прописать группу plugdev

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...