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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> проблема с третим циклоном, OnChipMemory - предоставляет не всю память(((
lons83
сообщение Jun 3 2013, 06:29
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 69
Регистрация: 9-11-12
Пользователь №: 74 296



Заранее извиняюсь если такая тема уже была.
Использую третий циклон.
когда установлено на OnChipMemory 40960 байт - все работает. (Картинка 1)
Когда ставлю больше выдается ошибка (Картинка 2).

Вопрос: Как мне установить память больше? когда по моим подсчетам памяти должно хватит на целый 76 килобайт.
Или я что-то не так делаю.

Заранее спасибо)))
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
novartis
сообщение Jun 3 2013, 07:22
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 375
Регистрация: 9-10-09
Из: Свердловский регион
Пользователь №: 52 845



Память OnChipMemory скорее всего у вас создается на M9K, их то и не хватает, там где квартус выдает ошибку, можно развернуть ошибку и посмотреть точнее, чего ему не нравится.
Мне в проекте для циклон 3 максимум удавалось 45КБайт задать для OnChipMemory. Если больше поставить - квартус ругается на нехватку M9K.
Go to the top of the page
 
+Quote Post
gosu-art
сообщение Jun 3 2013, 07:28
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 555
Регистрация: 14-10-09
Пользователь №: 52 939



Потому что в системе с ниосом память используют и другие его компоненты (dma, sgdma, jtaguart, epcscontroler и д.р.) sgdma так вообще не хиленько сожрать может rolleyes.gif
Go to the top of the page
 
+Quote Post
lons83
сообщение Jun 3 2013, 07:48
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 69
Регистрация: 9-11-12
Пользователь №: 74 296



Цитата(novartis @ Jun 3 2013, 11:22) *
Память OnChipMemory скорее всего у вас создается на M9K, их то и не хватает, там где квартус выдает ошибку, можно развернуть ошибку и посмотреть точнее, чего ему не нравится.
Мне в проекте для циклон 3 максимум удавалось 45КБайт задать для OnChipMemory. Если больше поставить - квартус ругается на нехватку M9K.


Когда поставил 60 Килобайт ошибка:
Код
Error (170040): Can't place all RAM cells in design
    Info (170034): Selected device has 66 memory locations of type M9K. The current design requires 71 memory locations of type M9K to successfully fit.
    Info (170033): Memory usage required for the design in the current device: 108% M9K memory block locations required


работает до 47Кбайт но при них выдает timelimited.sof или как-то так...

Цитата(gosu-art @ Jun 3 2013, 11:28) *
Потому что в системе с ниосом память используют и другие его компоненты (dma, sgdma, jtaguart, epcscontroler и д.р.) sgdma так вообще не хиленько сожрать может rolleyes.gif


а можно в SOPC (где я союираю систему ) отключить sgdma? или без sgdma никак не обойтись?
Go to the top of the page
 
+Quote Post
novartis
сообщение Jun 3 2013, 07:54
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 375
Регистрация: 9-10-09
Из: Свердловский регион
Пользователь №: 52 845



У процессора НИОС можно выбрать три его версии: младшую, среднюю и самую мощную/навороченную. Если выбираете самую младшую, то будет обычный sof, если любую из помощнее - то timelimited.sof.

sgdma - это компонент, который можно добавить в qsys, если вы сами не добавляли, то его и нет.

А вообще если будут еще вопросы, выкладывайте скриншот qsys (или SOPC, смотря что используете).
Go to the top of the page
 
+Quote Post
Копейкин
сообщение Jun 3 2013, 08:08
Сообщение #6


Частый гость
**

Группа: Участник
Сообщений: 190
Регистрация: 7-11-07
Из: С-Петербург
Пользователь №: 32 134



Вам прямо указывается, что проект требует 71 блок M9K, а есть только 66.
1) Когда создаёте JTAG UART для отладки, поставьте галочки - "использовать логику вместо памяти для FIFO"
2) Судя по timelimited, вы берёте FAST процессор Nios, уменьшите в опциях размер кеша данный и инструкций.
3) Для отладки EPCS контроллер можно и не ставить, тоже память экономит.
4) В отчётах компиляции найдите распределение onchip-памяти по модулям и посмотрите, без чего пока можно обойтись или где уменьшить аппетит.
Go to the top of the page
 
+Quote Post
lons83
сообщение Jun 3 2013, 09:10
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 69
Регистрация: 9-11-12
Пользователь №: 74 296



Цитата(novartis @ Jun 3 2013, 11:54) *
А вообще если будут еще вопросы, выкладывайте скриншот qsys (или SOPC, смотря что используете).


Да в принципе уже все ясно((((
то есть на ОнЧип храниться и Quartus ( с его схемами) и программа в Ниосе. И на все это отводиться M9K ?
и я так понимаю что вместо ОнЧип я могу использовать любую внешнюю память. например SRAM или Flash ?


Цитата(Копейкин @ Jun 3 2013, 12:08) *
1) Когда создаёте JTAG UART для отладки, поставьте галочки - "использовать логику вместо памяти для FIFO"
4) В отчётах компиляции найдите распределение onchip-памяти по модулям и посмотрите, без чего пока можно обойтись или где уменьшить аппетит.


1) Наверно глупый вопрос, но я запутался: JTAG UART - нужен только для отладки или он нужен и для того чтобы через USB-Blaster зашить программу?
2) а где найти этот отчет с распределением памяти по модулям?

Сообщение отредактировал lons83 - Jun 3 2013, 09:17
Go to the top of the page
 
+Quote Post
Копейкин
сообщение Jun 3 2013, 10:22
Сообщение #8


Частый гость
**

Группа: Участник
Сообщений: 190
Регистрация: 7-11-07
Из: С-Петербург
Пользователь №: 32 134



1) JTAG UART нужен для отладки, в релизе его можно будет убрать.
2) После полной компиляции смотри Compilation report->Fitter->Resource Section->RAM Summary.
Там фиттер даёт подробный отчёт кто, сколько и куда sm.gif
0) Для конфигурации логики не используются блоки M9K, это кирпичики, из которых строится схема.
Но эта память м.б. инициализирована сразу в процессе заливки конфигурации программатором или из флэш-памяти.
Go to the top of the page
 
+Quote Post
lons83
сообщение Jun 3 2013, 12:04
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 69
Регистрация: 9-11-12
Пользователь №: 74 296



Цитата(Копейкин @ Jun 3 2013, 14:22) *
2) После полной компиляции смотри Compilation report->Fitter->Resource Section->RAM Summary.
Там фиттер даёт подробный отчёт кто, сколько и куда sm.gif


выкладываю скрин. что-то понятно. только не ясно почему на ОнЧип не дает больше 49Кбайт (((
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
Копейкин
сообщение Jun 3 2013, 13:13
Сообщение #10


Частый гость
**

Группа: Участник
Сообщений: 190
Регистрация: 7-11-07
Из: С-Петербург
Пользователь №: 32 134



Ну, не могу так, с ходу сказать.
Вроде, по приведённой картинке, должно ещё 11 блоков M9K остаться.
Однако могут быть тонкости реализации и ресурсы этих 11-ти блоков уже задействованы.
Посмотри документацию на реализацию Dual port RAM на Циклоне3.
Go to the top of the page
 
+Quote Post
novartis
сообщение Jun 3 2013, 15:07
Сообщение #11


Местный
***

Группа: Свой
Сообщений: 375
Регистрация: 9-10-09
Из: Свердловский регион
Пользователь №: 52 845



Интересно было бы посмотреть на то, как квартус развел проект по кристаллу в Chip Planer'e.
Go to the top of the page
 
+Quote Post
alexPec
сообщение Jun 3 2013, 15:54
Сообщение #12


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Цитата(lons83 @ Jun 3 2013, 16:04) *
выкладываю скрин. что-то понятно. только не ясно почему на ОнЧип не дает больше 49Кбайт (((

Не, не бывает так. Что-то недопоказали. В секции resource utilization by entity показывается все как есть. Если после нее остается 11 блоков - значит остается 11 блоков.
Другое дело что этот проект например у вас компилируется, а когда увеличиваете на 1 кб память - уже нет, поскольку по 1 кб память добавлять квартус не может, используя на каждый добавленный килобайт 1 m9к. Скорее всего при добавлении 1 кб он добавляет до 64 кб, просто использует блоки не полностью.
Go to the top of the page
 
+Quote Post
lons83
сообщение Jun 3 2013, 17:23
Сообщение #13


Участник
*

Группа: Участник
Сообщений: 69
Регистрация: 9-11-12
Пользователь №: 74 296



выкладываю скрины двух реализаций:
1) память 49Кбайт
2) память 50Кбайт

P.S. сделан только SOPC. никаких остальных схем. Процессор самый слабый.
Последние 2 фото - resource utilization by entity - для 50Кбайт


Сообщение отредактировал lons83 - Jun 3 2013, 17:38
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение


Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение

 
Go to the top of the page
 
+Quote Post
Копейкин
сообщение Jun 4 2013, 09:19
Сообщение #14


Частый гость
**

Группа: Участник
Сообщений: 190
Регистрация: 7-11-07
Из: С-Петербург
Пользователь №: 32 134



Обрати внимание на оба отчёта фиттера.
В первом случае, для памяти программ резервируется 48 M9K блоков и всё влезает.
Во втором, случае резервируется уже 64 M9K блока и, разумеется, не хватает (в сумме более 66).
Похоже, производится округление размера ОЗУ, до какого-то разумного значения.
М.б. более опытные товарищи ответят?
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Jun 5 2013, 04:29
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



похоже блоки добавляются по 16 в параллель, то есть блок хранит бит от слова, а не все слово...
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 02:28
Рейтинг@Mail.ru


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