Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Cyclone V FPGA On-Chip RAM -> HPS - как увеличить скорость?
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
Juzujka
В 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?
johan
Не смотрите в сторону использования DMA для переброски значений с FPGA в SDRAM?

Чему равен sizeof(data_in_RAM)?
vadimuzzz
используйте fpga-to-sdram bridge
Juzujka
Цитата(johan @ Dec 9 2015, 00:48) *
Не смотрите в сторону использования DMA для переброски значений с FPGA в SDRAM?

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

1468, но с SDRAM и тем же размером пакета скорость отправляемых данных была гораздо больше.
johan
Посмотрите в сигналтапе как происходят транзакции.
Возможно это наведет вас на мысли (например, burstcount там равен одному).
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.