Что такое файлы .rbf и как их сгенерировать из выходного файла Quartus .sof в Windows?
Как сгенерировать файлы .rbf в Altera Quartus?
Ответы (3)
В графическом интерфейсе пользователя Quartus II выберите File => Convert Programming Files, где .rbf можно выбрать как выходной файл, а .sof можно указать как входной файл.
Настройку преобразования можно сохранить из графического интерфейса для использования в командной строке, например
> quartus_cpf -c convert_sof_to_rbf.cof
RBF - это «необработанный двоичный файл». Он представляет собой необработанные данные, которые, например, будут загружены во флэш-память для инициализации FPGA при включении питания.
SOF - это «объектный файл SRAM». Он содержит данные, необходимые для непосредственной инициализации FPGA.
Хотя вы можете вывести RBF из Quartus (File -> Convert Programming Files...
), из вашего вопроса я подозреваю, что вы ищете способ напрямую преобразовать SOF в RBF. Это можно сделать с помощью «Командной оболочки NIOS II» Altera, которую можно запустить из папки Quartus в меню «Пуск».
Обратите внимание: хотя для этого вам потребуется установленный Quartus, вам не нужно платить за подписку, потому что командная оболочка NIOS II работает, даже если Quartus не имеет действующей лицензии.
Это двухэтапный процесс ...
Шаг первый
cd
в каталог, содержащий ваш SOF, затем введите:
sof2flash --offset=0 --input="./your_file.sof" --output="./your_file.flash"
Это преобразует файл SOF в файл FLASH, который представляет собой ASCII-представление желаемого RBF.
Шаг второй
Теперь введите это:
nios2-elf-objcopy -I srec -O binary "./your_file.flash" "./your_file.rbf"
Теперь у вас будет ваш файл RBF, если это необходимо.
Другой альтернативный бесплатный графический интерфейс:
Для использования в командной строке в Windows необходимо сначала запустить встроенную командную оболочку Altera (кстати, та же идея в системе Linux). На моих компьютерах нужно запустить следующие файлы:
# on Windows
C:\intelFPGA\17.1\embedded\Embedded_Command_Shell.bat
# on Linux
/opt/altera/17.1/embedded/Embedded_Command_Shell.sh
Затем вы можете использовать программы командной строки Quartus.
Чтобы напрямую преобразовать soft в rbf:
quartus_cpf -c my_input_file.sof my_output_file.rbf
Вы также можете добавить параметры для сжатия битового потока, например:
quartus_cpf -c -o bitstream_compression=on my_input_file.sof my_output_file.rbf