Конфигурирование ПЛИС

Радиотехника, платы, схемы, оборудование, фото- видео- приборы, компьютеры
Ответить
Аватара пользователя
Vitekkz88

Activity Silver Автор
expert
expert
Сообщения: 1100
Зарегистрирован: 21 янв 2014, 15:45
Награды: 3
Версия LabVIEW: 12,13,14
Откуда: Томск
Контактная информация:

Конфигурирование ПЛИС

Сообщение Vitekkz88 »

Добрый день!
Возможно ли конфигурировать ПЛИС средствами LabVIEW(загрузка .bit , mcs)? Возможно ли сохранять прошивки во Flesh?
Плата не от NI. Весьма неудобно скакать из одного приложения в другое...сама ПЛИС от Xilinx(соответственно и софт для работы с ПЛИС от Xilinx). Хотелось бы прошивки заливать с верхнего уровня.
Есть у кого опыт или может быть библиотека? Подскажите пожалуйста, спасибо!
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Конфигурирование ПЛИС

Сообщение dadreamer »

На сайте разработчика платы есть какой-нибудь SDK-пакет или API для работы с платой? И как сама прога заливает прошивки? Т.е., использует ли она какие-то библиотеки или эти способности вшиты в неё?
Аватара пользователя
Vitekkz88

Activity Silver Автор
expert
expert
Сообщения: 1100
Зарегистрирован: 21 янв 2014, 15:45
Награды: 3
Версия LabVIEW: 12,13,14
Откуда: Томск
Контактная информация:

Re: Конфигурирование ПЛИС

Сообщение Vitekkz88 »

dadreamer,
Да, конечно, производитель поставляет своё ПО для программирования и прошивки ПЛИС. Это приличных размеров САПР от Xilinx. Например, для загрузки прошивки в ПЛИС от Xilinx по JTAG используется инструмент Impact(входит в ISE Design Tools). Беглый осмотр не выявил каких-то отдельных библиотек для прошивки(возможно они есть, но найти их будет не просто...еще сложнее будет дёрнуть от туда функции). А так получается следующим образом: подключили программатор к плате(по JTAG), к компу по USB. Запустили Impact и проводим сканирование периферии. Обнаруживаем нашу ПЛИС(она на JTAG-цепочке сидит), а дальше дело техники: там галочку поставить, тут указать путь к файлу, здесь кое-что настроить и вуаля, нажимаем Programm.
Было бы удобней указать путь на этот .bit-файл в LabVIEW и провести конфигурацию ПЛИС "не отходя от кассы"...Может есть какой-нибудь скрипт? Или какой-нить сценарий для .bat-файла? Я чет уже на идеи истощился...
Пока шарюсь на сайте Xilinx-a в теме "Programming FPGA without iMPACT"...
Последний раз редактировалось Vitekkz88 20 июл 2015, 12:39, всего редактировалось 1 раз.
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
Аватара пользователя
Kosist

Activity Gold
expert
expert
Сообщения: 1236
Зарегистрирован: 21 фев 2011, 23:44
Награды: 2
Версия LabVIEW: 2013-2020
Благодарил (а): 23 раза
Поблагодарили: 30 раз
Контактная информация:

Re: Конфигурирование ПЛИС

Сообщение Kosist »

Вот здесь http://forums.xilinx.com/t5/Embedded-De ... d-p/300415 советуют использовать Impact в batch-mode, и вызывать через командную строку.
А по этим ссылкам ответ не столь оптимистичный - http://forums.xilinx.com/t5/Embedded-De ... 309#M33381 , http://www.edaboard.com/thread324858.html
Мы делили апельсин - много наших полегло...
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Конфигурирование ПЛИС

Сообщение dadreamer »

Kosist писал(а):советуют использовать Impact в batch-mode, и вызывать через командную строку.
Это был бы самый простой вариант. Попробуйте, если не получится, то можно будет покопать саму прогу.
Аватара пользователя
Vitekkz88

Activity Silver Автор
expert
expert
Сообщения: 1100
Зарегистрирован: 21 янв 2014, 15:45
Награды: 3
Версия LabVIEW: 12,13,14
Откуда: Томск
Контактная информация:

Re: Конфигурирование ПЛИС

Сообщение Vitekkz88 »

dadreamer, Kosist, спасибо! Попробую. Позже напишу как что получилось.
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
Аватара пользователя
Vitekkz88

Activity Silver Автор
expert
expert
Сообщения: 1100
Зарегистрирован: 21 янв 2014, 15:45
Награды: 3
Версия LabVIEW: 12,13,14
Откуда: Томск
Контактная информация:

Re: Конфигурирование ПЛИС

Сообщение Vitekkz88 »

Всем доброго дня!
Мне удалось выполнить загрузку BitStream-а(.bit) в FPGA в интерактивном режиме.
Для этого используется командная строка ISE Design Suite 64 Bit Command Prompt(для x64), которая устанавливается вместе с ISE(не исключено, что можно как-то отдельно её скачать или есть какая-то другая утилита). Стандартная командная строка Windows не подходит, по крайней мере получить положительного результата мне не удалось(видимо ввиду специфики используемых команд).
Итак, для того, чтобы прогрузить битстрим в FPGA необходимо запустить SE Design Suite 64 Bit Command Prompt и в появившейся консоли прописать следующую команду:
impact -batch
Так мы переходим в режим Batch.
Затем проводим сканирование,настройку кабеля,идентификацию.После этого добавляем устройство и указываем путь к bit-файлу.Затем команда на запуск программирования и выход.
setMode -bscan
setCable -p auto
addDevice -p 1 -file C:\Users\Lemz-T\Desktop\Test\system.bit
program -p 1
quit

Всё) Практически по аналогии проводится и загрузка .mcs-файла.
setMode -bscan
setCable -p auto
assignfile -p 1 C:\Users\Lemz-T\Desktop\qwer\test.mcs
program -e -v -showprogress -parallel -p 1
saveCdf -file filename.cdf
quit

Для тех, кто интересуется, можно ознакомиться более подробно с командами тут: http://www.xilinx.com/support/documenta ... devref.pdf
Либо в хэлпе Xilinx-а.
Для того, чтобы автоматизировать запуск и выполнение этих процедур был написан сценарий для .bat-файла.
У меня он имеет следующий вид:
start C:\Users\Lemz-T\Desktop\Test\XilCMD impact -batch C:\Users\Lemz-T\Desktop\Test\TestScript.txt
@ echo off
cls
taskkill /F /IM cmd.exe
pause

То есть запускаю командную строку от Xilinx-а, вхожу в режим batch и далее указываю путь к файлу со скриптом(для программирования ПЛИС с помощью .bat или .mcs) и закрываю. Консоль с процессом выполнения скрипта отображается, после выполнения закрывается. Всё выполняется автоматически.
Нюансы:
Данный способ подходить только для ПЛИС от Xilinx(и то не всех...но бОльшая часть поддерживается).На JTAG-цепочке могут сидеть и другие устройства(флешки,например) и тогда следует внимательно указывать номер устройства для прошивки(можно выполнить команду identify и посмотреть список устройств). Так же следует отметить, что имя файла и путь к прошивке должны быть постоянными(либо в скрипте править). В моём случае конфигурация платы не меняется и новых плат с ПЛИС-ами мне каждый день не приносят. Зато прошивки для ПЛИС меняются чуть ли не каждый день. Поэтому такой метод автоматизации вполне оправдан. В процессе работы можно усовершенствовать текущий скрипт(добавить всяких настроек, режимов и т.д), но пока мне хватает обычной загрузки для отладки и проверки работоспособности.
В итоге получается один bat-файл, два текстовых файла (.txt) с скриптами и файлы с прошивками.
Спасибо всем, кто проявил интерес к теме! Всем добра!
Вложения
Безымянный123.png
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
Ответить

Вернуться в «Железо»