как установить vivado на windows 10
sgherbst / install.md
Installing Vivado HLx 2018.3
Add a UDEV rule for the PYNQ UART
Run the following commands to make the PYNQ UART accessible to non-root users. Note that this is a fairly broad rule; it makes all devices matching the pattern «/dev/ttyUSB*» available to all users.
Installing the PYNQ-Z1 Board Files
Download Pynq-Z1 board files and copy them over to the appropriate location in the Vivado directory structure:
Note: if you are using a different board, you’ll want to install the corresponding board files. For example, if you are using the Nexys4 DDR board, then you would download https://github.com/Digilent/vivado-boards/archive/master.zip and move the contained nexys4_ddr folder into the board_files directory. More details are here.
This comment has been minimized.
Copy link Quote reply
Aryamn commented Sep 4, 2020
how to install nexys4_ddr in vivado??
This comment has been minimized.
Copy link Quote reply
sgherbst commented Sep 4, 2020
Try following these steps to install the required board files.
This comment has been minimized.
Copy link Quote reply
Aryamn commented Sep 4, 2020
This comment has been minimized.
Copy link Quote reply
sgherbst commented Sep 4, 2020
Hmm, the first thing I would try is restarting Vivado, since that is required whenever you add board files.
If that doesn’t work, then please check that the nexys4_ddr folder is placed at this exact path:
For example, if the folder was placed one level up in the boards folder, it won’t work.
Средства разработки от Xilinx Vivado HLS, Vitis и PetaLinux обновлены до версии 2020.1
На сайте компании Xilinx доступны новые версии средств разработки для её продуктов с номером 2020.1. Были обновлены среды разработки Vivado HLS, Vitis и PetaLinux. Пользователи могут скачать их из своих личных кабинетов уже сейчас.
Xilinx прекращает поддержку ОС Windows 7 и теперь все продукты, предназначенные для работы в Windows официально поддерживаются только на Windows 10. В то же время расширено количество поддерживаемых Linux платформ:
Так же появился универсальный веб-инсталлятор, позволяющий загрузить и установить следующие продукты Xilinx:
Загрузить можно полный образ системы или же только необходимые для конкретной работы компоненты. Размер универсального дистрибутива для платформ Windows 10 и Linux – 35,51 Гбайт, в то время как объём веб-инсталлятора – около 100 MB, но затем недостающие компоненты скачиваются из Интернета.
Системные требования для оборудования, на котором будет функционировать ПО Xilinx, достаточно высоки, особенно в части объёма оперативной памяти:
Используется в работе от 5 до 48 Гбайт, в зависимости от серии ПЛИС.
Руководство по установке и лицензированию Vivado можно скачать по ссылке.
Устройства и платформы, поддерживаемые бесплатной версией Vivado WebPack и полной версией Vivado_HLS:
Vivado Webpack (бесплатная)
Vivado Design Suite
XC7Z010, XC7Z015, XC7Z020, XC7Z030, XC7Z007S, XC7Z012S, и XC7Z014S
Zynq® UltraScale+™ MPSoC
XCZU2EG, XCZU2CG, XCZU3EG, XCZU3CG XCZU4EG, XCZU4CG, XCZU4EV, XCZU5EG, XCZU5CG, XCZU5EV, XCZU7EV, XCZU7EG, и XCZU7CG
Zynq UltraScale+ RFSoC
ПЛИС семейства Virtex
Все устройства серий
Virtex-7,
Virtex UltraScale,
Virtex UltraScale+,
Virtex UltraScale+ HBM,
Virtex UltraScale+ 58 G
ПЛИС семейства Kintex
Kintex®-7:
XC7K70T, XC7K160T
Kintex UltraScale:
XCKU025, XCKU035
Kintex UltraScale+:
XCKU3P, XCKU5P
Kintex®-7:
Все
Kintex UltraScale:
Все
Kintex UltraScale+:
Все
ПЛИС семейства Artix-7
XC7A12T, XC7A15T, XC7A25T, XC7A35T, XC7A50T, XC7A75T, XC7A100T, XC7A200T
ПЛИС семейства Spartan-7
XC7S6, XC7S15, XC7S25, XC7S50, XC7S75, XC7S100
XCU50, XCU200, XCU250, XCU280, XCU25, XCU30
Пакет Vitis Core Devеlopment Kit для разработчиков системного уровня и программистов для платформ Linux так же скачивается через универсальный инсталлятор. В него добавлены новые библиотеки и платформы. Список изменений можно посмотреть на сайте: https://www.xilinx.com/html_docs/xilinx2020_1/vitis_doc/drr1589984778785.html
Платформы и дополнительные пакеты для требуемых областей применения (включая Vitis AI для разработки приложений ИИ на базе нейронных сетей) можно бесплатно скачать из репозитория Xilinx на github: https://github.com/xilinx.
Конфигуратор Linux для платформ Xilinx – Petalinux 2020.1 поддерживает Linux Kernel v. 5.4 для всех SoC Xilinx, включая MicroBlaze, имеет объём дистрибутива 1,23 Гбайт и является абсолютно бесплатным продуктом. Он работает только на платформах Linux, как на физическом оборудовании, так и на виртуальных машинах.
Наибольшую пользу от перехода на новые средства разработки получат разработчики, применяющие топовые устройства линейки Xilinx, ускорители Alveo и разработчики систем ИИ.
Компания Макро Групп является официальным партнёром Xilinx в России и странах СНГ.
Vivado: Picasso mode
Аннотация
Безумию все возрасты покорны
При проектировании каких-либо модулей на ПЛИС невольно иногда приходит в голову мысль о не совсем стандартном использовании самой среды проектирования и инструментов, которые она предоставляет для проектирования. В этой небольшой заметке мы рассмотрим, как с помощью инструмента управления средой, реализованного на Tcl, мы можем буквально рисовать на ПЛИС фотографии, картины, портреты и мемасики.
Такой необычный «маршрут проектирования» был реализован еще полтора года тому назад, но вот только сейчас пришла мысль оформить его в виде заметки, в которой имеется небольшая практика применения Tcl скриптов для управления средой проектирования, в данном случае Vivado. Однако при небольших доработках все легко может быть адаптировано под другие среды разработки, например Quartus II.
Введение
Разумеется, идея не пришла в голову из неоткуда. Её появлению способствовала моя тогдашняя занятость проектами по обработке изображений и управлению видеопотоками на FPGA. У каждого бывает такое, что сидя над решением какой-то проблемы в голову приходит всякая ересь, почему оно не работает или работает именно так как и должно, но не так как мы ожидаем.
При решении проблемы пришлось прибегнуть к одному из инструментов среды Vivado, а именно окрашиванию соответствующих компонентов и модулей в проекте после размещения и трассировки и вглядыванию в бесконечные временные диаграммы.
В итоге, я окрасил несколько конфигурируемых логических блоков CLB в различные цвета, и меня «осенило» – это же пиксели изображения, так может попробовать нарисовать какую нить картинку, сопоставив каждому пикселю свой окрашенный CLB?… ну тут оно и понеслось
Чем нам поможет Tcl?
Предположим, что у нас есть небольшая картинка размера 100х100 пикселей. Теперь допустим, что для того чтобы окрасить CLB нам нужно совершить два действия: выбрать CLB и выбрать цвет. В картинке 100×100 у нас 10000 пикселей и делать такое окрашивание вручную достаточно утомительно, тем более что действия являются однотипными и повторяющимися. Таким образом, раскрашивать вручную каждый CLB это не есть выход и нужно воспользоваться Tcl и скриптам. Но с чего начать?
Первое, что пришло в голову – это найти нужную команду, отвечающую за назначение цвета выбранному элементу. К счастью, при ручном выполнении действий Vivado выводит соответствующие Tcl команды в консоль и вроде бы проблема с поиском должна быть решена максимально быстро. Однако не тут то было. Вывод команды на подсветку выбранных элементов Vivado просто игнорирует и единственным вариантом найти команду, а я был предельно уверен, что она должна быть, это окунуться с головой в гайд по Tcl командам, доступным в Vivado, а это почти 2000 страниц [1].
Не стоит отчаиваться, по ключевому слову «highlight» быстро нашлась соответствующая команда, которая называется highlight_objects. Эта команда подсвечивает указанные или выбранные объекты в определённый цвет, задаваемый с помощью опций. Опции у команды highlight_objects следующие:
—color_index – (не обязательная) допустимое значение аргумента опции должно быть число от 1 до 20. Цвет, в который будет окрашен выбранный объект, определяется его порядковым номером из палитры предустановленных цветов, которую можно найти в Colors → Highlight в разделе меню Tools → Settings.
—rgb – (не обязательная) задает цвет выбранного объекта в формате RGB
—color – (не обязательная) подсвечивает выбранный объект в один из следующих цветов: red, green, blue, magenta, yellow, cyan и orange
Остальные опции команды относятся к системным настройкам самой команды и нам не пригодятся. Однако при использовании команды highlight_objects следует учитывать, что две и более опций окрашивания не могут применяться одновременно.
Очевидно, что для нашей задачи подходит опция, задающая произвольный цвет в формате RGB – опция rgb
Теперь не плохо бы было получить значения пикселей изображения, но найти изображение, которое бы было представлено в формате bitmap, мне не удалось. Открывая каждый файл текстовым редактором, не удавалось найти строки со значением пикселей. Разумеется, писать программу преобразования изображений в формат bitmap я не стал, а просто полез в интернет искать готовое решение. Искать пришлось не слишком долго. Как оказалось, задача преобразования изображения в формат bitmap (то есть когда мы видим значения пикселей несжатого изображения) достаточно актуальна (наверное, такую задачу задают студентам-программистам в качестве домашнего задания к лабораторной работе). Не долгий поиск привел на github, откуда и была скачана программа Image2Bitmap [2].
Программа требует на вход изображения и на выходе выдает значения пикселей в виде си массива с шестнадцатеричными значениями пикселей в формате RGB565. Этот формат говорит, что на кодирование цвета для красной компоненты используется 5 бит, зеленой 6 бит и синей 5 бит. Этого оказалось вполне достаточно для работы. Теперь лишь требуется отобразить полученные значения непосредственно на окрашиваемые секции (slice).
Выбор ПЛИС
Чем больше ПЛИС, тем больше в ней логических ресурсов, а значит и само «поле для творчества» больше и картинка будет чётче. Следует сразу отметить, что «разукрашивание» достаточно долгий процесс и может занять прилично времени, зависящее от размеров изображения. Для проведения тестирования стоит выбрать ПЛИС с небольшим количеством ресурсов. Например, семейства Spartan-7. После окончания тестирования, можно изменить ПЛИС на более «жирную», например, из семейства Ultrascale+.
Запускаем Vivado и создаем проект
Выбираем кристалл xc7s6cpga196-2, на котором будем рисовать тестовое изображение
Для отображения нарисованного нам понадобится открыть само изображение кристалла, однако, это можно сделать после этапа синтеза либо elaborate. В Vivado нам для этого понадобится создать модуль-пустышку на любом языке.
Добавим в проект Tcl скрипт.
a. Для этого, создайте в папке с проектом файл с расширением «.tcl», например «fpga_painter.tcl»
b. Перейдите в Vivado, и добавите этот файл в проект.
c. После окончания обновления иерархии проекта, сделайте файл неактивным.
После создания модуля, он появится в окне иерархии проекта и нам будет доступна кнопка Open Elaborate Design. Нажимаем её.
После открытия Elaborate Design переходим в Window→Device. Появится отображение поля нашей ПЛИС.
Подготовка закончена, приступаем к написанию скрипта.
Определение параметров и процедур
Тестовое изображение
Для начала давайте отладим алгоритм/код как таковой на небольшом изображении, скажем 5×3, а затем запустим его «на полную катушку».
Открываем Paint, ограничиваем поле изображения 5х3 пиксела (можно взять любые цвета). Сохраните файл как «5×3.png»
Откроем программу Image2Bitmap и преобразуем нашу картинку в массив RGB565.
После преобразования программа выдаст нам массив из 15 пикселей
Подготовка данных
Перед тем как приступить к обработке пикселов преобразуем данные, выдаваемые программой Image2Bitmap в простой список, в котором будут записаны шестнадцатеричные значения пикселов. Сами данные программы мы скопируем и сохраним в файл «pic_array.dat», который следует расположить в папке с проектом.
При запуске создаваемого скрипта нам предстоит обработать файл «pic_array.dat». Стоит отметить, что количество элементов в строке, возвращаемой программой Image2Bitmap, не соответствует количеству пикселей в строке преобразуемого изображения, по этой причине мы и сформируем отдельный список «pixels».
При чтении файла нужно игнорировать первую строку «uint16_t image = <» и последнюю «>;». Для пропуска первой строки при чтении файла просто разместим чтение строки перед циклом чтения всего файла.
После чтения всего файла, мы увидим, что последняя строка файла «>;» стала элементом списка, который просто удаляется.
На этом формирование списка с шестнадцатеричными значениями пикселов закончено. Теперь приступим к их обработке.
Определение размера изображения
Еще раз взглянем на поле ПЛИС и изображение. Поле ПЛИС разбито на секции (SLICE), которые имеют соответствующие координаты по горизонтали «Х» и вертикали «Y». Например, SLICE_X6Y36.
Изображение в свою же очередь имеет пиксели, так же с координатами по горизонтали и вертикали. При наложении изображения на ПЛИС нам следует совместить верхний левый пиксель с верхней левой секцией ПЛИС. В данном случае, выбранный кристалл имеет верхнюю секцию с координатой X0Y49.
Размер изображения будет определяться количеством секций в ПЛИС по горизонтали и вертикали. У выбранного кристалла горизонтальная координата секций изменяется от X0 до Х131, а по вертикальная от Y49 до Y0. Отсюда следует, что теоретически мы можем нарисовать на выбранном кристалле изображение размером 132×50.
Начальные параметры
Подведём итог: начальными параметрами нашего скрипта будут:
Стартовая позиция секции по оси Х: имя переменной start_x
Стартовая позиция секции по оси Y: имя переменной start_y
Ширина изображения (для тестового изображения равна 5): переменная w
Высота изображения (для тестового изображения равна 3): переменная h
Корректировка цвета пиксела
Программа Image2Bitmap выдает массив пикселов в формате RGB565 в виде 16 битного числа, записанного в шестнадцатеричном формате. Нам следует:
Преобразовать значение пиксела в двоичный формат. Это можно сделать с помощью процедуры hex2bin, которую можно найти в [3]
Сопоставить биты с соответствующими цветовыми компонентами:
• Красная компонента R[15:11]
• Зелёная компонента G[10:5]
• Синяя компонента B[4:0]
Пояснение: порядок изменён в виду того, что процедура hex2bin возвращает строку, в которой нумерация элементов начинается с 0, то есть 15-му биту соответствует 0-ой элемент строки, а 0-му биту 15-ый элемент строки
Преобразовать значение цветовой компоненты из binary в decimal. Это можно сделать с помощью процедуры bin2dec, которую можно найти [3]:
Преобразовать значения пикселов из RGB565 в формат RGB888, для более плавного отображения картинки. Это делается с помощью двух списков, которые можно найти в [4]. Как это работает:
• Разрядность цветовых компонент R и B 5 бит. Взяв десятичное значение компоненты, мы сопоставим его с позицией числа, записанного в списке t5, а значение компоненты изменится на значение в таблице
• Аналогично для компоненты G и таблицы t6
Определение наличия секции
Внутри некоторых ПЛИС имеются специальные ресурсы или пустоты, которые могут нарушить последовательную нумерацию координат секций. Например, на рисунке ниже видно, что нумерация секций прерывается (кристалл xc7s50)
По этой причине перед окрашиванием мы сначала проверим существование секции. Если она существует, то окрашиваем, если не существует, то переходим к следующему пикселу
Окрашивание секции
Цвет секции определён, наличие секции проверено. Теперь цвет нужно назначить секции с помощью команды highlight_objects:
Вектор →Двухмерный массив
В начале, мы преобразовали данные изображения в список pixels, в котором хранится построчная развертка изображения. Для организации картинки введем две переменные, x и y, которые будут соответствовать положению пикселей в изображении. Последовательно считывая элементы списка pixels, мы сформируем изображение, используя два цикла for: один по количеству строк, второй по положению пиксела в строке
Полный листинг скрипта
Тестирование
Для начала тестирования, убедитесь, что Вам доступно поле ПЛИС, т.е. открыт один из этапов проектирования: elaborated, synthesis или implemented. Для отображения поля ПЛИС выберите Window → Device
Откроем файл «pic_array.dat» и скопируем в файл данные из программы Image2Bitmap. Сохраняем файл
Откроем скрипт. Установим координату левого верхнего пиксела 0 и 49, размер тестового изображения 5 на 3 и запустим скрипт. Для этого в поле скрипта нажмите правой кнопкой и выберите Run.
Перейдите в Tcl console и убедитесь, что скрипт был выполнен.
Перейдите во вкладку Device и убедитесь, что ячейки окрашены в соответствующий цвет.
Теперь можем взять любое изображение, преобразовать его до нужного размера и закрасить поле ПЛИС. Ниже приведены несколько примеров.
Vivado ML
Features
What’s New in 2021.2:
Features
Minimum System Memory Recommendations for the Vivado ML Editions
The following tables provide the typical and peak Vivado memory usage per target device. Xilinx recommends to haveВ have at minimumВ enough physical system memory to handle the peak memory usage.
В | Windows / Linux (64-bit) | |
Device | Typical | Peak |
XCKU3P | 7 | 13 |
XCKU5P | 7 | 13 |
XCKU9P | 8 | 13 |
XCKU11P | 9 | 13 |
XCKU13P | 10 | 14 |
XCKU15P | 10 | 15 |
В | Windows / Linux (64-bit) | |
Device | Typical | Peak |
XCVU3P | 11 | 19 |
XCVU5P | 12 | 19 |
XCVU7P | 15 | 24 |
XCVU9P | 20 | 32 |
XCVU11P | 22 | 32 |
XCVU13P | 28 | 47 |
В | Windows / Linux (64-bit) | |
Device | Typical | Peak |
XCZU2EG | 3 | 5 |
XCZU3EG | 4 | 6 |
XCZU4EV | 5 | 8 |
XCZU5EV | 6 | 9 |
XCZU6EG | 7 | 10 |
XCZU7EV | 8 | 11 |
XCZU9EG | 10 | 14 |
XCZU11EG | 11 | 18 |
XCZU15EG | 11 | 18 |
XCZU17EG | 12 | 18 |
XCZU19EG | 14 | 21 |
В | Windows / Linux (64-bit) | |
Device | Typical | Peak |
XCZU21DR | 10 | 14 |
XCZU25DR | 11 | 14 |
XCZU27DR | 13 | 17 |
XCZU28DR | 14 | 17 |
XCZU29DR | 14 | 17 |
В | Windows / Linux (64-bit) | |
Device | Typical | Peak |
XCKU025 | 5 | 7 |
XCKU035 | 5 | 7 |
XCKU040 | 5 | 7 |
XCKU060 | 7 | 11 |
XCKU085В | 9 | 14 |
XCKU095 | 9 | 14 |
XCKU115 | 9 | 14 |
В | Windows / Linux (64-bit) | |
Device | Typical | Peak |
XCVU065 | 7 | 11 |
XCVU080 | 8 | 12 |
XCVU095 | 9 | 14 |
XCVU125 | 10 | 16 |
XCVU160 | 14 | 20 |
XCVU190 | 18 | 24 |
XCVU440 | 32 | 48 |
В | Windows / Linux (64-bit) | |
Device | Typical | Peak |
XC7V585T | 4 | 6 |
XC7V2000T | 10 | 16 |
XC7VX330T | 3 | 5 |
XC7VX415T | 3 | 5 |
XC7VX485T | 4 | 5 |
XC7VX550T | 4 | 6 |
XC7VX690T | 5 | 7 |
XC7VX980T | 7 | 9 |
XC7VX1140T | 8 | 10 |
XC7VH580T | 4 | 6 |
XC7VH870T | 6 | 8 |
В | Windows / Linux (64-bit) | |
Device | Typical | Peak |
XC7K70T | 1.6 | 2.5 |
XC7K160T | 2 | 3 |
XC7K325T | 3 | 4 |
XC7K355T | 3 | 5 |
XC7K410T | 3 | 5 |
XC7K420T | 3 | 5 |
XC7K480T | 4 | 6.5 |
В | Windows / Linux (64-bit) | |
Device | Typical | Peak |
XC7A15T | 2 | 3 |
XC7A35T | 2 | 3 |
XC7A50T | 2 | 3 |
XC7A75T | 2 | 3 |
XC7A100T | 2 | 3 |
XC7A200T | 2.5 | 3.5 |
В | Windows / Linux (64-bit) | |
Device | Typical | Peak |
XC7Z010 | 1 | 1.6 |
XC7Z015 | 1.3 | 1.9 |
XC7Z020 | 1.3 | 1.9 |
XC7Z030 | 1.8 | 2.7 |
XC7Z035 | 3 | 5 |
XC7Z045 | 3 | 5 |
XilinxВ® supports the following operating systems on x86 and x86-64 processor architectures.
Note: Please refer to PetaLinux Tools Documentation: Reference Guide (UG1144)В for more information on Installation Requirements for supported Operating Systems with PetaLinux.В
The following table lists architecture support for commercial products in Vivadoв„ў ML Standard versus Vivado ML Enterprise edition. For non-commercial support all Xilinx automotive devices are supported in Vivado ML Standard Edition when available as production devices in the tools.
Device | Vivado ML Standard Edition | Vivado ML Enterprise Edition |
---|---|---|
ZynqВ® | Zynq-7000 SoC Device: |
• XC7Z010, XC7Z015, XC7Z020, XC7Z030, XC7Z007S, XC7Z012S, and XC7Z014S
 • All
• XCZU2EG, XCZU2CG, XCZU3EG, XCZU3CG XCZU4EG, XCZU4CG, XCZU4EV, XCZU5EG, XCZU5CG, XCZU5EV, XCZU7EV, XCZU7EG, and XCZU7CG
• All
• None
• All
• All
• All
• All
• All
• VC1902
• VC1802 Prime Series
• VM1802
Virtex-7 FPGA:
• None
Virtex UltraScale FPGA:
• None
Virtex-7 FPGA:
• All
Virtex UltraScale FPGA:
• All
Virtex UltraScale+ FPGA:
• All
Virtex UltraScale+ HBM:
• All
Virtex UltraScale+ 58G:
• All
KintexВ®-7 FPGA:
• XC7K70T, XC7K160T
Kintex UltraScale FPGA:
• XCKU025, XCKU035
Kintex UltraScale+ FPGA:
• XCKU3P, XCKU5P
- С чем сделать гренки на праздничный стол
- bonjour service что это такое windows 10