Ведем отладку нового модуля с GW5AR-25:
23K FF/LUT, 1008Kb BSRAM, 180Kb SSRAM(с ревизии B), 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МГц!
Надо еще с силой буферов процессора поэкспериментировать, возможно еще получится поднять частоту. |