реклама на сайте
подробности

 
 
> Перенос проекта с DDR3 в BRAM на microblaze
vv_
сообщение Jul 31 2014, 07:21
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 24-06-14
Пользователь №: 82 043



Добрый день!
У меня в проекте есть xilinx ml605, microblaze, к нему elf ф-л и ddr, в котором хранится программа, куча и стек. Сейчас появилась задача уйти от DDR, вырезать его из MBZ и перенести elf, кучу и стек в BRAM. Программа в elf занимает 255 Кб. BRAM в MBZ доступно 128 кб. Оптимизируя и урезая программу сильно много места я не выиграю. Получается нужно увеличивать BRAM. Подскажите пожалуйста, возможно ли сделать BRAM = 512 Кб или около того? Если нет, то возможно есть какие то типовые решения данной проблемы? Если я чего то не правильно понимаю, пните в нужную сторонуsm.gif Спасибо всем!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
akorud
сообщение Jul 31 2014, 07:54
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 203
Регистрация: 12-11-10
Из: Poland
Пользователь №: 60 842



Цитата(vv_ @ Jul 31 2014, 09:21) *
Добрый день!
У меня в проекте есть xilinx ml605, microblaze, к нему elf ф-л и ddr, в котором хранится программа, куча и стек. Сейчас появилась задача уйти от DDR, вырезать его из MBZ и перенести elf, кучу и стек в BRAM. Программа в elf занимает 255 Кб. BRAM в MBZ доступно 128 кб. Оптимизируя и урезая программу сильно много места я не выиграю. Получается нужно увеличивать BRAM. Подскажите пожалуйста, возможно ли сделать BRAM = 512 Кб или около того? Если нет, то возможно есть какие то типовые решения данной проблемы? Если я чего то не правильно понимаю, пните в нужную сторонуsm.gif Спасибо всем!

ml605 -> XC6VLX240T -> 14976 Kb BRAM -> 1872KB. Возможно.
Надо в xps сконфигурировать компонент BRAM внешний, на шине (вот только не помню нет ли в нем ограничений).
Go to the top of the page
 
+Quote Post
aabmail
сообщение Jul 31 2014, 08:15
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 210
Регистрация: 4-06-08
Из: Москва
Пользователь №: 38 056



Цитата(akorud @ Jul 31 2014, 11:54) *
ml605 -> XC6VLX240T -> 14976 Kb BRAM -> 1872KB. Возможно.
Надо в xps сконфигурировать компонент BRAM внешний, на шине (вот только не помню нет ли в нем ограничений).

К сожалению, ограничения есть. Не всю BRAM можно отвести под исполняемый код, а именно:
1. На шине памяти local memory bus (ILMB и DLMB) в XC6VLX240T можно адресовать не более 128 кБайт.
2. На шине AXI можно создавать BRAM-контроллеры в любом количестве.

Сегмент .text, .init, .fini можно располагать только в памяти на шине LMB.
Остальные сегменты можно располагать и в LMB, и в AXI.

Для Spartan-6 есть один замороченный метод, позволяющий увеличить размер LMB в два раза. Подозреваю, что и в Virtex можно сделать то же самое.
Если кому потребуется - изложу.
Go to the top of the page
 
+Quote Post
akorud
сообщение Jul 31 2014, 08:42
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 203
Регистрация: 12-11-10
Из: Poland
Пользователь №: 60 842



Цитата(aabmail @ Jul 31 2014, 10:15) *
Сегмент .text, .init, .fini можно располагать только в памяти на шине LMB.

Думаю тут имеется ввиду код исполняемый непосредственно после старта, т.к. .text в DDR на AXI разместить можно.
Как вариант - в BRAM на LMB bootloader который грузит из внешнего флеша в BRAM на AXI и передает туда управление.
Bootloader у автора судя по всему есть, т.к. что-то в DDR программу ему грузит, только поменять DDR на BRAM.
Go to the top of the page
 
+Quote Post
aabmail
сообщение Jul 31 2014, 12:15
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 210
Регистрация: 4-06-08
Из: Москва
Пользователь №: 38 056



Цитата(akorud @ Jul 31 2014, 12:42) *
Думаю тут имеется ввиду код исполняемый непосредственно после старта, т.к. .text в DDR на AXI разместить можно.
Как вариант - в BRAM на LMB bootloader который грузит из внешнего флеша в BRAM на AXI и передает туда управление.
Bootloader у автора судя по всему есть, т.к. что-то в DDR программу ему грузит, только поменять DDR на BRAM.


Автору необходимо уйти от использования DDR, следовательно, и bootloader как таковой не нужен. Т.е. имеющийся основной исполняемый файл грузится при включении платы. Его как-то нужно как-то разместить по BRAMs.

Цитата
нужно чтобы он грузился в BRAM. Можете одробнее описать алгоритм расширения BRAM? И у блока BRAM есть 2 выхода. Как этот блок прицепить на AXI правильно?

Предлагаю начать с добавления BRAM на AXI. BRAM-контроллер - это модуль, который позволяет присоединить BRAM-блоки к AXI. Для этого необходимо в EDK на вкладке IP-catalog дважды щелкнуть по AXI BRAM Controller. Далее устанавливаете его размер = 128 кБ на вкладке adresses. BRAM-блоки при этом присоединяться автоматически.
Ок?


Цитата
Как раскидать сегменты типа .text, .init итп, по шинам?

Для начала хорошо посмотреть размеры секций Вашего ELF. Для это в SDK нужно дважды щелкнуть по .ELF-файлу.
Go to the top of the page
 
+Quote Post
akorud
сообщение Jul 31 2014, 13:37
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 203
Регистрация: 12-11-10
Из: Poland
Пользователь №: 60 842



Цитата(aabmail @ Jul 31 2014, 14:15) *
Автору необходимо уйти от использования DDR, следовательно, и bootloader как таковой не нужен. Т.е. имеющийся основной исполняемый файл грузится при включении платы. Его как-то нужно как-то разместить по BRAMs.

Цитата
Необходимо, чтобы при включении платы, автоматически загружался MBZ и с CompactFlash

Таки нужен бутлоадер, и то не маленький - с CF грузить. А куда грузить - в DDR или BRAM на AXI на фоне обслуживания CF не имеет значения.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- vv_   Перенос проекта с DDR3 в BRAM на microblaze   Jul 31 2014, 07:21
|- - vv_   Цитата(aabmail @ Jul 31 2014, 12:15) К со...   Jul 31 2014, 11:22
||- - akorud   Ну, так пишет :-) Цитата(vv_ @ Jul 31 2014, 1...   Jul 31 2014, 13:56
||- - aabmail   Цитата(akorud @ Jul 31 2014, 17:56) Ну, т...   Jul 31 2014, 14:37
|- - vv_   Цитата(aabmail @ Jul 31 2014, 12:15) Сегм...   Aug 1 2014, 07:43
|- - akorud   Цитата(vv_ @ Aug 1 2014, 09:43) Какой тог...   Aug 1 2014, 08:13
- - Golikov A.   Это уже 2 подход на моей памяти за этот год, где-т...   Jul 31 2014, 13:33
|- - aabmail   Цитата(Golikov A. @ Jul 31 2014, 17:33) Э...   Jul 31 2014, 13:45
- - Golikov A.   ЦитатаМожно в Spartan-6 расширить 64к в два раза. ...   Jul 31 2014, 15:21
|- - aabmail   Цитата(Golikov A. @ Jul 31 2014, 19:21) И...   Jul 31 2014, 15:46
- - Golikov A.   и можно кеш выключить и его брамы тоже туда отправ...   Jul 31 2014, 18:06
|- - aabmail   Цитата(Golikov A. @ Jul 31 2014, 22:06) и...   Jul 31 2014, 18:26
- - Golikov A.   ЦитатаОн и не мог бы быть включен при отсутствии D...   Aug 1 2014, 05:37
|- - aabmail   Цитата(Golikov A. @ Aug 1 2014, 09:37) с ...   Aug 1 2014, 09:01
|- - akorud   Цитата(aabmail @ Aug 1 2014, 11:01) Ок. Д...   Aug 1 2014, 09:41
- - Golikov A.   все же БРАМ через АКСи сильно быстрее ДДР (как мне...   Aug 1 2014, 13:32
- - vv_   Спасибо за советы! Все работает) Единственное,...   Aug 8 2014, 04:10
|- - aabmail   Цитата(vv_ @ Aug 8 2014, 08:10) Спасибо з...   Aug 8 2014, 09:49
- - Golikov A.   судя по тому что хотят секцию текст затолкать в 12...   Aug 8 2014, 12:42
|- - vv_   Цитата(Golikov A. @ Aug 8 2014, 16:42) су...   Aug 12 2014, 11:23
- - Golikov A.   по идее нет, ведь в нем же адресация и частенько о...   Aug 12 2014, 12:15


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th July 2025 - 01:56
Рейтинг@Mail.ru


Страница сгенерированна за 0.01532 секунд с 7
ELECTRONIX ©2004-2016