Перейти к содержанию
    

Шина Avalon-MM в Altera On-Chip Flash IP Core

Всем привет, ковыряюсь с ПЛИС Max10 от Интела. Копаю корку Altera On-Chip Flash, которая позволяет в менять файл конфигурации находу, не используя JTAG. Грубо говоря самостоятельно себя перешивать.

Структурная схема доступа к корке - на картинке. Если читать или записывать 32-х битное слово на шине writedata[31:0]  блока Data и сравнивать данные с RPD-файлом, то оказывается что если брать данные по 4 байта из RPD-файла и записывать их на writedata[31:0] блока Data, то это 32-х битное слово нужно переворачивать - младший бит нужно записывать самым старшим в writedata и т д... Причем если читать и записывать writedata[31:0] блока Control - то там все впорядке.

И вот вопрос:

- это особенности шины данных Avalon или это такой хитрый формат RPD-данных, что врядли...

On-Chip IP.jpg

RPD-файл.JPG

Шина writedata на SignalTap.JPG

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Очень давно это делал на постоянно основе. Уже плохо помню, но вроде как endian там играет решающую роль и действительно переворачивать надо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 minute ago, new123 said:

Очень давно это делал на постоянно основе. Уже плохо помню, но вроде как endian там играет решающую роль и действительно переворачивать надо.

Т.е. это формат файла такой? или именно шина?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 minute ago, dde29 said:

Т.е. это формат файла такой? или именно шина?

пытаюсь вспомнить, точно не шина была.

Это было 4 года назад, я вроде написал свой конвертер, а потом удивилися, что можно зайти в Quartus/Conver Programming File, кнопка Options, там прям напрямую можно выбрать Endian данных

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

13 minutes ago, new123 said:

пытаюсь вспомнить, точно не шина была.

Это было 4 года назад, я вроде написал свой конвертер, а потом удивилися, что можно зайти в Quartus/Conver Programming File, кнопка Options, там прям напрямую можно выбрать Endian данных

Чет не нашел я в Convert Programming File я такую галочку ))

В общем понятно, спасибо. Просто как-то странно. Если ба данные в блок запихивал бы последовательно - то там тожно было понять фичу... И Если это формат RPD файла такой - то почему данные переворачивать нужно именно блоками по 4 байта...

Дело в том, что я статью пишу на эту тему - и как это объяснить - дилемма )))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

https://community.intel.com/t5/Intel-Quartus-Prime-Software/FPGA-not-configured-from-flash-EPCQ128A-with-generated-rbf-file/td-p/675650
вот нашел, из той же оперы
 

Quote

RBF file is meant for Passive Serial configuration scheme. I believe you should use RPD file instead.

https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/ug/ug-qps-programmer.pdf (Page 4)

 

For RPD file, during the generation of it, you may need to set the order format to "Big Endian". To do so, select "Convert Programming File" on Quartus, then select "Options/Boot info.." and then select "Big Endian".

 

Изменено пользователем new123

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 minute ago, new123 said:

Благодарю!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...