Сериалфлэшлоадер.

M2 and SFL

В некоторых случаях нужно, чтобы проект в FPGA стартовал сразу после включения устройства. Это можно реализовать при помощи специального конфигурационного ПЗУ. Хотя конфигурационное ПЗУ на плате Марсоход2 не предусмотрено, оно разведено, и может быть установлено на шилдах.

Сейчас существует два шилда, на которых может быть установлена флэш память для загрузки: шилд разъемов и шилд Ethernet.

Для того, чтобы в это ПЗУ зашить нужный вам проект, существует два способа...

Способы прошивки послежовательной флэш памяти для старта FPGA Altera
Первый способ - непосредственно программатором (на картинке вверху).
Для этого на плате должен быть разведен специальный разъем для подключения программатора, а сам программатор должен поддерживать  режим "Active Serial".

Второй способ - через "JTAG" и проект в самой  FPGA, в который должна быть встроена специальная мегафункция - "altserial_flash_loader"  (на картинке внизу).

Использование этой мегафункции "altserial_flash_loader" описано в AN370.PDF: 

Далее мой очень краткий и вольный перевод.
Итак, в проект, через который будет происходить программирование, должна быть встроена мегафункция "altserial_flash_loader".

Если у вас топлевел проекта Quartus II в графике, то нужно установить в любом месте компонент "ALTSERIAL_FLASH_LOADER"

sfl in sch

Никакие сигналы никуда подключать не надо.

Если у вас топлевел на верилоге, то в него нужно вставить фрагмент кода:


 module cyclone3 (KEY0,KEY1,LED);
input KEY0,KEY1;
output [3:2]LED;
assign LED[3] = KEY1;
assign LED[2] = KEY0;

    altserial_flash_loader altserial_flash_loader_component (
                .noe (),
                .asmi_access_granted (),
                .asmi_access_request (),
                .data0out (),
                .data_in (),
                .data_oe (),
                .data_out (),
                .dclkin (),
                .scein (),
                .sdoin ()
                );

endmodule


Далее проект нужно откомпилировать и загрузить в FPGA .
Проект, который нужно зашить в ПЗУ, сначала нужно конвертировать. Для этого заходим в меню Altera Quartus II File => Convert Programming Files..

ConvProgFile

и делаем следующие установки:

  • Programming file type : JTAG Indirect Configuration File(.jic)
  • Configurration device: EPCS4    (ну, или какая там у вас)
  • Mode : Active Serial
  • File name: C3_sfl.jic                (это, собственно, имя выходного файла)

После этого в окне "File/Data area" должны появиться две строки - "Flash Loader" и "SOF Data".
Для начала жмем на строку "SOF Data" , кнопку "Add File" и находим тот ".sof" файл, который нам нужно конвертировать.
Затем жмем на строку "Flash Loader" , кнопку "Add Device"  и ставим галочку на EP3C10.

SelectDev

После того, как все установки сделаны, жмем  кнопку "Generate".
Теперь  запускаем  программатор, через "Add File" открываем наш ".jic" файл и нажимаем "Start".

Programmer

Если все прошло успешно, то после выключения/включения питания нашего девайса, должен сразу заработать зашитый нами проект.

 

Добавить комментарий