StewartLittle 81 September 16, 2025 Posted September 16, 2025 · Report post В 16.09.2025 в 16:11, sonycman сказал: А какие-то платки на пробу с этими чипами у Вас можно приобрести физич. лицу? Для частного лица самый недорогой и быстрый вариант - купить плату SiPEED для GW5AST-LV138 на Aliexpress, в официальном магазине SiPEED Store: https://aliexpress.ru/item/1005007265305162.html?sku_id=12000040002814282&spm=a2g2w.productlist.search_results.3.120967f2QelIdH Описание платы здесь: https://en.wiki.sipeed.com/hardware/en/tang/tang-mega-138k/mega-138k.html В 16.09.2025 в 17:30, dxp сказал: Тут, правда, ещё есть фактор САПР -- после стройной, логичной и функциональной Vivado софт того же Gowin выглядит как игрушка. Ну-у, господа... Сколько лет развивается связка XACT-ISE-Vivado-Vitis ? И сколько лет Gowin EDA ? В 16.09.2025 в 17:30, dxp сказал: ... а вот то, что там полную автоматизацию не навести (те же IP ядра можно создавать только через тыкание кнопочек на GUI -- во всяком случае было так, когда я в последний раз это смотрел), это для меня серьёзный недостаток. Постепенно идут перемены в лучшую сторону - см. SUG1220-1.0E_Gowin Software Tcl Commands User Guide.pdf (он же во вложении), раздел IPFlow. В 16.09.2025 в 17:41, sonycman сказал: Китайцев пока не щупал вообще никогда, ужасно раздражают иероглифы... У Gowin документация и софт от рождения имели англолязычные версии. Но, правду сказать, до уровня Altera (или даже Lattice - это более справедливое сравнение) документация у Gowin пока не дотягивает. Но работать вполне можно ! В 16.09.2025 в 17:44, dxp сказал: ... хотя Gowin из РФ ушёл сразу же в 22-м году. Ушел по-китайски - вроде бы да, но вроде бы и нет 🙂 Но я-то в любом случае остался ! 😜 SUG1220-1.0E_Gowin Software Tcl Commands User Guide.pdf 1 1 Quote Share this post Link to post Share on other sites More sharing options...
sonycman 2 September 17, 2025 Posted September 17, 2025 · Report post 15 часов назад, StewartLittle сказал: GW5AS-EV25 - Artery AT32F435 + ПЛИС на 25 тыc LE. А таких пока вообще нигде нет? А по скорости логики Говин хотя бы до Artix дотянули, или пока что помедленнее? Я уже не говорю про уровень ультраскэйл плюс... Quote Share this post Link to post Share on other sites More sharing options...
dxp 169 September 17, 2025 Posted September 17, 2025 · Report post 12 часов назад, StewartLittle сказал: Ну-у, господа... Сколько лет развивается связка XACT-ISE-Vivado-Vitis ? И сколько лет Gowin EDA ? Этот фактор, конечно, со счетов не сбрасываем, софт относительно молодой, и с грандами его сравнивать по полной программе неуместно. Но тут речь идёт не о качестве синтеза и подобных возможностях, а о фичах оболочки. Vivado в этом смысле -- не наследник ISE, это другая среда с совершенно иной идеологией (может, конечно, ошибаюсь, ISE знаю поверхностно, в бытность его основным тулом я плотно сидел на Altera): там сразу был заложен грамотный подход -- все действия выполняются внутренним движком, с Tcl интерфейсом, это позволяет всё делать без ограничений и со стороны GUI, и со стороны скриптов. Т.е. возможность автоматизации заложена сразу "из коробки". Для этого не нужна длительная история развития софта (она скорее даже вредна), это же не про совершенствование синтеза и PnR. У Gowin ведь софт позволяет через GUI делать всё, что нужно -- т.е. сами операции реализованы, нужно только дать к ним альтернативный интерфейс -- в виде API. И сделать это, кстати, проще, чем GUI рисовать на все функции. И у них он, вроде, был, когда я смотрел в последний раз (года полтора назад), только там фукнций было очень ограниченное количество, запомнилось, что IP ядра скриптом создавать нельзя, только проект и запускать синтез. 12 часов назад, StewartLittle сказал: Постепенно идут перемены в лучшую сторону - см. SUG1220-1.0E_Gowin Software Tcl Commands User Guide.pdf (он же во вложении), раздел IPFlow. Посмотрел, спасибо (особенно за вложение -- попытался залогиниться, но не вспомнил пароль, а по ссылке Foget password (sic! -- "Забудь пароль") оно требует заполнить обязательные поля (их всего два -- почта и капча -- и дальше не пускает, хотя поля заполнены). Ну, прогресс на лице, как говорится. 🙂 Это радует. 12 часов назад, StewartLittle сказал: Но я-то в любом случае остался ! 😜 Эт ваще гуд! 7 часов назад, sonycman сказал: А по скорости логики Говин хотя бы до Artix дотянули, или пока что помедленнее? Надо полагать, что вряд ли даже Artix-7 обойдёт. В Artix LUT6, а в GW5 LUT4, это добавит слоёв логики на сколько-нибудь развесистой комбинационке, что резко снизит скорость. Подозреваю, что и интерконнекты в Artix побогаче будут. Хотя вот PCIe Gen2 в GW5 есть, это уже заявка, в общем -- где-то подтягивается к седьмой серии Xilinx (которой уже 14 лет в этом году :)). Тут есть народ, который имеет опыт работы и с тем, и с другим, надеюсь, поделятся впечатлениями и результатами по скоростям. 1 Quote Share this post Link to post Share on other sites More sharing options...
_4afc_ 46 September 17, 2025 Posted September 17, 2025 · Report post 9 hours ago, sonycman said: А по скорости логики Говин хотя бы до Artix дотянули, или пока что помедленнее? У меня проекты ЦОС на GW2A/GW5A работают на 120МГц. Сейчас начинаю новый - думаю раскочегарить на 200МГц. Gowin по скорости - осторожничает. GW5A выпускает в спидгрейде C2/I1 с DSP 298шт на 480МГц, при том что GW2A уже есть C8/I7! 4 hours ago, dxp said: В Artix LUT6, а в GW5 LUT4, это добавит слоёв логики на сколько-нибудь развесистой комбинационке, что резко снизит скорость. Дык только в Artix и есть LUT6. В остальных везде LUT4. Нет проблем поставить регистры после каждых LUT4. Зато GoWin умеет свой CLB конфигурить в виде ALU: любой счётчик или арифметическая операция с регистрами превращается в ALU и выполняется на частоте LUT4+. В Artix - банальный счётчик приходилось на DSP делать, чтобы проект не просел по частоте. 4 hours ago, dxp said: Хотя вот PCIe Gen2 в GW5 есть Вот насчёт Gen2 я бы не осторожничал. Всё-таки SerDes на 12+ гигабит, да и протокол IP вроде поддерживает до 3.0 со скоростью 8гб. Другое дело что их два x4. Не факт, что можно x8 сделать рабочим. У нас проекты на GoWin с PCIe - работают. PS: и не забываем, что для извращенцев и любителей С++ есть встроенный AE350/M3. 1 Quote Share this post Link to post Share on other sites More sharing options...
StewartLittle 81 September 17, 2025 Posted September 17, 2025 · Report post В 17.09.2025 в 04:45, sonycman сказал: А таких пока вообще нигде нет? Почему же нет? Я стараюсь поддерживать на складе некоторое количество GW5AS-EV25UG256C2/I1. Правда, на прошлой неделе один из здешних гуру забрал весь складской остаток, под свой взлетевший проект 🙂 Новую партию я заказал, за месяц должна приехать. Цена приятная, но про это лучше в личке. Есть в наличии отладочная плата DK_MOTOR_GW5AS-EV25UG256C2I1_V1.1 : https://www.gowinsemi.com/en/support/devkits_detail/59/ Описание прилагаю. DK_MOTOR_GW5AS-EV25UG256C2I1_V1.1 SCH.pdf DBUG422-1.0.2E_DK_Motor_GW5AS-EV25UG256C2I1_V1.1 Development Board User Guide.pdf 1 Quote Share this post Link to post Share on other sites More sharing options...
dxp 169 September 17, 2025 Posted September 17, 2025 · Report post 1 час назад, _4afc_ сказал: Дык только в Artix и есть LUT6. В остальных везде LUT4 В каких остальных? US+? Versal? Везде LUT6. Исходно вопрос был сравнить с Artix. 1 час назад, _4afc_ сказал: Нет проблем поставить регистры после каждых LUT4. Ещё как есть! Это появляются задержки, которые меняют дизайн. Приходится вместо того, чтобы употребить время и силы на достижение фукциональности, тратить его на борьбу за скорость, конвейеризируя и усложняя дизайн. В итоге, с LUT6 пишешь просто то, что нужно по задаче, а c LUT4 нужно сразу регистры лучше втыкать (а то потом это будет больнее), учитывать задержки, синхронизацию наводить. У меня как-то был опыт, когда с таймингами были напряги, приходилось процентов 70 времени тратить на борьбу за скорость (да-да, втыкая регистры чуть не после каждой комбинационной операции). С тех пор больше уважаю ПЛИСки побыстрее и тактовые стараюсь не задирать без крайней необходимости. Т.ч. проблемы есть. Не фатальные, но приятного тут немного. 1 час назад, _4afc_ сказал: В Artix - банальный счётчик приходилось на DSP делать, чтобы проект не просел по частоте. Это какой разрядности и на какой частоте? 1 час назад, _4afc_ сказал: Вот насчёт Gen2 я бы не осторожничал. Всё-таки SerDes на 12+ гигабит, да и протокол IP вроде поддерживает до 3.0 со скоростью 8гб. А там не в трансиверы упирается. Там критична "обвязка" вокруг аппаратного PCIe ядра, которой приходится работать на довольно высокой частоте -- например, на том же Artix-7 это получается 250 МГц, не всякий Artix тянет -- от спидгрейда 2 и выше. Не уверен, что GW5 будет себя хорошо на этой тактовой чувствовать. Quote Share this post Link to post Share on other sites More sharing options...
_4afc_ 46 September 17, 2025 Posted September 17, 2025 · Report post 3 hours ago, dxp said: В каких остальных? US+? Versal? Везде LUT6. Исходно вопрос был сравнить с Artix. Хотел сказать, что LUT6 завезли в Spartan6 и далее. Остальные производители вроде на LUT4 с возможностью увеличения. 3 hours ago, dxp said: Ещё как есть! Это появляются задержки, которые меняют дизайн. Приходится вместо того, чтобы употребить время и силы на достижение фукциональности, тратить его на борьбу за скорость, конвейеризируя и усложняя дизайн. В итоге, с LUT6 пишешь просто то, что нужно по задаче, а c LUT4 нужно сразу регистры лучше втыкать (а то потом это будет больнее), учитывать задержки, синхронизацию наводить. У меня как-то был опыт, когда с таймингами были напряги, приходилось процентов 70 времени тратить на борьбу за скорость (да-да, втыкая регистры чуть не после каждой комбинационной операции). Ну да, пишешь функциональность в Modelsim, проверяешь максимальную частоту в Gowin_FPGA_Desiner и добавляешь в нужные модули регистры. А модули изначально все с синхронизацией и им всё равно сколько регистров в задержках. Если говорить о LUT подробнее - у меня есть конечный автомат на 512 case, на GW2A_C8 он собирается на 120МГц, на GW5A_ES год назад собирался на 30МГц, на последней версии Gowin_FPGA_Desiner для GW5A_ES собирается на 60МГц, для GW5A_C2 на 71МГц. 3 hours ago, dxp said: С тех пор больше уважаю ПЛИСки побыстрее и тактовые стараюсь не задирать без крайней необходимости. Выше каких частот вы не задираете свои проекты на Artix? 3 hours ago, dxp said: Это какой разрядности и на какой частоте? Частота была 384МГц для Artix7-50. Разрядность точно не вспомню, что то в диапазоне 8-18бит. Вот смотрите, у меня сейчас для GW5A_C2, для конечного автомата на 512 case есть: модуль делающий задержку алгоритма на 30000/1200/120/20/1мкС он содержит счётчики на 30/25/20/10/6 и может работать на частоте 249МГц; модуль SPI может работать на частоте 404МГц; модуль UART115200 может работать на частоте 197МГц; модуль арбитра команд (1 ведущий - 3 ведомых) может работать на частоте 339МГц. На Artix мне приходилось делать зоопарк из низких частот с PLL для подобных модулей. 3 hours ago, dxp said: А там не в трансиверы упирается. Там критична "обвязка" вокруг аппаратного PCIe ядра, которой приходится работать на довольно высокой частоте -- например, на том же Artix-7 это получается 250 МГц, не всякий Artix тянет -- от спидгрейда 2 и выше. Не уверен, что GW5 будет себя хорошо на этой тактовой чувствовать. Нет там никакой обвязки. SerDes на то так и называется, что формирует из 8Гбит параллельную шину на низкой частоте. Для GW5A и PCIe_х4 достаточно 100МГц шириной 256бит. Я весь их PCIе IP отрефакторил для себя. Просто взяли исходники Alex Forencich и чуть своего добавили. Quote Share this post Link to post Share on other sites More sharing options...
sonycman 2 September 18, 2025 Posted September 18, 2025 · Report post В 17.09.2025 в 20:28, _4afc_ сказал: На Artix мне приходилось делать зоопарк из низких частот с PLL для подобных модулей Почему? А на говин это не нужно делать? Quote Share this post Link to post Share on other sites More sharing options...
RobFPGA 81 September 18, 2025 Posted September 18, 2025 · Report post 16 hours ago, _4afc_ said: Частота была 384МГц для Artix7-50. Разрядность точно не вспомню, что то в диапазоне 8-18бит. Для Artix7-50-2 счётчик на 32 бит в логике разводится на 400-450 MHz безо всяких DSP 1 Quote Share this post Link to post Share on other sites More sharing options...
_4afc_ 46 September 18, 2025 Posted September 18, 2025 · Report post 1 hour ago, sonycman said: Почему? А на говин это не нужно делать? У меня в UART для работы на 120МГц есть счётчик, выдающий строб каждый 149 такт. В 2019 для Artix я его даже оптимизировал регистрами через формулу типа 149=12х12+5. В GoWin для: GW5A_ES вариант Speed=232MHz (R=16, L=14, ALU=0), а вариант Size=205 (R=9, L=5, ALU=7); GW2A_C8 вариант Speed=481MHz (R=16, L=14, ALU=0), а вариант Size=339 (R=9, L=5, ALU=7). Вот возможность говиновского CFU (CLB) конфигурироваться в режиме ALU и на логике делать быстрые счётчики, сравниватели и даже операции сложения и вычитания - позволяют довольно вольно себя чувствовать на высоких частотах без использования DSP блоков. 24 minutes ago, RobFPGA said: Для Artix7-50-2 счётчик на 32 бит в логике разводится на 400-450 MHz безо всяких DSP У меня не разводился в 2019 году. Спидгрейд не помню (вероятно -1), но -40+85. Вивада вероятно 2018/2019 была. Quote Share this post Link to post Share on other sites More sharing options...
RobFPGA 81 September 18, 2025 Posted September 18, 2025 · Report post 3 minutes ago, _4afc_ said: У меня не разводился в 2019 году. Спидгрейд не помню. Вивада вероятно 2018/2019 была. От версии Vv это не зависит. Эти частоты ограничиваются лишь макс задержками на carry-chain. Счётчик-делитель на 32 бит тоже на этой же частоте работает 1 Quote Share this post Link to post Share on other sites More sharing options...
dxp 169 September 18, 2025 Posted September 18, 2025 · Report post 23 часа назад, _4afc_ сказал: Остальные производители вроде на LUT4 с возможностью увеличения. Altera Cyclone V, Cyclone 10GX, не говоря уже про Арьи и Стратиксы. Просто Зайлинкс и Альтера -- лидеры, они могут. Остальные пока не могут по тем или иным причинам (кто-то не умеет, кто-то не хочет в эту нишу лезть). 23 часа назад, _4afc_ сказал: А модули изначально все с синхронизацией и им всё равно сколько регистров в задержках. Модулям всё равно, разработчику не всё равно. Вместо простого написания кода ему приходится заморачиваться с городьбой конвейера. 23 часа назад, _4afc_ сказал: Выше каких частот вы не задираете свои проекты на Artix? Это как получается по требованиям задачи. В текущем можно на 100 МГц (удобная чиселка, легко считать тайминги и такты), очень комфортно работать. А где-то приходилось и 250 МГц (64 бита ширина данных), тут уже без физических констрейнов не обошлось. В общем, по моим оценкам на Artix-7 второго спидгрейда комфортно писать (низкие накладные на борьбу за тайминги) до 150 МГц. Выше уже начинаются дополнительные приседания. Оно понятно, что всё реализуемо, но если функциональная сложность проекта и так немаленькая, дополнительные головняки из-за таймингов радости не добавляют. Поэтому быстрая ПЛИС (с LUT6) рулит. 23 часа назад, _4afc_ сказал: Частота была 384МГц для Artix7-50. Разрядность точно не вспомню, что то в диапазоне 8-18бит. Что-то путаете. Вот ради интереса скидал 32-разрядный счётчик, пахает на 450 МГц, WNS 0.049ps. 18 бит со свистом полетят. Как выше отметил ув. RobFPGA, скорость счёта там определяется задержкой на переносах, а переносы там быстрые за счёт специальных аппаратных блоков CARRY4: Вот она -- цепочка переносов, выделена. Для 32 разрядов 8 штук в цепочке. В 17.09.2025 в 17:50, _4afc_ сказал: Зато GoWin умеет свой CLB конфигурить в виде ALU: любой счётчик или арифметическая операция с регистрами превращается в ALU и выполняется на частоте LUT4+. Посмотрел, что это за зверь такой -- ALU. Дак это просто парные LUT4 включены в разных режимах -- одна вычисляет сумму, другая перенос. Никакой революции тут нет, эту технику Altera применяла ещё в древней FLEX8000: там LUT4 могла работать в двух режимах: Normal и Arithmetic. В Normal это обычная LUT4, а в Arithmetic она разбивалась на две LUT3, и точно так же одна половинка вычисляла сумму, вторая -- перенос. С учётом специальных цепей переноса (carry-chain) с малыми задержками получались вполне приличные тайминги на арифметических операциях. Это было 30 лет назад! А вот 7-й серии применяется более продвинутая технология -- блоки CARRY4 (см. выше), которые могут очень быстро вычислять перенос для 4 бит. При этом ресурсы LUT6 не задействуются. Xilinx и тут на голову выше. И это видно по таймингам. На какой максимальной частоте может работать 32-разрядный счётчик в Arora V? 23 часа назад, _4afc_ сказал: Нет там никакой обвязки. SerDes на то так и называется, что формирует из 8Гбит параллельную шину на низкой частоте. Как это нет? Трансивер -- это только часть физического уровня, а там ещё Data Link и Transaction Level. Эту работу выполняет аппаратное ядро PCIe. Но и оно содержит не всё -- память (её объём) задаётся в свойствах IP корки, и реализуется она на блочной памяти ПЛИС. Там вокруг этого полно логики. И интерфейсная часть, которая адаптирует порты аппаратного блока к стандартному протоколу (AXI4-Stream, например). И в Artix-7 для PCIe Gen2 x4 это получается 64бит при 250 МГц. Даже Артикс это тянет только на 2-м спидгрейде. И что за 8Гбит? PCIe Gen2 -- это 5Gpbs на лейн. 8 -- это уже Gen3. Разве Arora V поддерживает PCIe Gen3? В 17.09.2025 в 23:28, _4afc_ сказал: Для GW5A и PCIe_х4 достаточно 100МГц шириной 256бит. А для Artix-7 PCIe Gen2 x4 достаточно 125 МГц шириной 128 бит. Quote Share this post Link to post Share on other sites More sharing options...
_4afc_ 46 September 18, 2025 Posted September 18, 2025 · Report post 1 hour ago, dxp said: Как это нет? Трансивер -- это только часть физического уровня, а там ещё Data Link и Transaction Level. Эту работу выполняет аппаратное ядро PCIe. Но и оно содержит не всё -- память (её объём) задаётся в свойствах IP корки, и реализуется она на блочной памяти ПЛИС. Там вокруг этого полно логики. И интерфейсная часть, которая адаптирует порты аппаратного блока к стандартному протоколу (AXI4-Stream, например). И в Artix-7 для PCIe Gen2 x4 это получается 64бит при 250 МГц. Даже Артикс это тянет только на 2-м спидгрейде. Я же говорю IP корка для PCIe с tlp обменом доступна, при желании, в исходниках - надо скорости - можно ускорить. Конфигурить там нечего - только режимы SerDes меняются. Слава богу гадости типа AXI4 в GoWin нет, хотя если вариант именно Stream - то все мои ядра на него похожи. Согласитесь 64 бита на 250МГц меньше 256бит на 100МГц? 1 hour ago, dxp said: И что за 8Гбит? PCIe Gen2 -- это 5Gpbs на лейн. 8 -- это уже Gen3. Разве Arora V поддерживает PCIe Gen3? The features of Arora V PCIe Controller IP are as follows: Compliant to the PCI Express Base Specification 3.0 Supports x1, x2, x4, x8 lanes Supports End Point Supports Gen1 (2.5GT/s), Gen2 (5GT/s), Gen3(8GT/s) Up to six BARs (Base Address Register), resizable Supports up to 4KB data payload transfer Supports Autonomous link speed/width change Supports advanced configuration options, Advanced Error Reporting (AER), and End-to-End Cyclic Redundancy Check (ECRC) Configurable parameters: channel width, maximum payload size,FPGA logical interface speeds, reference clock frequency, base address register decoding and filtering, etc. Вот про х8 пока звездят, так же как про совместное использование SerDes разными IP. Т.к. блок SerDes он на 8 линий (в режиме 2шт х4) и конфигурится магической портянкой из IDE, и вот можно ли скрестить в ней ежа и удава или двух удавов - больщой вопрос требующий аппаратных тестов. PS: по остальным вопросам отвечу позже. Quote Share this post Link to post Share on other sites More sharing options...
_4afc_ 46 September 25, 2025 Posted September 25, 2025 · Report post On 9/18/2025 at 7:35 PM, dxp said: Вот ради интереса скидал 32-разрядный счётчик, пахает на 450 МГц, On 9/18/2025 at 7:35 PM, dxp said: На какой максимальной частоте может работать 32-разрядный счётчик в Arora V? GW2A_C8: Logic = 432MHz, DSP=561MHz GW5A_C2: Logic = 431MHz, DSP=791MHz Quote Share this post Link to post Share on other sites More sharing options...
dxp 169 September 28, 2025 Posted September 28, 2025 · Report post В 25.09.2025 в 18:17, _4afc_ сказал: GW2A_C8: Logic = 432MHz, DSP=561MHz GW5A_C2: Logic = 431MHz, DSP=791MHz 450 МГц -- это не максимальная частота для такого счётчика. Вот щас ткнул 480 МГц, тоже собралось, хотя это уже близко к пределу, видимо -- WNS 0.014. Но счётчик -- это не про LUT6, в 7 серии там ключевым элементов для скорости таких арифметических узлов является блок CARRY4. А LUT6 -- это про несколько другой контекст: это даёт преимущество для "развесистых" комбинационных функций, позволяя уменьшить количество "слоёв" логики, а значит -- иметь более высокую скорость. В частности, на 1 слайсе можно сделать мультиплексор 16 в 1, т.е. будет один слой логики. Сколько слоев получится на Arora V с её LUT4? Quote Share this post Link to post Share on other sites More sharing options...