Я программирую микроконтроллеры уже несколько лет, и я только что обнаружил ПЛИС после прохождения курса цифрового дизайна. После некоторых исследований различных FPGA, плат разработки и т. Д. Я все еще не решаюсь их покупать, потому что не знаю, как сделать собственную версию конечного «продукта». Я поставил PIC, SAM, AVR и т. Д. На обычную плату без каких-либо проблем, поэтому я не беспокоюсь об этом - моя главная задача - программировать FPGA без платы производителя.
Мой конкретный вопрос: будет ли работать FPGA, если я возьму растровый файл, сгенерированный Quartus, Vivado, iCEcube и т. Д., Запишу его в микросхему флэш-памяти SPI, начиная с адреса 0 (скажем, через FT2232H), и подключу флэш-память к контакты SPI ПЛИС (при правильной настройке MODE)?
Я прошу прощения за частичное гипотетическое; Я вполне уверен, что это все, что делает Diamond Programmer от Lattice, но мне было интересно, подойдет ли этот подход для FPGA разных производителей, или, скажем, Quartus добавил дополнительные «витрины» или заголовки в память при записи.
Дайте мне знать, если я могу что-то сделать, чтобы улучшить / прояснить вопрос, или я упускаю важный момент в процессе программирования на ПЛИС. Спасибо!
источник
Ответы:
Да, это будет работать просто отлично.
На самом деле инструменты разработки для большинства ПЛИС позволяют программировать внешнюю флэш-память непосредственно через собственное соединение JTAG ПЛИС, что устраняет необходимость в отдельном программном интерфейсе для флэш-памяти.
источник
Когда вы говорите «файл [sic] bitmap [sic], сгенерированный», ответ «Да», если вы выбрали правильный - вы допустили небольшую ошибку, используя определенную статью, так как не был создан только один файл ,
Например, Quartus может создавать файлы SOF, POF и JIC. Последнее, что вы используете для косвенного программирования через FPGA JTAG. Не было бы полезно записать это на флэш-память SPI. SOF предназначен для загрузки через JTAG для временного запуска вашего проекта в FPGA. POF - это то, что вам нужно загрузить во флеш-чип.
Посмотрите FPGA: Bitstream vs. SRAM Object File, чтобы получить много полезной информации о том, что означают разные файлы от каждого из разных поставщиков.
источник
Если я правильно понимаю ваш вопрос, вы хотите записать конфигурацию FPGA (например, вашу скомпилированную модель HDL) в SPI EEPROM или SPI Flash, и вы хотите, чтобы FPGA программировала сама себя, используя данные на ИС SPI.
(Если я правильно понимаю ответ Дэйва Твида, он понял ваш вопрос по-другому.)
По крайней мере, многие устройства флэш-памяти SPI НЕ будут работать, потому что микросхемы флэш-памяти SPI требуют отправки определенного сигнала (например, адреса для чтения), чтобы данные считывались с ИС.
Эта форма волны не одинакова для всех устройств флэш-памяти. Даже если смотреть только на карты памяти SD (которые также можно использовать в качестве флэш-памяти SPI), мы находим два варианта, требующих отправку на карту другой формы сигнала, прежде чем карта считывает данные.
При правильной настройке выводов режима работы ПЛИС, ПЛИС будет отправлять некоторую форму сигнала, которая инструктирует некоторое последовательное запоминающее устройство отправлять данные. Однако, поскольку для разных микросхем требуются разные формы сигнала, форма сигнала будет понятна не всем микросхемам флэш-памяти, а только определенным типам.
Я знаю, что Altera производит специальные микросхемы Flash или EEPROM, которые совместимы с их FPGA.
источник
Если вы хотите записать поток битов FPGA на флэш-память без официальных инструментов программирования FPGA, вам, скорее всего, потребуется конвертировать этот файл потока битов в открытый двоичный формат, который вы можете легко прочитать, например, в двоичный формат, Intel HEX или Motorola SREC ( пример ). Это исключит любые проприетарные заголовки, которые может содержать поток битов FPGA.
Таким образом, вы сможете запрограммировать флэш-память, используя инструменты производителя флэш-памяти (или ваши собственные инструменты), или даже заказать микросхемы флэш-памяти, предварительно запрограммированные с помощью потока битов ПЛИС.
источник