Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru
MAX: starterkit.ru

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:0
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:4
Форум » starterkit.ru » Общение
FPGA Gowin GW5AR первое впечатление
Pavel Ivanchenko
Добавлено 18.09.2026 11:00 Редактировалось 05.10.2026 16:26
0
Сообщение: 1
Pavel Ivanchenko
Admin
4.35

Пункты: 1166
Регистрация: 24.03.2009
Пол: Мужчина
Ведем отладку нового модуля SK-RK3506-GW5AR, чип GW5AR-LV25:
23K FF/LUT, 1008Kb BSRAM, 128Mb PSRAM
Несколько лет назад, спрашивая людей пытающихся использовать FPGA Gowin, получал реакцию в виде скошенного лица и фразы "ну что ты хочешь от чипов с таким названием ;)" ...
Поэтому, бравшись за него больших надежд не испытывал.
И ... в итоге, я оказался приятно удивлен!

Структура документации, изложение (да даже шрифт:) - все как у Xilinx.
Софт -GOWIN FPGA Designer (v1.9) бесплатный, но для пользователей России нужно лекарство. Как мне показалось, практически копия Xilinx ISE 15 летней давности, все простенько, зато "летает". Единственно P&R использовал 1 ядро.

Загрузка конфигурации FPGA была предусмотрена с процессора, старая утилита загрузки Xilinx заработала без правок (только управление портами переписали).

Далее начались тесты-эксперименты взаимодействия с процессором RK3506 через интерфейс FLEXBUS.
Сгенерированное IP двухпортовое FIFO дало ограничение (передача прием без ошибок) в 40МГц, разбираться сразу в причине такого ограничения не стал - переключился на эксперимент PSRAM FIFO.

Далее деферамбы недавно обновленному Deepseek :)
Дал ему обложку сгенерированной IP PSRAM Memory controller и сказал сделать из этого FIFO ...
C 4 итерации, выданное даже смогло синтезироваться без ошибок :) ...
Естественно, автомат был не рабочим, но шаг за шагом и примерно через 8 часов получил очень частный случай PSRAM FIFO (работал только на 10МГц ни больше ни меньше).
Примерно еще через 4 часа совместных усилий (я непрерывно копи-пастил :) был получен полноценный 128M PSRAM (работает на 400МГц) FIFO (правда протестировать с блоками более 64k не настроен дпрйвер-ядро) с частотой работы 55МГц , занял 25% FF/LUT FPGA.
После этого вернулся к экспериментам с обыкновенной FIFO для понимания причины ограничения в 40МГц, Deepseek с ходу предложил написать свою корку FIFO на BSRAM, за 5-10 итераций ее отладил и получил FIFO с максимальной частотой 80МГц!
Надо еще с силой буферов процессора поэкспериментировать, возможно еще получится поднять частоту.
Спуститься к концу Подняться к началу
Персональная информация
rw9uao
Добавлено 18.09.2026 11:08 Сообщение: 2
rw9uao
Ранг
5

Группа: Клиенты
Пункты: 21
Регистрация: 26.03.2009
привет
ты бы спросил =) я с tangnano давно играюсь =)
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 05.10.2026 16:51 Редактировалось 05.10.2026 16:58 Сообщение: 3
Pavel Ivanchenko
Admin
4.35

Пункты: 1166
Регистрация: 24.03.2009
Пол: Мужчина
Продолжил эксперимент.
Драйвер Flexbus включен в режиме SPI, а это означает, что при чтении подчиненный выставляет свои данные на срезе тактового (остается только половина такта), т.е. для высоких частот взаимодействия SPI режим работы не оптимален.

Ради эксперимента ковыряться с драйвером Flexbus желания не возникло, сделал другой пример FPGA (max_speed_test) в котором в FPGA передается пакет инкрементированных данных, автомат в FPGA анализирует входные данные и в случае несоответствия регистрирует ошибку.
На частотах работы до 100МГц ошибок нет, выше 100МГц начинает сбоить DMA механизм, возможно в нем можно что-нибудь "подкрутить", но думаю и текущих 100МГц 16Бит вполне "за глаза".
На блоках размером 64k измеритель скорости (по таймеру) показывает:
Average write speed: 113.31 MB/s

Что почти в двое меньше ожидания, это связано с накладными расходами ядра - от момента отправки пакета в приложении пользователя, до физического момента начала передачи проходит около 40мкс (на сам пакет передачи уходит ~65мкс).
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Общение