Как прошить ПЛИС.
В прошлой статье описывал как установить Quartus, но это был лишь шаг к поставленной задаче. Для того чтобы убедиться, что ПЛИС и программатор работают, первую надо было прошить.
Оказалось, что сделать это можно двумя способами, первый — через JTAG интерфейс, в этом случае конфигурационная информация зашивается непосредственно ПЛИС. Недостаток этого способа в том, что память ПЛИС энергозависима и прошивку необходимо загружать в ПЛИС каждый раз после подачи питания.
Выход из сложившейся ситуации напрашивается сам собой и заключается он в том, чтобы рядом с ПЛИС разместить микросхему памяти и из нее каждый раз после подачи питания загружать прошивку. Единственное, что стоит добавить, что прошивка хранится не в обычной флэшке, а в специальной микросхеме — последовательно конфигурационном ПЗУ. У Altera — это микросхемы серии EPCS или EPCQ, программируемые по интерфейсу Active Serial. Это и есть второй способ, смысл его в том, чтобы запрограммировать микросхему последовательно конфигурационного ПЗУ, а после подачи питания ПЛИС вычитает из неё прошивку.
Но тут напрашивается другой вопрос, получается для программирования микросхемы последовательно конфигурационного ПЗУ необходим отдельный разъем?
Оказывается разработчики ПЛИС позаботились об этом и ПЛИС может выступать посредником между интерфейсами JTAG и Active Serial. То есть получает она прошивку по JTAG интерфейсу, а записывает её в ПЗУ, используя Active Serial. С теорией разобрались и можно приступать к практике.
Загрузка прошивки в ПЛИС через jtag интерфейс.
По моей просьбе продавец отправил мне на почту схему отладочной платы и несколько простых проектов. В одном из проектов был найден файл с расширением .sof, который необходим для прошивки.
Для того, чтобы прошить ПЛИС по jtag необходимо:
Загрузка прошивки в ПЗУ с интерфейсом Active Serial через jtag.
В той же папке откуда был взят файл .sof был найден файл с расширением .pof. Файлы с таким расширением необходимо зашивать, подключившись непосредственно к ПЗУ, но мне хотелось прошить плату без лишних телодвижений через jtag. Для этого из файла .sof необходимо было получить файл с расширением .jic.
Для конвертации .sof файла в .jic необходимо:
Теперь подготовленный файл можно скормить ПЛИС, а она изменит прошивку ПЗУ.
Оказалось, что сделать это можно двумя способами, первый — через JTAG интерфейс, в этом случае конфигурационная информация зашивается непосредственно ПЛИС. Недостаток этого способа в том, что память ПЛИС энергозависима и прошивку необходимо загружать в ПЛИС каждый раз после подачи питания.
Выход из сложившейся ситуации напрашивается сам собой и заключается он в том, чтобы рядом с ПЛИС разместить микросхему памяти и из нее каждый раз после подачи питания загружать прошивку. Единственное, что стоит добавить, что прошивка хранится не в обычной флэшке, а в специальной микросхеме — последовательно конфигурационном ПЗУ. У Altera — это микросхемы серии EPCS или EPCQ, программируемые по интерфейсу Active Serial. Это и есть второй способ, смысл его в том, чтобы запрограммировать микросхему последовательно конфигурационного ПЗУ, а после подачи питания ПЛИС вычитает из неё прошивку.
Но тут напрашивается другой вопрос, получается для программирования микросхемы последовательно конфигурационного ПЗУ необходим отдельный разъем?
Оказывается разработчики ПЛИС позаботились об этом и ПЛИС может выступать посредником между интерфейсами JTAG и Active Serial. То есть получает она прошивку по JTAG интерфейсу, а записывает её в ПЗУ, используя Active Serial. С теорией разобрались и можно приступать к практике.
Загрузка прошивки в ПЛИС через jtag интерфейс.
По моей просьбе продавец отправил мне на почту схему отладочной платы и несколько простых проектов. В одном из проектов был найден файл с расширением .sof, который необходим для прошивки.
Для того, чтобы прошить ПЛИС по jtag необходимо:
- запустить Quartus
- выбрать Programmer во вкладке Tools
- указать файл прошивки
- прошить ПЛИС, нажав кнопку Start, предварительно установив нужные галки
- при удачной прошивке в правом верхнем углу видим 100% Successful
Загрузка прошивки в ПЗУ с интерфейсом Active Serial через jtag.
В той же папке откуда был взят файл .sof был найден файл с расширением .pof. Файлы с таким расширением необходимо зашивать, подключившись непосредственно к ПЗУ, но мне хотелось прошить плату без лишних телодвижений через jtag. Для этого из файла .sof необходимо было получить файл с расширением .jic.
Для конвертации .sof файла в .jic необходимо:
- в меню File выбрать Convert Progamming Files
- в открывшемся меню выбрать в поле Programming file type выбрать JTAG Indirect
Configuration File (.jic) - в поле Configuration device выбираем тип ПЗУ, расположенного на плате
- в поле Mode выбираем режим прошивки
- в поле File name определяем имя и директорию выходного файла
- в поле Inputs File to Convert кликаем по SOF Data, c правой стороны появляется кнопка Add File, кликнув по которой можно выбрать файл для конвертации
- после того как файл выбран, кликаем по Flash Loader, c правой стороны появляется кнопка Add Device, кликаем по ней и выбираем наш чип
- запускаем конвертацию кнопкой Generate
Теперь подготовленный файл можно скормить ПЛИС, а она изменит прошивку ПЗУ.
Похожие статьи