8086+FPGA

16-битные ПЦ-совместимые компьютеры с процессорами 8086/8088/80286 работающие под управлением ДОС

Moderator: Shaos

Vic3Dexe
Doomed
Posts: 370
Joined: 16 Dec 2014 11:58
Location: Киев

Re: 8086+FPGA

Post by Vic3Dexe »

Да, та же самая флешка. Если на плате есть одна, нафига лепить вторую?
Приаттачивается бинарник (mif вроде) при генерации .sof - файла, там можно указать адрес (в моем примере 70000h), и при прошивке этот бинарник упадет во флешку по указанному адресу.
IgorR76
Senior
Posts: 102
Joined: 27 Jul 2015 15:20

Re: 8086+FPGA

Post by IgorR76 »

Все ясно!
А чем конвертнуть bin в mif?
И про начальный адрес пользовательской области неясно. Я не встречал в описаниях "размер конфигурационного пзу". Где глянуть?

Спасибо!
Last edited by IgorR76 on 20 May 2017 00:43, edited 1 time in total.
Vic3Dexe
Doomed
Posts: 370
Joined: 16 Dec 2014 11:58
Location: Киев

Re: 8086+FPGA

Post by Vic3Dexe »

Если в циклон, то это не проблема вообще, т.к. для любой памяти в момент создания из мегафункции можно указать файл инициализации.
Я копировал сначала "в циклон" чтобы отработать модуль обмена с флешкой, а затем просто допилил запись в RAM.
Но как бы пофик куда оно пишется, вопрос, я так понял, был в том, как прочитать.

Насчет mif соврал, hex ему надо (интеловский .hex в смысле). Я бинарник конвертил в mif своей С-прогой (там ничего сложного, формат прост как мычание), а затем квартусовским mif2hex - собсна в hex.
Зачем так сложно? А хз, уже не помню :) Ессно, это все батники делали.
Vic3Dexe
Doomed
Posts: 370
Joined: 16 Dec 2014 11:58
Location: Киев

Re: 8086+FPGA

Post by Vic3Dexe »

IgorR76 wrote:И про начальный адрес пользовательской области неясно. Я не встречал в описаниях "размер конфигурационного пзу". Где глянуть?
Не понял, какой области? Какой размер? Размер флешки тот, что вы воткнете на плату (например 4 или 16 мегабит).
Если речь про 70000h - то это я от балды выбирал, примерно в конце своей 16-мегабитной EPCS. Во флешке нет "пользовательских" областей, она вся пользовательская, т.е. вы ее можете использовать где угодно как обычную сериал-флеш.
newold86
Devil
Posts: 716
Joined: 30 Nov 2013 11:08
Location: WWW

Re: 8086+FPGA

Post by newold86 »

Vic3Dexe wrote:Если в циклон, то это не проблема вообще, т.к. для любой памяти в момент создания из мегафункции можно указать файл инициализации.
Вот моя проблема - https://electronix.ru/forum/index.php?s ... pic=141992
Vic3Dexe
Doomed
Posts: 370
Joined: 16 Dec 2014 11:58
Location: Киев

Re: 8086+FPGA

Post by Vic3Dexe »

Так в чем конкретно проблема-то? Там же расписали решение пошагово. Что не получается?
IgorR76
Senior
Posts: 102
Joined: 27 Jul 2015 15:20

Re: 8086+FPGA

Post by IgorR76 »

Vic3Dexe wrote: Если речь про 70000h - то это я от балды выбирал, примерно в конце своей 16-мегабитной EPCS. Во флешке нет "пользовательских" областей, она вся пользовательская, т.е. вы ее можете использовать где угодно как обычную сериал-флеш.
Например, в CPLD есть CFM-конфигурационная область, и UFM-пользовательская. А в случае FPGA каков размер CFM? Можно, конечно, отталкиваться от размера sof, но "от балды" не хочется :)
А в MAX10 вообще две флешки - вторая для резервного восстановления при неудачном "in-system" обновлении.
Vic3Dexe
Doomed
Posts: 370
Joined: 16 Dec 2014 11:58
Location: Киев

Re: 8086+FPGA

Post by Vic3Dexe »

IgorR76 wrote:Например, в CPLD есть CFM-конфигурационная область, и UFM-пользовательская. А в случае FPGA каков размер CFM?
А причем тут, что там внутри CPLD/FPGA? Мы читаем из EPCS в RAM. Память внутри циклона нас не интересует.
Или вопрос в том, как определить размер прошивки? Так квартус при создании sof его нарисует. И не даст наложить на прошивку что-то еще.

Т.е. у меня прошивка была в начале пространства EPCS, бинарник биоса - в конце. Можно было засунуть в середину, можно было положить сразу после прошивки (по началу ближайшей страницы EPCS). Говорю же - от балды выбрал. :)
IgorR76
Senior
Posts: 102
Joined: 27 Jul 2015 15:20

Re: 8086+FPGA

Post by IgorR76 »

Vic3Dexe wrote:Или вопрос в том, как определить размер прошивки?
Именно в этом и был вопрос.



Предположу, что newold86 поможет директива 'ramstyle'. С ее помощью задается тип создаваемой памяти.
Подробно расписано в Quartus Handbook, стр. 16-45 (1007 в pdf).
newold86
Devil
Posts: 716
Joined: 30 Nov 2013 11:08
Location: WWW

Re: 8086+FPGA

Post by newold86 »

Vic3Dexe wrote:Так в чем конкретно проблема-то? Там же расписали решение пошагово. Что не получается?
Ну не умею я скопировать, бестолковый :(
IgorR76
Senior
Posts: 102
Joined: 27 Jul 2015 15:20

Re: 8086+FPGA

Post by IgorR76 »

Vic3Dexe wrote:Так в чем конкретно проблема-то?
Предположу, что человек хочет использовать внутренний ram плисы, как пзу биоса. Но оно не инициализируется.
Есть ограничения на типы памяти при использовании. Например, ram модуль m9k-последовательного типа, поэтому не может быть асинхронным.
Vic3Dexe
Doomed
Posts: 370
Joined: 16 Dec 2014 11:58
Location: Киев

Re: 8086+FPGA

Post by Vic3Dexe »

Ну так человеку написали по ссылке, как именно решать данную проблему.
Если что - человек здесь, и может озвучить, на каком этапе у него затык.
Писать код за человека никто не будет. :)
Тем более, что ни с максом 10, ни с UFM я не работал.
newold86
Devil
Posts: 716
Joined: 30 Nov 2013 11:08
Location: WWW

Re: 8086+FPGA

Post by newold86 »

Проблема у меня везде... Просто я с подобным не сталкивался, поэтому не знаю, откуда вообще начинать... Неужели нужно с нуля создать устройство, которое байт за байтом будет пересылать содержимое UFM в RAM, или же есть какие-то готовые функции для этого ?
IgorR76
Senior
Posts: 102
Joined: 27 Jul 2015 15:20

Re: 8086+FPGA

Post by IgorR76 »

Нет, с нуля создавать не надо. Я ж привёл пример. viewtopic.php?p=135740#p135740
И в электрониксе Вам точно такой же код выложили...
newold86
Devil
Posts: 716
Joined: 30 Nov 2013 11:08
Location: WWW

Re: 8086+FPGA

Post by newold86 »

IgorR76 wrote:Нет, с нуля создавать не надо. Я ж привёл пример. viewtopic.php?p=135740#p135740
И в электрониксе Вам точно такой же код выложили...
Я не вижу здесь кода для копирования содержимого - это инициализация ROM для микросхем, которые такой режим поддерживают. У меня вся проблема в том, что используемая FPGA инициализацию не поддерживает