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

 
 
 
Reply to this topicStart new topic
> XILINX Spartan-3 FPGA, Общие вопросы SRAM;SDRAM;DDR?
Arischenko Ivan
сообщение Oct 30 2009, 08:49
Сообщение #1


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

Группа: Участник
Сообщений: 112
Регистрация: 29-10-06
Пользователь №: 21 768



Добрый день.

Знаний о FPGA у меня "ниже начальных" но в проекте в котором я занят используется XILINX FPGA Spartan-3 XC3S5000. На FPGA возложена задача по цифровой обработке сигнала (выделение шумоподобного сигнала с использованием псевдослучайных последовательностей) в пару к нему используется процессор Atmel AT91RM9200. В двух словах алгоритм работы : ПЛИС производит начальную обработку сигнала, процессор - окончательную, соответственно возникает вопрос совместного доступа к данным первичной обработки.

Сейчас предполагается следущая схема : (ПЛИС+SDRAM)-(AT91+SDRAM). Данные первичной обработки помещаются в SDRAM ПЛИС, откуда процессор должен их забирать и обрабатывать.

Прикрепленное изображение


Схема мне очень не нравится, но обосновать необходимость ее улучшения без аргументирования я не могу.
Можно ли ее упростить? Например : память оставить одну и заменить ее на DDR, в DDR складывать данные, и от туда же исполнять программу AT91RM9200?
На сколько сложная задача на FPGA выполнить преобразование SDRAM-SRAM для передачи данных из памяти FPGA в процессор?
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Oct 30 2009, 09:36
Сообщение #2


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

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Тут вопрос в том, хватит ли процессору скорости SRAM порта, если на нем будет его основная память. Кроме этого других проблем сделать на FPGA арбитр, который будет обеспечивать двухпортовый доступ к SDRAM (для собственных нужд и для процессора) нет. А память конечно лучше поставить DDR2 со стандартным MIG контроллером - по сравнению с DDR, вам не придется ставить резисторы (используя DCI в Spartan-3).
Go to the top of the page
 
+Quote Post
Arischenko Ivan
сообщение Oct 30 2009, 11:19
Сообщение #3


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

Группа: Участник
Сообщений: 112
Регистрация: 29-10-06
Пользователь №: 21 768



Цитата(DmitryR @ Oct 30 2009, 12:36) *
Тут вопрос в том, хватит ли процессору скорости SRAM порта, если на нем будет его основная память. Кроме этого других проблем сделать на FPGA арбитр, который будет обеспечивать двухпортовый доступ к SDRAM (для собственных нужд и для процессора) нет. А память конечно лучше поставить DDR2 со стандартным MIG контроллером - по сравнению с DDR, вам не придется ставить резисторы (используя DCI в Spartan-3).



Т.е если организовать в FPGA двухпортовый контроллер памяти SDRAM, подключить его к шине EIB процессора AT91SAM9200 на NCS1 (SDRAM) то FPGA в приципе будет успевать сохранять данные в память и обеспечивать исполнение кода из памяти sdram для AT91SAM9200? Как на пальцах посчитать необходимую минимальную пропускную способность памяти чтобы процессор не затыкался?
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Oct 30 2009, 13:41
Сообщение #4


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

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Цитата(Arischenko Ivan @ Oct 30 2009, 14:19) *
подключить его к шине EIB процессора AT91SAM9200 на NCS1 (SDRAM)
Не SDRAM, а SRAM.

Цитата(Arischenko Ivan @ Oct 30 2009, 14:19) *
Как на пальцах посчитать необходимую минимальную пропускную способность памяти чтобы процессор не затыкался?
Думаю никак - это очень зависит от задачи.
Go to the top of the page
 
+Quote Post
faa
сообщение Oct 30 2009, 13:51
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 726
Регистрация: 14-09-06
Из: Москва
Пользователь №: 20 394



Цитата(Arischenko Ivan @ Oct 30 2009, 14:19) *
Т.е если организовать в FPGA двухпортовый контроллер памяти SDRAM, подключить его к шине EIB процессора AT91SAM9200 на NCS1 (SDRAM) то FPGA в приципе будет успевать сохранять данные в память и обеспечивать исполнение кода из памяти sdram для AT91SAM9200? Как на пальцах посчитать необходимую минимальную пропускную способность памяти чтобы процессор не затыкался?

FPGA работает со своей памятью (SDRAM/DDR/DDR2) и висит на EBI как обычная статическая память. Двухпортовый (трехпортовый и т.д. - в зависимости от количества источников и потребителей данных) контроллер памяти в FPGA обслуживает "внутренние" запросы к памяти и "внешние" от ARM. На шине ARM-a висит своя SDRAM/DDR/DDR2 (какую поддерживает ARM), там крутится операционка (если необходима) и программа вторичной обработки. Вот пример. Только на Altera, что не принципиально. Или у embeddedarm или micro9 смотрите. Есть еще хорошая реализация такого подхода у elphel, только SoC там от AXIS.
А делать разделяемую память смысла нет - надо или DMA прикручивать или контроллер делать очень умным, что накладно. Да и с DMA, ЕМНИП, у AT91SAM9200 не все гладко.
Я прикручивал Spartan-3 к EP9315 примерно так (SDRAM - FPGA) - (EP9315 - SDRAM). FPGA подключена как два банка (CS1, CS7 ) к контроллеру статической памяти (SMC) SoC, физически шина SDRAM и SMC общая (как EBI у AT91SAM9200).

Если есть конкретные вопросы - в личку.
Go to the top of the page
 
+Quote Post
Arischenko Ivan
сообщение Oct 30 2009, 15:06
Сообщение #6


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

Группа: Участник
Сообщений: 112
Регистрация: 29-10-06
Пользователь №: 21 768



DmitryR, faa спасибо. Вопрос исчерпан.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 09:16
Рейтинг@Mail.ru


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