Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: SGDMA память бессовестно жрет
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
alexPec
Всем добрый день. Опять искал куда блоки памяти делись, посмотрел в раздел (на картинке). Как видно, дма из-за 28 бит расходует 1 блок памяти M9K, а он мне очень дорог sm.gif. У меня два канала дма, в сумме из-за каких-то 200-300 бит расходуется на эти дма 9 (!) блоков. Нельзя ли как-то заставить его на регистрах все эти фифо для дма на 20-30 бит делать?
vadimuzzz
я не вижу, что у вас фифо вообще память потребляет sm.gif
там какие-то shift-registers, они могут инфериться в память при соотв. настройках синтезатора (опция Auto Shift Register Replacement ). частота скорее всего просядет.
alexPec
Цитата(vadimuzzz @ Feb 19 2011, 18:21) *
я не вижу, что у вас фифо вообще память потребляет sm.gif
там какие-то shift-registers, они могут инфериться в память при соотв. настройках синтезатора (опция Auto Shift Register Replacement ). частота скорее всего просядет.

Спасибо, выключил опцию, 3 блока сэкономились, но в некоторых местах лажа осталась, на рисунке. Побороть можно? А частота там 5 МГц, всяко потянет.

UPD: Может в настройках сопца че-нибудь такое есть, например фифо или шифт-регистры ставить? В настройках компонента не нашел (хотя в визарде делал, руками может можно как-то поменять?)
alexPec
Цитата(alexPec @ Feb 19 2011, 22:39) *
В некоторых местах лажа осталась, на рисунке. Побороть можно? А частота там 5 МГц, всяко потянет.

UPD: Может в настройках сопца че-нибудь такое есть, например фифо или шифт-регистры ставить? В настройках компонента не нашел (хотя в визарде делал, руками может можно как-то поменять?)


А по-другому спрошу: если обычный DMA, а не SGDMA поставить, кто-нибудь может сказать, он тоже блоки памяти ест?
vadimuzzz
Цитата(alexPec @ Feb 20 2011, 20:43) *
А по-другому спрошу: если обычный DMA, а не SGDMA поставить, кто-нибудь может сказать, он тоже блоки памяти ест?

не должен. в любом случае, можно свой написать, который точно есть не будет. насчет sgdma завтра уточню, надо в код глянуть.

upd: поищите в файле модуля sgdma по маске "use_eab". "OFF" замените на "ON", это должно помочь. но только до пересборки в билдере, он опять затрет.
alexPec
Цитата(vadimuzzz @ Feb 20 2011, 18:24) *
не должен. в любом случае, можно свой написать, который точно есть не будет. насчет sgdma завтра уточню, надо в код глянуть.

upd: поищите в файле модуля sgdma по маске "use_eab". "OFF" замените на "ON", это должно помочь. но только до пересборки в билдере, он опять затрет.


Спасибо! Получилось, только надо было заменить ON на OFF. Все блоки из sgdma ушли, чисто на логике синтезировались!
vadimuzzz
Цитата(alexPec @ Feb 21 2011, 21:06) *
Получилось, только надо было заменить ON на OFF.

вечно я синусы с косинусами путаю!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.