Перейти к содержанию
    

Быстрая память SRAM в FPGA

Здраствуйте.

 

Для задачи необходима быстрая статическая память с временем доступа <5 ns.

Приходилось работать с процессором TigerSHARC у которого стоит 24Mbit с временем доступа 1.6 ns.

Реально ли найти FPGA с памятью схожего обьема?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Не совсем (а точнее совсем Не) понятна Ваша задача. Какая память и для какого алгоритма/доступа Вам нужна?

Частоты/времянки работы внутренней памяти FPGA можно найти в доках.

Типичные величины ~400-500 MHz. Но при этом реальная latency доступа 2-3 такта.

 

Успехов! Rob.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Задача сделать регистратор сигналов определенной формы.

Есть ацп который выдает данные. Необходимо складывать их в память для последующей обработки и отсылки в компьютер.

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

На данный момент архитектура прибора такова:

Стоит АЦП который выдает данные в FPGA. FPGA складывает точки в память. Когда собрано определенное количество FPGA дает команду процу который читает память/обрабатывает и высылает в компьбтер.

Время записи в память не должно превышать 5ns. АЦП 16 битный.

 

>>вам эта память одним здоровым блоком нужна? или как?

 

не обязательно. Главное чтоб был блок 2Mbit цельный.

 

>>Типичные величины ~400-500 MHz. Но при этом реальная latency доступа 2-3 такта.

 

Значит лучшее время доступа это 4ns?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Что Вы имеете ввиду под временем доступа? время цикла чтения со стороны внешнего проца?

Если если так то для случайного доступа по асинхронной шине будет еще больше.

Лучше конечно вычитывать данные в проц в синхронном режиме шины.

Естественно если это возможно и позволяет алгоритм обработки.

 

Вообще правильнее для начала оценивать не требуемое время записи а требуемую полосу доступа к памяти (MB/s).

При этом учитывая как особенности работы выбранной памяти (смена режима R/W, регенерация, смена банков, и.т.д ) так и особенности алгоритма доступа к памяти.

 

Организовать буферирование данных на FPGA (или на CPLD) и внешней памяти для таких данных не проблема (при условии если усредненная полоса внешней памяти с запасом больше требуемой).

Для простейшего случая например достаточно будет внешней SRAM в 512Kx32 бита с частотой >100 MHz.

 

Успехов! Rob.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

>>Что Вы имеете ввиду под временем доступа? время цикла чтения со стороны внешнего проца?

 

Имеется ввиду время доступа для записи в память.

Память будет использоваться как буффер. С одной стороны FPGA пишет в память за время <5ns. С другой стороны процессор читает данные.

Пока не могу определиться с велечинами скоростей. Работаю над этим.

Пока вызывает вопрос следующее. Возможено ли обеспечить доступ к памяти как FPGA (для записи) так и процессора (для чтения)?

Поравильно ли я понимаю что для таких целей необходимо использовать память Dual Port RAm?

До этого с FPGA дела не имел. Только начинаю изучать.

 

Изменено пользователем Sh@dow

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

С другой стороны процессор читает данные.

если вы хотите именно внешний процессор подключить к той же памяти внутри FPGA и с доступом.менее 5 нс - то сразу забудьте.

не с того конца подходите, "в лоб" такие задачи как правило не решаются.

 

Делали мы года 3 назад для одного очень требовательного и богатого заказчика realtime-систему, так там было нечто следующее:

 

на платах с АЦП (12b x 250MHz) и ПЛИС формировались выборки необходимого размера, складировались в DDR3, там же на них проставлялись временные метки.

затем по статистике занятости процессоров определялся наименее занятый и ему по SRIO (4x3,125G) перекачивался обрабатываемый кусок.

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

krux уже начал понимать что dual port sram на 5ns не найти.

Думаю надо использовать конвеерную архитектуру.

FPGA подключает АЦП к одному из блоку SRAM (внутренний). Кладется точка в SRAM и начинается запись в банк RAM.

Затем FPGA подключает АЦП к другому блоку SRAM. Тоже кладется точка и отдается команда на запись в RAM.

Так можно использовать память с большим временем записи.

Вот такая схема:

 

realtime_osc.JPG

 

Интересно было бы за счет такой конвееризации отказаться от внешней статической памяти и использовать DRAM.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...