Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: FIFO на DDR2
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Major
Есть платка на базе XC6SLX150-2FGG (https://www.opalkelly.com/products/xem6310/)
Память MT47H64M16HR-3:G.
Хочется принимать данные и отдавать через USB3 в ПК. Входной постоянный входной поток 32 бита и частота 1 до 80МГц.
Выходной в контроллер USB3 на частоте 100МГц.
Перед передачей данные буферизуются через FIFO, чтобы иметь свободу маневра на ПК (16Мбайт даст ~50мс буфера).

Входные данные записываются непрерывно. Выходные по мере готовности USB. Данные на входе поступают блоками (пока в ФИФО нет места на блок, они не записываются), на выходе тоже забираются блоками.
Возможно такое реализовать, или утопия? Если возможно, то сколько по времени надо на разработку (или цена вопроса)?

Память работает на 300МГц*32бита. По 100 на запись и чтение блоками, и 100 на рефреш и открытие строк.
Или лучше подумать про https://www.opalkelly.com/products/xem7350/? Эта нравиться больше, но не ясно как с экспортом/импортом.
RobFPGA
Приветствую!

Судя по всему память DDR2 -333MHz 16bit соответственно имеет в пике ~1200 MByte/s.
Для Ваших максимальных ~320 MByte/s на запись и ~320 MByte/s на чтение хватит.
Пртери на рефреш и т.д.обычно не более 5-10 % от пиковой полосы.


Пр времени - система на FPGA от 2-4 недель - в зависимости от опыта и доп. хотелок по обработке.
По цене - опять же сильно зависит от хотелок и на сколько наглость позволяет - но судя по Вашему нику можно не скромничать sm.gif

А Вам именно USB3 нужно ? че-то дороговато $800 за модуть с Spartan6-LX150.

Успехов! Rob.
Major
Спасибо за ответ. Я где-то так и прикидывал по пропускной способности. Сам запускал только DDR на циклоне и очень давно.

1. Посмотрел возможности ise webpack (покупать лицензию желания нет).
Похоже мне подходит только XEM6310MT-LX45T на XC6SLX45T-2 за 500уе.
Подошла бы плата альтере ZEM4310 (EP4CE55F23C8N), но спидгрейд совсем плохой.

Сколько процентов от него займет такое фифо, котроллер DDR2 и сопряжение с USB контроллером? Так чтобы контроллер DDR2 + КА работали на 300МГц и dcfifo на встроенной памяти справлялись. Меньше 50% от LX45?

2. Нужен именно USB 3.0, инет 10G или PCI-e на 4 lane получаются дороже.
Цена плат opalkelly меня устраивает. Надеюсь получить решение включил-забыл.
Сначала их будет две, а дальше или покупать партией или заказать разработку реплики.

Раньше не работал с xilinx, правильно понимаю что MIG входит в состав ise webpack и не требует доп отчислений?
Цитата
Memory Interface Generator (MIG) is a free software tool used to generate memory controllers and interfaces for Xilinx® FPGAs. MIG generates unencrypted Verilog or VHDL design files, UCF constraints, simulation files and implementation script files to simplify the design process. Memory Interfaces supported are: DDR3 SDRAM, DDR2 SDRAM, QDRII SRAM, and DDRII SRAM, LP DDR, QDRII+ SRAM, and RLDRAM II.
http://www.xilinx.com/products/intellectua...operty/mig.html
RobFPGA
Приветствую!

В Spartan 6 контроллер DDR железный мульти-портовый - почти ничего не занимает. MIG ( халява sm.gif ) просто генерит обвязку для встроенного контроллера.
Рабочие частоты для логики ~150-300 MHz. память и FIFO 300-400 MHz. AXI шина 100-125 MHz

На LХ45 можно много всего впихнуть - например систему обработки данных доплеровского локатора (FIR, FFT, AFC, и.т.д ) с входным потоком 2x250 MByte/s + SOC на MicroBlaze + 1G ethernet c выходом ~90 MByte/s (и еще останется место светодиодом поморгать sm.gif ).

В Вашем случае думаю что почти пустой будет ~20-30% займет.

Можно будет использовать готовые блоки для организации FIFO на DDR. (см AXI Virtual FIFO) ну или свои извраты на тему AXI DMA sm.gif

Успехов! Rob.

Major
RobFPGA, благодарю за помощь.
Похоже много потерял, пока не смотрел на xilinx. AXI Virtual FIFO практически то, что мне надо.

P.S.
Если понадобиться, есть еще одна плата на спартане-6 от немцев: http://www.cesys.com/products/efm-02/
По начинке вкуснее (256МБ памяти 800МГц), цена 364 евро против 500$.
johan
Коллеги, не подскажете, есть ли для Альтеры аналогичное Virtual FIFO (с интерфейсами Avalon-MM и Avalon-ST)? rolleyes.gif
В IP Catalog я такого не припоминаю, но может где-то видели такое?
Andrew Su
Цитата(Major @ May 5 2015, 13:21) *
Есть платка на базе XC6SLX150-2FGG (https://www.opalkelly.com/products/xem6310/)
Память MT47H64M16HR-3:G.
Хочется принимать данные и отдавать через USB3 в ПК. Входной постоянный входной поток 32 бита и частота 1 до 80МГц.
Выходной в контроллер USB3 на частоте 100МГц.
Перед передачей данные буферизуются через FIFO, чтобы иметь свободу маневра на ПК (16Мбайт даст ~50мс буфера).

Входные данные записываются непрерывно. Выходные по мере готовности USB. Данные на входе поступают блоками (пока в ФИФО нет места на блок, они не записываются), на выходе тоже забираются блоками.
Возможно такое реализовать, или утопия? Если возможно, то сколько по времени надо на разработку (или цена вопроса)?

Память работает на 300МГц*32бита. По 100 на запись и чтение блоками, и 100 на рефреш и открытие строк.
Или лучше подумать про https://www.opalkelly.com/products/xem7350/? Эта нравиться больше, но не ясно как с экспортом/импортом.

Добрый день.
Реализовывал передачу данных из оптики -> Spartan 6 (протокол AURORA) FIFO (на базе LPDDR) -> USB. FIFO (на базе LPDDR) делал на примере xapp492_S6_ConnectivityTRD_Aurora.pdf
Разбор примера собого труда не составил.
Прикрепленный файл - .zip
Удачи.
Magnum
Зачем велосипеды изобретать.. cool.gif
http://www.linkinstruments.com/logana32.html#memory_depth
Major
Цитата(Magnum @ May 6 2015, 14:55) *
Зачем велосипеды изобретать.. cool.gif
http://www.linkinstruments.com/logana32.html#memory_depth


Мои 32 бита данных на своей частоте появляются не из воздуха.
Задач несколько, например завести 24 АЦП (18*2МГц каждое), плюс управление усилением каналов.
В других данные предварительно обрабатываются. Поэтому FPGA на входе обязателен.
Логический анализатор не совсем подходит. В ним плюс это его ПО, а оно мне совсем не нужно.

Готовые платы АЦП не всегда подходят по аналоговой части, или дрова кривые, и не дешево.
Для нас заманчиво получить за 500уе плату с возможностью быстро запустить нужное АЦП. И размер 50*80 вполне себе OEM решение.
Плата cesys efm-02 весьма удачна, сразу разведены отверстия под ЭМ экран, много памяти.

Буферизация в DDR2 нужна, так как в реальной жизни приходилось сталкиваться с кратковременным отказом HDD (ударная звуковая волна или механический удар приводит к парковке головок). Это дает короткие лаги в системе.
А если пишешь поток на винт, то можно получить отказ на дястяку секунд. Надеятся на 100% присутствие SSD нельзя.
Бывало сетевой драйвер подгружал систему (в винде и линуксе).
monty
Цитата(Major @ May 5 2015, 17:21) *
Эта нравиться больше, но не ясно как с экспортом/импортом.


Есть еще вот - эта http://www.minerva-tech.com/en/products/di...are/fmc_carrier - проблем с импортом/экспортом нет т.к. маэйд ин ссср. Пример "Фифо на ддр" есть.
Major
Цитата(monty @ May 8 2015, 13:02) *
Есть еще вот - эта http://www.minerva-tech.com/en/products/di...are/fmc_carrier - проблем с импортом/экспортом нет т.к. маэйд ин ссср. Пример "Фифо на ддр" есть.

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