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

 
 
> Выбор памяти для быстрого случайного доступа
svedach
сообщение Jul 20 2017, 05:57
Сообщение #1


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

Группа: Свой
Сообщений: 135
Регистрация: 8-01-12
Из: Беларусь
Пользователь №: 69 226



Добрый день.
Возникла задача: нужно хранить в памяти довольно большую таблицу (около 20 МБайт) и чтение из нее должно производиться по случайным адресам целым словом (32 бита)... Количество чтений в секунду не менее 5120000 (т.е. читать нужно такое количество раз в секунду по случайным адресам). Система проектируется на ПЛИС Zynq, прогнали тест на готовом модуле с DDR, получили около 4000000 чтений, при этом проц должен будет выполнять функции управления, обмена и т.д. Встал вопрос какую память выбрать вместо DDR.
Поделитесь опытом, пожалуйста...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 10)
blackfin
сообщение Jul 20 2017, 06:07
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 106
Регистрация: 18-04-05
Пользователь №: 4 261



На EDN была статья Design with QDR-IV for high-performance networking systems, в которой сравнивали разные типы памяти:
Go to the top of the page
 
+Quote Post
svedach
сообщение Jul 20 2017, 06:32
Сообщение #3


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

Группа: Свой
Сообщений: 135
Регистрация: 8-01-12
Из: Беларусь
Пользователь №: 69 226



Цитата(blackfin @ Jul 20 2017, 09:07) *
На EDN была статья Design with QDR-IV for high-performance networking systems, в которой сравнивали разные типы памяти:


Спасибо за наводку, буду изучать...
Go to the top of the page
 
+Quote Post
MegaVolt
сообщение Jul 20 2017, 08:45
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 779
Регистрация: 3-01-05
Из: Минск
Пользователь №: 1 783



Цитата(svedach @ Jul 20 2017, 08:57) *
Встал вопрос какую память выбрать вместо DDR.
Поделитесь опытом, пожалуйста...
1. Взять 2 DDR продублировать массивы и иметь счастье sm.gif
2. Взять флешку параллельную. Она без проблем потянет нужное количество запросов секунду. Так как требований к записи никаких должна подойти.
3. Взять жменьку обычных статический озушек.
Go to the top of the page
 
+Quote Post
svedach
сообщение Jul 20 2017, 10:15
Сообщение #5


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

Группа: Свой
Сообщений: 135
Регистрация: 8-01-12
Из: Беларусь
Пользователь №: 69 226



Цитата(MegaVolt @ Jul 20 2017, 11:45) *
1. Взять 2 DDR продублировать массивы и иметь счастье sm.gif
2. Взять флешку параллельную. Она без проблем потянет нужное количество запросов секунду. Так как требований к записи никаких должна подойти.
3. Взять жменьку обычных статический озушек.

Если можно, про п.2 доскажите подробнее, нашел флешки только со временем доступа около 70 нс, что многовато...
Go to the top of the page
 
+Quote Post
MegaVolt
сообщение Jul 20 2017, 10:56
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 779
Регистрация: 3-01-05
Из: Минск
Пользователь №: 1 783



Цитата(svedach @ Jul 20 2017, 13:15) *
Если можно, про п.2 доскажите подробнее, нашел флешки только со временем доступа около 70 нс, что многовато...
В смысле маловато? 1/70нс > 14 МГц. Вам нужно если я правильно посчитал нули чуть быстрее 5 МГц. Соответственно можно ставить флешку даже на 16 бит а не на 32. Или в чём вопрос?
Go to the top of the page
 
+Quote Post
kumanika
сообщение Jul 21 2017, 06:17
Сообщение #7





Группа: Новичок
Сообщений: 4
Регистрация: 16-11-15
Пользователь №: 89 339



Вот и приходим к PSRAM, она быстрее флеша, стоимость адекватная. Из минусов - ток потребления.
QDR для этих вещей избыточна, она больше для телекомуникаций итд.
Из флеша можно еще посмотреть NOR - у нее рандомное чтение быстрее чем у обычной NAND.
Go to the top of the page
 
+Quote Post
svedach
сообщение Jul 21 2017, 06:30
Сообщение #8


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

Группа: Свой
Сообщений: 135
Регистрация: 8-01-12
Из: Беларусь
Пользователь №: 69 226



Простите мне мое невежество, но насколько я разобрался из даташитов (я с флешкой раньше не работал) там чтение выполняется бурстом (т.е. сразу передается страница) и передача этого бурста займет много более 70нс? Или там все-таки можно организовать чтение только слова по случайному адресу за время не более 70нс (с учетем задела на будущее)?
Go to the top of the page
 
+Quote Post
kumanika
сообщение Jul 21 2017, 06:48
Сообщение #9





Группа: Новичок
Сообщений: 4
Регистрация: 16-11-15
Пользователь №: 89 339



В том виде как это написано в документе да, это пакетное чтение.
т.е. время от принятой команды до выставления данных, соответственно для рандома - опять адрес, команда - выставление данных.
Для NOR – Random access times as fast as 55 ns более менее типичное значение.
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение Jul 21 2017, 06:53
Сообщение #10


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

Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643



Приветствую!

Цитата(svedach @ Jul 20 2017, 08:57) *
Добрый день.
Возникла задача: нужно хранить в памяти довольно большую таблицу (около 20 МБайт) и чтение из нее должно производиться по случайным адресам целым словом (32 бита)... Количество чтений в секунду не менее 5120000 (т.е. читать нужно такое количество раз в секунду по случайным адресам). Система проектируется на ПЛИС Zynq, прогнали тест на готовом модуле с DDR, получили около 4000000 чтений, при этом проц должен будет выполнять функции управления, обмена и т.д. Встал вопрос какую память выбрать вместо DDR.
Поделитесь опытом, пожалуйста...


Вы бы уточнили - кто будет читать - проц или свой аппаратный блок ?
Если проц - то тут может дело не в памяти а в самой шине или алгоритме чтения - попробуйте для начала сравнить скорость чтения по тому же агоритму из внутреннего блока RAM что в Zynq присутствует.

Удачи! Rob.
Go to the top of the page
 
+Quote Post
svedach
сообщение Jul 21 2017, 09:46
Сообщение #11


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

Группа: Свой
Сообщений: 135
Регистрация: 8-01-12
Из: Беларусь
Пользователь №: 69 226



По поводу чтения как раз и стоит вопрос - вешать это на проц или писать свою корку... Что такое "алгоритм чтения" не совсем понял, чтение выполняется по случайным адресам из заданного диапазона (пока в ДДР это обычный большой статический массив интов...) и перекладывание прочитанного слова в BRAM в PL по адресу, который инкрементируется. Адрес чтения из большого массива берется из BRAM. Это получается что-то вроде гигантской LUT... Если Вы имеете в виду непосредственный обмен с памятью, то туда не лажу...
Go to the top of the page
 
+Quote Post

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

 


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


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