Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: SDRAM через Avalon
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
RHnd
Делаю модуль. Модуль должен читать данные из сдрам (стандартный контроллер сопс) и их обрабатывать. Данные читаются не подряд, а выбираются по определенному алгоритму из всего кадра. Делаю так: взвожу m_read в единицу, меняю m_address, жду спадания m_waitrequest и читаю данные. Так вот, как показал сигналтаб, после каждого изменения адреса m_waitrequest взводится тактов на 20. sad.gif Как можно убыстрить этот процесс? Память 16-ти битная, шина авалона - 32 бита.
des00
Цитата(RHnd @ Apr 8 2008, 04:22) *
Делаю модуль. Модуль должен читать данные из сдрам (стандартный контроллер сопс) и их обрабатывать. Данные читаются не подряд, а выбираются по определенному алгоритму из всего кадра. Делаю так: взвожу m_read в единицу, меняю m_address, жду спадания m_waitrequest и читаю данные. Так вот, как показал сигналтаб, после каждого изменения адреса m_waitrequest взводится тактов на 20. sad.gif Как можно убыстрить этот процесс? Память 16-ти битная, шина авалона - 32 бита.


кхм, не вижу ничего удивительного. Если контроллер простой, адрес летит как попало, да еще и чтение одиночное, тактовая высокая, то :

открыть банк 3-4 такта, прочитать 1 слово, вставить выравнивающие нопы, выждать латентность 3 такта, закрыть банк 3-4такта. ну + еше латентность обработки контроллера и тактов 12-14 наберется в лет %))

Почитайте принципы работы сдрам памяти, многие вопросы отпадут сами собой.
RHnd
Блин, чего же делать. sad.gif Т.е. по ТЗ и так сойдет, но для души хочется большего smile.gif На сколько реально запустить всю систему на 50MHz, а сдрам и контроллер сдрам - на 100MHz? Какие могут возникнуть проблемы? Для 50MHz в настройках pll стоит сдвиг тактовки на 3ns. А для 100 эта величина изменится?
des00
Цитата(RHnd @ Apr 8 2008, 07:08) *
Блин, чего же делать. sad.gif Т.е. по ТЗ и так сойдет, но для души хочется большего smile.gif На сколько реально запустить всю систему на 50MHz, а сдрам и контроллер сдрам - на 100MHz? Какие могут возникнуть проблемы? Для 50MHz в настройках pll стоит сдвиг тактовки на 3ns. А для 100 эта величина изменится?


дак у вас сдрам работает на 50МГц ? тогда что то тут не так.
мои оценки были на 133МГц, там времянка доступа будет приблизительно
3(act) + 3(read + nop + nop) + 3(pre) + CL = 3,

а времянка доступа на 50МГц это где то
1(act)+2(read+nop)+1(pre) + CL = 1.
итого на чтение слова 5 тактов. куда у вас уходят еще 15 мне не понятно.

Память сконфигурирована на работу с burst_length == 1 ?
С памяти читает только 1 абонент ? с рефрешем нигде не напортачили ?

Сдвиг тактовой нужен для выполнения требований по tsu/th, я запускал память на 133МГц вообще без PLL.

А при высокой тактовой - использовать другой контроллер, задействовать бурст режимы и перекрывающиеся транзакции ( но в Avalon SF поддержки их вроде нет), правильно уложить данные.


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