Jump to content

    
Sign in to follow this  
dde29

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

Recommended Posts

Всем привет, ковыряюсь с ПЛИС 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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
1 minute ago, new123 said:

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

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

Share this post


Link to post
Share on other sites
1 minute ago, dde29 said:

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

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

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

Share this post


Link to post
Share on other sites
13 minutes ago, new123 said:

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

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

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

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

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

Share this post


Link to post
Share on other sites

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 by new123

Share this post


Link to post
Share on other sites
1 minute ago, new123 said:

Благодарю!

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this