Этот репозиторий включает IP-блоки FPGA, совместимые с семейством продуктов Arduino Vidor, и предназначен для пользователей, уже знакомых с процессом разработки FPGA. Разработка FPGA с использованием собственных инструментов хотя и поощряется, но не поддерживается Arduino, поскольку ее довольно сложно поддерживать. Если вы чувствуете, что эта задача для вас, знайте, что мы можем предоставить лишь очень ограниченную поддержку, поскольку наши основные усилия будут направлены на обеспечение бесперебойной работы в Arduino IDE и Arduino Create с помощью предварительно скомпилированных библиотек и веб-инструмента, который обеспечит простой способ для сборки IP-блоков.
Структура каталогов представлена в следующей таблице:
Каталог | Содержание |
---|---|
IP | исходный код для IP-блоков |
проекты | примеры файлов проектов для различных плат |
ограничения | файлы ограничений для различных плат. включая распиновку и тайминги |
Еще раз повторю: этот репозиторий предназначен только для людей, уже знакомых с программированием FPGA. На данный момент основная цель — раскрыть функциональность IP-блоков и представить созданную нами инфраструктуру, чтобы потенциальные участники могли начать ее оценивать. На сегодняшний день этот репозиторий не содержит полного исходного кода, необходимого для компиляции выпущенных библиотек, поскольку некоторые его части требуют доработки как с точки зрения кода, так и с точки зрения лицензирования (в некоторых случаях от третьих лиц). Полные примеры работающих FPGA, а также инструкции по созданию библиотеки и доступу к FPGA будут опубликованы здесь, но не обязательно будут отражать официальные изображения, которые мы публикуем.
Обязательным условием для компиляции образов FPGA платы MKRVIDOR4000 является Quartus II 18.0 Lite или Standard, который можно загрузить с веб-сайта Altera/Intel. После установки Quartus вы можете открыть проект в каталоге проектов и скомпилировать его с помощью Quartus.
Quartus создаст набор файлов в каталоге output_files папки проекта. Чтобы включить FPGA в код Arduino, вам необходимо создать библиотеку и предварительно обработать файл ttf, сгенерированный Quartus, чтобы он содержал соответствующие заголовки, необходимые для программной инфраструктуры. Подробности этого процесса будут раскрыты, как только поток стабилизируется.
Программирование ПЛИС возможно различными способами:
прошивка изображения вместе с кодом Arduino, создание библиотеки, включающей файл ttf
программирование образа в оперативной памяти через USB Blaster (для этого необходимо смонтировать JTAG-разъем ПЛИС). это можно сделать безопасно только тогда, когда SAM D21 находится в режиме загрузчика, поскольку в других условиях он может получить доступ к JTAG и вызвать конфликт.
программирование образа в оперативной памяти через эмулируемый USB Blaster через SAM D21 (этот компонент ожидает выпуска)