Sh@dow 0 24 апреля, 2015 Опубликовано 24 апреля, 2015 · Жалоба Здраствуйте. Для задачи необходима быстрая статическая память с временем доступа <5 ns. Приходилось работать с процессором TigerSHARC у которого стоит 24Mbit с временем доступа 1.6 ns. Реально ли найти FPGA с памятью схожего обьема? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
krux 8 24 апреля, 2015 Опубликовано 24 апреля, 2015 · Жалоба вам эта память одним здоровым блоком нужна? или как? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 27 24 апреля, 2015 Опубликовано 24 апреля, 2015 · Жалоба Приветствую! Не совсем (а точнее совсем Не) понятна Ваша задача. Какая память и для какого алгоритма/доступа Вам нужна? Частоты/времянки работы внутренней памяти FPGA можно найти в доках. Типичные величины ~400-500 MHz. Но при этом реальная latency доступа 2-3 такта. Успехов! Rob. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Sh@dow 0 24 апреля, 2015 Опубликовано 24 апреля, 2015 · Жалоба Задача сделать регистратор сигналов определенной формы. Есть ацп который выдает данные. Необходимо складывать их в память для последующей обработки и отсылки в компьютер. Эта задача решена с помощью TigerSHARC но не вышло обеспечить нужной скорости из за ограничения внешней шины. На данный момент архитектура прибора такова: Стоит АЦП который выдает данные в FPGA. FPGA складывает точки в память. Когда собрано определенное количество FPGA дает команду процу который читает память/обрабатывает и высылает в компьбтер. Время записи в память не должно превышать 5ns. АЦП 16 битный. >>вам эта память одним здоровым блоком нужна? или как? не обязательно. Главное чтоб был блок 2Mbit цельный. >>Типичные величины ~400-500 MHz. Но при этом реальная latency доступа 2-3 такта. Значит лучшее время доступа это 4ns? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 27 24 апреля, 2015 Опубликовано 24 апреля, 2015 · Жалоба Приветствую! Что Вы имеете ввиду под временем доступа? время цикла чтения со стороны внешнего проца? Если если так то для случайного доступа по асинхронной шине будет еще больше. Лучше конечно вычитывать данные в проц в синхронном режиме шины. Естественно если это возможно и позволяет алгоритм обработки. Вообще правильнее для начала оценивать не требуемое время записи а требуемую полосу доступа к памяти (MB/s). При этом учитывая как особенности работы выбранной памяти (смена режима R/W, регенерация, смена банков, и.т.д ) так и особенности алгоритма доступа к памяти. Организовать буферирование данных на FPGA (или на CPLD) и внешней памяти для таких данных не проблема (при условии если усредненная полоса внешней памяти с запасом больше требуемой). Для простейшего случая например достаточно будет внешней SRAM в 512Kx32 бита с частотой >100 MHz. Успехов! Rob. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Sh@dow 0 27 апреля, 2015 Опубликовано 27 апреля, 2015 (изменено) · Жалоба >>Что Вы имеете ввиду под временем доступа? время цикла чтения со стороны внешнего проца? Имеется ввиду время доступа для записи в память. Память будет использоваться как буффер. С одной стороны FPGA пишет в память за время <5ns. С другой стороны процессор читает данные. Пока не могу определиться с велечинами скоростей. Работаю над этим. Пока вызывает вопрос следующее. Возможено ли обеспечить доступ к памяти как FPGA (для записи) так и процессора (для чтения)? Поравильно ли я понимаю что для таких целей необходимо использовать память Dual Port RAm? До этого с FPGA дела не имел. Только начинаю изучать. Изменено 27 апреля, 2015 пользователем Sh@dow Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
krux 8 27 апреля, 2015 Опубликовано 27 апреля, 2015 · Жалоба С другой стороны процессор читает данные. если вы хотите именно внешний процессор подключить к той же памяти внутри FPGA и с доступом.менее 5 нс - то сразу забудьте. не с того конца подходите, "в лоб" такие задачи как правило не решаются. Делали мы года 3 назад для одного очень требовательного и богатого заказчика realtime-систему, так там было нечто следующее: на платах с АЦП (12b x 250MHz) и ПЛИС формировались выборки необходимого размера, складировались в DDR3, там же на них проставлялись временные метки. затем по статистике занятости процессоров определялся наименее занятый и ему по SRIO (4x3,125G) перекачивался обрабатываемый кусок. По готовности обработанных данных они отправлялись через Ethernet на управляющий сервер, где затем последовательность восстанавливалась по временным меткам. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Sh@dow 0 28 апреля, 2015 Опубликовано 28 апреля, 2015 · Жалоба krux уже начал понимать что dual port sram на 5ns не найти. Думаю надо использовать конвеерную архитектуру. FPGA подключает АЦП к одному из блоку SRAM (внутренний). Кладется точка в SRAM и начинается запись в банк RAM. Затем FPGA подключает АЦП к другому блоку SRAM. Тоже кладется точка и отдается команда на запись в RAM. Так можно использовать память с большим временем записи. Вот такая схема: Интересно было бы за счет такой конвееризации отказаться от внешней статической памяти и использовать DRAM. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться