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

 
 
 
Reply to this topicStart new topic
> Cyclone V FPGA On-Chip RAM -> HPS - как увеличить скорость?
Juzujka
сообщение Dec 8 2015, 06:51
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 63
Регистрация: 3-04-09
Из: Москва, Киров
Пользователь №: 47 125



В FPGA On-Chip RAM накапливаю данные, дальше их надо отправить по Ethernet.
FPGA On-Chip RAM приделал к Avalon Slave to h2f_axi_master, 64 бит и тактированию от h2f_user0_clock, 100 MHz.
Сделал mmap на FPGA On-Chip RAM,
Код
fd_IQ_RAM = open("/dev/mem", O_RDWR|O_SYNC);
mem_IQ_RAM = (unsigned int *)mmap(NULL, MAP_IQ_RAM_SIZE, PROT_READ|PROT_WRITE, MAP_SHARED, fd_IQ_RAM, MAP_IQ_RAM_BASE);

Затем
Код
while (...) {
  ret_val = sendto(sock, (void * )(mem_IQ_RAM), sizeof(data_in_RAM), 0, (struct sockaddr *) &echoclient, sizeof(echoclient));
}

скорость 12...19 МБ/с
Если вместо FPGA On-Chip RAM подставить SDRAM
Код
unsigned int mem_IQ_RAM[MAP_IQ_RAM_SIZE];

то скорость > 40 МБ/с

Как увеличить скорость передачи из FPGA On-Chip RAM в Ethernet?
Go to the top of the page
 
+Quote Post
johan
сообщение Dec 8 2015, 21:48
Сообщение #2


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

Группа: Свой
Сообщений: 78
Регистрация: 3-09-12
Пользователь №: 73 371



Не смотрите в сторону использования DMA для переброски значений с FPGA в SDRAM?

Чему равен sizeof(data_in_RAM)?

Сообщение отредактировал johan - Dec 8 2015, 21:51


--------------------
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Dec 9 2015, 00:15
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



используйте fpga-to-sdram bridge
Go to the top of the page
 
+Quote Post
Juzujka
сообщение Dec 9 2015, 06:40
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 63
Регистрация: 3-04-09
Из: Москва, Киров
Пользователь №: 47 125



Цитата(johan @ Dec 9 2015, 00:48) *
Не смотрите в сторону использования DMA для переброски значений с FPGA в SDRAM?

Смотрю, теперь этим и занимаюсь. Но изначально рассчитывал, что ОС сама им воспользуется. Вот и думаю, как сделать так, чтобы ОС использовала эту память более эффектвино.
Цитата(johan @ Dec 9 2015, 00:48) *
Чему равен sizeof(data_in_RAM)?

1468, но с SDRAM и тем же размером пакета скорость отправляемых данных была гораздо больше.

Сообщение отредактировал Juzujka - Dec 9 2015, 12:59
Go to the top of the page
 
+Quote Post
johan
сообщение Dec 10 2015, 12:26
Сообщение #5


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

Группа: Свой
Сообщений: 78
Регистрация: 3-09-12
Пользователь №: 73 371



Посмотрите в сигналтапе как происходят транзакции.
Возможно это наведет вас на мысли (например, burstcount там равен одному).


--------------------
Go to the top of the page
 
+Quote Post

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

 


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


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