Altera pof файл формат
Распространенными форматами загружаемых файлов для FPGA являются sof, pof, jic и elf, которые обычно называются файлами .sof и файлами .pof как «аппаратные» или «прошивки» FPGA.
Soft - это данные внутренней конфигурации SRAM ПЛИС, которые загружаются через JTAG.После загрузки реализуется аппаратная функция ПЛИС, и она будет отключена после сбоя питания.
Pof - это флэш-данные устройства конфигурации, которые загружаются в устройство конфигурации в режиме AS. При отключении питания FPGA автоматически считывает данные конфигурации с устройства конфигурации, а затем настраивает SRAM внутри FPGA для реализации аппаратных функций FPGA. Если проект включает в себя NIOS, в POF включается только оборудование NIOS.После конфигурации при включении NIOS существует в FPGA, и NIOS будет работать в предварительно установленном пространстве памяти в соответствии с настройками. Кроме того, файл pof можно преобразовать в файл jic и загрузить в EPCS через JTAG, поэтому при проектировании оборудования можно сохранить интерфейс конфигурации AS.
Файл jic - это косвенный файл конфигурации JTAG. Используйте команду «Преобразовать файл программирования» в меню «Файл QuartusII» для преобразования файла .sof, а затем используйте команду «Программист» в меню «Инструменты» QuartusII, чтобы загрузить его во FLASH (примечание: файл jic загружается в После FLASH необходимо выключить и снова включить!)
Elf - это программное обеспечение NIOS, разработанное и скомпилированное в Nios II IDE, а исходный файл - на языке C. Его можно загрузить в ОЗУ NIOS через JTAG для запуска или загрузить в устройство конфигурации через epcs_controller (через NIOS Flash Programmer) (после данных конфигурации pof). Если вектор сброса NIOS указывает на epcs_controller, NIOS запустится из конфигурации после включения Первая инструкция выполняется в устройстве. Если вы укажете вектор сброса NIOS в SDRAM, а SDRAM пуста, NIOS убежит.
В таблице ниже предоставляет полезную информацию о расширение файла .pof. Он отвечает на вопросы такие, как:
- Что такое файл .pof?
- Какое программное обеспечение мне нужно открыть файл .pof?
- Как файл .pof быть открыты, отредактированы или напечатано?
- Как конвертировать .pof файлов в другой формат?
Оглавление
Мы надеемся, что вы найдете на этой странице полезный и ценный ресурс!
2 расширений и 0 псевдонимы, найденных в базе данных
.pofОписание (на английском языке):
POF file is a Descent Model Data. Descent is a 3D first-person shooter video game developed by Parallax Software and released by Interplay Entertainment Corp. in 1995. .pof
Описание (на английском языке):
POF file is an Altera Programmer Object File. Altera Corporation is a Silicon Valley manufacturer of PLDs, reconfigurable complex digital circuits. A binary file (with the extension .pof) containing the data for programming a MAX II, MAX V, MAX 3000 or MAX 7000 device, or a configuration device that can configure other devices.
Другие типы файлов могут также использовать расширение файла .pof.
По данным Поиск на нашем сайте эти опечатки были наиболее распространенными в прошлом году:
lof , oof , opf , pf , pfo , pif , pkf , plf , po , pob , poc , pod , pog , por , potЭто возможно, что расширение имени файла указано неправильно?
Мы нашли следующие аналогичные расширений файлов в нашей базе данных:
Windows не удается открыть этот файл:
Чтобы открыть этот файл, Windows необходимо знать, какую программу вы хотите использовать для его открытия.
Если вы не знаете как настроить сопоставления файлов .pof, проверьте FAQ.
Изменение имени файла расширение файла не является хорошей идеей. Когда вы меняете расширение файла, вы изменить способ программы на вашем компьютере чтения файла. Проблема заключается в том, что изменение расширения файла не изменяет формат файла.
Если у вас есть полезная информация о расширение файла .pof, напишите нам!
Цель проекта — популяризация проектирования для ПЛИС.
Тема ПЛИС постепенно набирает популярность — и совершенно заслуженно. Ведь теперь мы фактически получили простую возможность создать свою цифровую микросхему. Вам не потребуется нано-фаб и миллион долларов — все можно просто сделать имея компьютер и микросхему ПЛИС на плате разработчика. Вы знаете, что 90% производителей микросхем в мире не имеют собственных фабрик? Они проектируют и тестируют в ПЛИС, а производство заказывают сторонним производителям.
Когда-то и программирование микроконтроллеров считалось чуть ли не чудом. Теперь можно купить платку Ардуино и научить старшеклассника «мигать светодиодом».
Я хочу показать, что и ПЛИС — это вполне доступная технология.
Плата «Марсоход» — это самый простой и дешевый девелопер кит на микросхеме ПЛИС компании Альтера EPM240T100C5. Проект — опен соурс — схемы платы есть на нашем сайте. Кроме того, опубликованно уже более 50 проектов выполненных на базе нашей платы.
Дальше я расскажу о программаторе для ПЛИС. Считается, что учиться проектированию ПЛИС гораздо дороже, чем учиться микроконтроллерам. Отчасти это мнение связано с тем, что программаторы вендоров ПЛИС довольно дороги.
Теперь есть альтернатива. Вы сможете сделать простой программатор USB сами!
Мы разработали очень простой программатор на микросхема FTDI FT2232HL. Вот такой:
Это USB программатор с интерфейсом JTAG. Его схема так же есть на сайте, значит при желании вы сможете его сами сделать:
Программное обеспечение, которое мы сами написали к нему — это SVF Player. Кратко расскажу, как это работает.
Среда проектирования для ПЛИС Altera Quartus II позволяет в процессе компиляции вашего проекта создавать файлы для программаторов в разных форматах: POF, SOF, JAM, SVF. Среда проектирования Xilinx ISE так же позволяет создавать SVF файлы.
Файлы в формате SVF — это простой текстовый файл с описанием команд, которые нужно передать в микросхему ПЛИС через интерфейс JTAG для программирования. Файл SVF (Serial Vector Format) может выглядеть вот так:
!
FREQUENCY 10000000.00 HZ;
!
TRST ABSENT;
ENDDR IDLE;
ENDIR IRPAUSE;
STATE IDLE;
SIR 10 TDI (2CC);
RUNTEST IDLE 10003 TCK ENDSTATE IDLE;
!
!CHECKING SILICON ID
!
SIR 10 TDI (203);
RUNTEST 53 TCK;
SDR 13 TDI (0089);
SIR 10 TDI (205);
RUNTEST 53 TCK;
SDR 16 TDI (FFFF) TDO (8232) MASK (FFFF);
SDR 16 TDI (FFFF) TDO (2AA2);
SDR 16 TDI (FFFF) TDO (4A82);
SDR 16 TDI (FFFF) TDO (0C2C);
SDR 16 TDI (FFFF) TDO (0000);
!
!BULK ERASE
!
SIR 10 TDI (203);
RUNTEST 53 TCK;
SDR 13 TDI (0011);
SIR 10 TDI (2F2);
В микросхеме позади интерфейса JTAG есть так называемый TAP контроллер, который управляет процессом тестирования и программирования микросхем ПЛИС. В TAP контроллере есть два регистра: регистр команд IR и регистр данных DR.
Основные команды в SVF файле — это передача данных в регистр инструкций (команда SIR) и передача в регистр данных (команда SDR).
Например, команда SIR 10 TDI (203); говорит, что нужно передать в регистр IR десятибитное число 0x203. Еще пример: команда SDR 16 TDI (FFFF) TDO (2AA2); говорит, что нужно передать в регистр DR шестнадцатибитное число 0xFFFF, но в ответ микросхема должна обязательно прислать число 0x2aa2. Еще одна важная команда — это RUNTEST. Она позволяет выдерживать паузы заданной длительности при программирования. Обычно паузы выдерживаются в состояниях TAP контроллера IDLE, IRPAUSE или DRPAUSE.
Правильно исполняя команды из SVF файла можно «зашить» микросхему ПЛИС. Это и делает наша программа SVF плеера MBFTDI.
Интерфейс программирования и тестирования микросхем JTAG имеет всего четыре основных сигнала для передачи данных: TCK — сигнал тактирования, TMS — сигнал управления передачей, сигнал TDI — данные передаваемые в микросхему и TDO — данные читаемые из микросхемы. Для передачи данных в регистры TAP контроллера IR и DR нужно понимать, как управлять состоянием этого контроллера. Попробуем с этим разобраться.
На самом деле все довольно просто. Состояния TAP контроллера описываются вот такой машиной состояний:
TAP контроллер меняет свое состояние во время импульса сигнала TCK и в зависимости от значения сигнала TMS.
Например, видно, что для того, чтобы сбросить TAP контроллер в состояние RESET из любого другого состояния достаточно держать TMS в единице не менее 6 импульсов TCK. Если нужно перейти из состояния RESET в IDLE нужно перевести TMS в ноль и подать хотя бы один импульс TCK. Из IDLE в состояние передачи данных в регистр инструкций SHIFT_IR — это просто 4 импульса TCK при изменении TMS на 1-1-0-0.
В нашем программаторе MBFTDI мы используем микросхему FTDI FT2232HL в которой уже реализовано управление всеми этими линиями JTAG. Наша программа SVF плеера MBFTDI считывает SVF файл, интрепретирует его и посылает команды микросхеме FTDI управляя линиями JTAG. Описание JTAG команд микросхемы FTDI есть вот здесь.
Мы уже протестировали наш программатор с микросхемами Altera серии MAX II, Cyclone II, Cyclone III и некоторыми микросхемами Xilinx.
Конечно, программатор работает и в Windows и в Linux.
Конечно исходники доступны на нашем сайте в разделе загрузки или на GITHUB.
В прошлой статье описывал как установить Quartus, но это был лишь шаг к поставленной задаче. Для того чтобы убедиться, что ПЛИС и программатор работают, первую надо было прошить.
Оказалось, что сделать это можно двумя способами, первый — через JTAG интерфейс, в этом случае конфигурационная информация зашивается непосредственно ПЛИС. Недостаток этого способа в том, что память ПЛИС энергозависима и прошивку необходимо загружать в ПЛИС каждый раз после подачи питания.
Выход из сложившейся ситуации напрашивается сам собой и заключается он в том, чтобы рядом с ПЛИС разместить микросхему памяти и из нее каждый раз после подачи питания загружать прошивку. Единственное, что стоит добавить, что прошивка хранится не в обычной флэшке, а в специальной микросхеме — последовательно конфигурационном ПЗУ. У Altera — это микросхемы серии EPCS или EPCQ, программируемые по интерфейсу Active Serial. Это и есть второй способ, смысл его в том, чтобы запрограммировать микросхему последовательно конфигурационного ПЗУ, а после подачи питания ПЛИС вычитает из неё прошивку.
Но тут напрашивается другой вопрос, получается для программирования микросхемы последовательно конфигурационного ПЗУ необходим отдельный разъем?
Оказывается разработчики ПЛИС позаботились об этом и ПЛИС может выступать посредником между интерфейсами JTAG и Active Serial. То есть получает она прошивку по JTAG интерфейсу, а записывает её в ПЗУ, используя Active Serial. С теорией разобрались и можно приступать к практике.
Загрузка прошивки в ПЛИС через jtag интерфейс.
- запустить Quartus
- выбрать Programmer во вкладке Tools
- прошить ПЛИС, нажав кнопку Start, предварительно установив нужные галки
- при удачной прошивке в правом верхнем углу видим 100% Successful
Загрузка прошивки в ПЗУ с интерфейсом Active Serial через jtag.
В той же папке откуда был взят файл .sof был найден файл с расширением .pof. Файлы с таким расширением необходимо зашивать, подключившись непосредственно к ПЗУ, но мне хотелось прошить плату без лишних телодвижений через jtag. Для этого из файла .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
Теперь подготовленный файл можно скормить ПЛИС, а она изменит прошивку ПЗУ.
Читайте также: