Jump to content

    

Recommended Posts

15 hours ago, StewartLittle said:

Возможно.

IP Catalog - Basic Functions - On Chip Memory - {ALT_UFM_NONE / UFM for I2C / UFM for Parallel / UFM for SPI}

Похоже, что всё таки нет (((
Документ Replacing Serial EEPROMs with User Flash Memory in Altera MAX Series говорит, что ALTUFM_NONE в MAX-10 "Not supported".

Share this post


Link to post
Share on other sites
On 12/25/2020 at 7:46 PM, umarsohod said:

Вам для какой цели это нужно?

Если просто все подряд прочитать, можно так - https://github.com/marsohod4you/M02mini/blob/master/forth_j1/ufmr.v

 

Большое спасибо!
Похоже, что модуль altera_onchip_flash_block максимально близок к железу и в нем отсутствуют любые связи с шиной Avalon.

Может быть вы могли бы еще кое-что рассказать? У данного модуля есть параметр .INIT_FILENAME . Однако, при записи туда заведомо некорректного пути сборка проекта всё равно происходит без ошибок.
А при записи корректного - в *.pof, генерирующийся автоматически, не заносятся данные из указанного *.mif . Это видно при побитном сравнении с *.pof, который был сгенерирован при помощи Convert Programming Files из *.sof и *.mif .

Зачем нужен параметр .INIT_FILENAME и как автоматически в ходе компиляции генерировать *.pof с внедренным в него *.mif ?
 

Share this post


Link to post
Share on other sites
On 1/12/2021 at 2:06 PM, umarsohod said:

Я думаю, вы что-то неправильно пробуете.

Почитайте внимательно ворнинги компилятора.

Большое спасибо, ваш пример заработал. Тем, кто столкнется с похожей проблемой и зайдет через годы в эту тему я бы рекомендовал обратить внимание на версию Квартуса - Pro/Standard/Lite. А затем поставить Lite со всеми настройками по умолчанию.

 

Могли бы вы меня проконсультировать по самому UFM и модулю altera_onchip_flash_block ? Или указать, где прочитать об этом?

 

1) После начала тактирования drclk и стробирования по drshft выход из модуля drout висит в единице. Но после двух тактов по arclk (на каждые 64 такта drclk) при высоком arshft выход drout выдает некий, весьма длинный код (9 слов по 16 бит).

 

Что это за код? Почему arclk = 64 х drclk ?

 

2) Первую четверть от всего времени передачи пакета данных arshft висит в единице - drout после выдачи кода молчит (в нуле). Вторую четверть arshft висит в нуле - drout снова молчит (в нуле). Затем в начале третей четверти появляются записанные в UFM данные (arshft продолжает висеть в нуле), которые передаются до конца пакета.

 

Что arshft столько времени делает в единице?

3) На вход ardin подается фиксированное значение {{22{1'b1}},1'b0}. Причем вместо 1'b0 можно поставить некое внешние соединение. Если же вместо других 22 бит попробовать подставить что-либо - компиляция не пройдет. Предположу, что ardin - это вход сдвигового регистра адреса. Предположу, что регистр позволяет сдвигать данные пока arshft в единице и автоинкрементирует себя, если arshft в нуле.

 

Почему нельзя за десять тактов arclk поместить в регистр адреса значение "512" и начать чтение сразу? Возможен ли произвольный переход по адресам внутри UFM или же допустимо только последовательное чтение?

Edited by flammmable

Share this post


Link to post
Share on other sites

Поведение "altera_onchip_flash_block" очень похоже на поведение "ALT_UFM_NONE"  для MaxII, почитайте на него документацию.

Но я разбирался только с тем , что мне было нужно. Младший бит  "ardin" действительно похож на вход сдвигового регистра адреса, 

но какой длинны этот регистр неизвестно . Я задвигаю 512 нулей "впрок".И  данные действительно начинаются не сначала.

К модулю есть параметр "ADDR_RANGE1_OFFSET(512)", но его изменить у меня не получилось. 

Edited by umarsohod

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.