dde29 0 Posted September 3, 2021 · Report post Всем привет, ковыряюсь с ПЛИС 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-данных, что врядли... Quote Ответить с цитированием Share this post Link to post Share on other sites
new123 0 Posted September 3, 2021 · Report post Очень давно это делал на постоянно основе. Уже плохо помню, но вроде как endian там играет решающую роль и действительно переворачивать надо. Quote Ответить с цитированием Share this post Link to post Share on other sites
dde29 0 Posted September 3, 2021 · Report post 1 minute ago, new123 said: Очень давно это делал на постоянно основе. Уже плохо помню, но вроде как endian там играет решающую роль и действительно переворачивать надо. Т.е. это формат файла такой? или именно шина? Quote Ответить с цитированием Share this post Link to post Share on other sites
new123 0 Posted September 3, 2021 · Report post 1 minute ago, dde29 said: Т.е. это формат файла такой? или именно шина? пытаюсь вспомнить, точно не шина была. Это было 4 года назад, я вроде написал свой конвертер, а потом удивилися, что можно зайти в Quartus/Conver Programming File, кнопка Options, там прям напрямую можно выбрать Endian данных Quote Ответить с цитированием Share this post Link to post Share on other sites
dde29 0 Posted September 3, 2021 · Report post 13 minutes ago, new123 said: пытаюсь вспомнить, точно не шина была. Это было 4 года назад, я вроде написал свой конвертер, а потом удивилися, что можно зайти в Quartus/Conver Programming File, кнопка Options, там прям напрямую можно выбрать Endian данных Чет не нашел я в Convert Programming File я такую галочку )) В общем понятно, спасибо. Просто как-то странно. Если ба данные в блок запихивал бы последовательно - то там тожно было понять фичу... И Если это формат RPD файла такой - то почему данные переворачивать нужно именно блоками по 4 байта... Дело в том, что я статью пишу на эту тему - и как это объяснить - дилемма ))) Quote Ответить с цитированием Share this post Link to post Share on other sites
new123 0 Posted September 3, 2021 (edited) · Report post 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". Edited September 3, 2021 by new123 Quote Ответить с цитированием Share this post Link to post Share on other sites
dde29 0 Posted September 3, 2021 · Report post 1 minute ago, new123 said: https://community.intel.com/t5/Intel-Quartus-Prime-Software/FPGA-not-configured-from-flash-EPCQ128A-with-generated-rbf-file/td-p/675650 вот нашел, из той же оперы Благодарю! Quote Ответить с цитированием Share this post Link to post Share on other sites