8 апреля 2021 года независимые разработчики сообщили о создании некоммерческой организации Open Source FPGA Foundation (OSFPGA) для продвижения и повсеместного внедрения программируемых логических интегральных схем (ПЛИС) с открытым исходным кодом.
Проект инициативы OSFPGA опубликован на GitHub. Пока что там есть только список ресурсов, связанных с проектами FPGA с открытым исходным кодом.
FPGA (Field-Programmable Gate Array) — это программируемая логическая матрица (ПЛМ) или программируемая логическая интегральная схема (ПЛИС).
Проект OSFPGA создан для демократизации и продвижения технологии FPGA путем предоставления открытой и ориентированной на пользователей и разработчиков среды для совместной работы. Инициаторы проекта пообещали в скором времени агрегацию и создание набора бесплатных инструментов для работы с FPGA, которые будут соответствовать отраслевым стандартам и иметь открытый исходный код, например, под лицензией MIT, а также обеспечивать быстрое создание прототипов для микросхем FPGA и автоматизированную поддержку EDA (Electronic Design Automation, автоматизация проектирования электроники). В рамках проекта будет представлены бесплатные образовательные курсы для развития технологий FPGA среди продвинутых пользователей и разработчиков.
Разработчики проекта OSFPGA приглашают присоединиться к этому сообществу всех желающих, включая студентов, представителей университетов, компания и стартапов с соответствующим уклоном и работающих или заинтересованных в развитии возможностей FPGA с открытым исходным кодом.
Фонд обещает установить в сообществе необходимые каналы сотрудничества, будет способствовать распространению информации и обучению, а также координировать совместные усилия для создания экосистемы вокруг FPGA с открытым исходным кодом.
В настоящее время проект OSFPGA уже является независимым Фондом с управляющей структурой в лице совета директоров и технических руководящих комитетов, а также участников сообщества из академических кругов, которые уже начали совместно работать над продвижением миссии проекта.
Wilderwein
Интересно, что думают об этом vendor-ы.
Ведь чтобы проект взлетел (разработка инструментов), нужно чтобы vendor-в открыли API. Иначе проекту суждено превратится в сборник кода на vhdl/verilog, своего рода Open cores 2.
Более того, задачи решаемые с помощью vhdl очень редко стандартные на столько, чтобы кому то ещё этот код приготился. Я не говорю о коде для общения с переферийными чипами и имплемкнтации протоколов. Всё это есть у самих вендоров, не к чему изобретать велосипед. А код основной логики кроится вокруг того, что есть на схеме а так же вокруг очень конкретно поставленной задачи.
Есть и ещё одна причина, как мне кажется — самая главная.
В стандартном программировании не так ценится имплемкнтации, как сама идея, алгоритм.
В разработке fpga ценится и алгоритм а так же а зачастую и больше — именно имплементация. Ведь именно она — настоящее искусство. Именно она — разница между fpga заполненном на 50 или на 90 процентов. Я сомневаюсь что кто то в здравом уме выложит самую изящную имплементация в открытый доступ. Она может стоить любую сумму, до миллионов (потому, что это разница например между стартапом с работающим устройством и не работающим). В этой профессии очень мало децствительно профессионалов. Не достаточно выучить синтаксис, нету помощи со stackoverflow вся литература заканчивается описанием транзисторов. Нет даже общепринятых best practice. Я бы сказал, это последний оплот настоящего искусства в современной разработке.
Ждать, что кто то отдаст людям свое произведение искусства просто так — как минимум наивно
checkpoint
Вендоры думают по-разному. Lattice например, очень даже не против того, что бы их ПЛИСы (iCE, ECP5) реверсились и программировались с помощью open source toolchain-а (icestorm, yosys). А вот Xilinx совсем даже наоборот — наверчивает и усугубляет методы шифрования битстрима и дерет в тридорога за лиценции на свой софт. Позиция Intel-а (Altera) по этому вопросу пока не ясна. Есть надежда, что Intel, в свете надвигающейся катастрофы, повернется лицом к разработчикам и сообществу.
У меня закрадывается мысль, что в мире сильно недостает производителей ПЛИСов средней степени интеграции (до 85к LUT-ов) которые были бы полностью открыты и программировались бы без монстроидального проприетарного софта. Если кто-то ищет способы как вложить пару сотен лямов $$ в поддержку отечественной микроэлектроники — создание своих ПЛИСов такого уровня вполне годная и подьемная задача. Тут имеется в виду только fabless — с производством на TSMC или еще где. Готов поучаствовать. ;)
shnegs
ПЛИС М1 от Миландр:)
checkpoint
Да знаем. Цены не подьемные, только керамика, только для войны. А хочется — массово и для народа, может быть даже на экспорт. Поддержку Yosys они допилили?
checkpoint
Прочитал сейчас попродробнее про ПЛИС Миландр M1. Годны один только как «glue logic», не более:
— Количество LUT-ов — с Гулькин нос (4к).
— M1 это скорее CPLD (БМК), а не FPGA (ПЛИС).
— Начали за здравие (Yosys и FOSS toolchain), кончили за упокой — виндовая среда разработки, проприетарный плейсер.
В общем, как-то прогресс повернулся у них в неправильное направление. Поддались влиянию закостенелого сообщества разработчиков :-)
Wilderwein
Мне иногда кажется что миландровский ПЛИС это реверснутый Altera APEX пятнадцати летней давности
checkpoint
М1 так же очень похожа на Lattice MachXO2 — «одноразовая» CPLD с небольшим кол-вом LUT-ов.
te3s
Шифрование битстрима это хорошо. Фишка fpga в том, что это reprogrammable устройство. Поэтому многие используют fpga в конечном продукте, чтобы если что, можно было выкатить «патч». Дешевле и эффективнее, чем отзывать продукцию и делать респин, если у вас asic. Но в этом случае вашим продуктом становится сам дизайн. Дело в том, что по битстриму вполне себе без проблем реверсится netlist, ну и в итоге, сам дизайн. Поэтому шифрование битстрима это нормально и хорошо.
Про «дерет в тридорога за лицензии на свой софт». Xilinx коммерческая компания (стоявшая у истоков fpga, между прочим). Она заинтересована в извлечении прибыли, извините, коммунизм еще не настал. Зарабатывать с продажи fpga нереально, на чем же тогда зарабатывать? На лицензиях к своему тулчейну. Это же довольно сложный софт, специфический. Там свои специфические алгоритмы. Это результат 40-летнего труда многих хороших инженеров и разработчиков. С чего бы им отказываться от извлечения прибыли и конкурентного преимущества?
Сделать из hw open-source странная идея. Не то чтобы это плохо, мне, как инженеру и пользователю, это скорее выгодно. Просто непонятно как это должно происходить и кто будет этим заниматься. В sw open-source возможен отчасти потому, что разработчиков, способных его развивать и поддерживать условно много. В части fpga, найдется довольно мало инженеров, способных и готовых пилить открытые тулчейны. Там очень специфические алгоритмы. В целом разработчиков, специализирующихся на этом довольно мало. Не понимаю, как это должно происходить и развиваться, если честно.
Dsp911
А вдруг. Я так понимаю(как дилетант в этом деле), кто под это дело завезет отраслевую платформу в железе, тот и снимет бабло (вероятно).
Будет круто, если из этого вырастет открытое коммьюнити. Вспомните администрирование Циско 22 -25 года назад. Скаральное знание и произведение искусства.
checkpoint
Все будет именно так. Но сопротивление со стороны индустрии будет неимоверное. По большей части даже от самих разработчиков систем на ПЛИС — сликом они закоренелые виндузисты и проприетарщики.
Wilderwein
Пока количество ресурсов в чипе не начнёт так же быстро расти как вычислительная мощность cpu в свое время ни о каких их абстракция и общих подхода не может быть и речи (в реальных, больших проектах).
Никто не будет платить за больший чип только потому что абстракция сожрала +20%.
checkpoint
Во-первых, поверить в то, что прогресс в ПЛИС-строении остановился — очень трудно. Каждый год вендоры выкидывают на рынок новые модели с всё бОльшим числом LUT, DSP, Serdes. Проблема в том, что «тля успевает пожрать» и это. :-)
Во-вторых, оптимизирующие ситезаторы и плейсеры, со временем, решат эту проблему. Сейчас никто не пишет на ассемблере в том числе и потому, что «обогнать» оптимизирующий компилятор (GCC) стало просто не возможно — написанный вручную код на ассемблере будет уступать и по обьему и по быстроте исполнения коду написанном на высокоуровневом языке! Если Вам таки удастся написать такой код — Вас с распростертыми обьятиями примут в мире разработчиков компиляторов. Считаю, то ПЛИСостроение придет ровно к тому же. И уже приходит — подавляющее большинство ПЛИСоводов это любители «крупно-панельного домостроения» — накидать гигантские (часто, проприетарные) IP-блоки, соединить их между собой и отдать синтезатору, пусть бедный мается и изыскивает способы как все это впихнуть в ограниченные ресурсы микросхемы. :-)
Wilderwein
Развитие идёт, как вы и сказали. Тут не поспоришь но медленно. Проклятая тля все портит :)
Хотя сравнивая stratix 10 и Agilex видим что элементов больше не станет. Intel пытается пойти путем изготовления пропртетарных ASICs для клиентов тем самым освобождая логику (это вместо увеличения количества ресурсов)
Xilinx же вообще пошёл путем гибридных чипов (почитайте про Vesal ACAP)
На счёт ip blocks, мы у себя в компании пришли к следующему: использовать готовое для общения с silicons внутри fpga.
Все же остальное (signal processing, avalon/axi components) от вендора слишком прожорливое. Если писать самому то и latency меньше и функционал больше и логику не так жрёт. Поэтому "панельное домостроение" в fpga работает пока не очень.
Если чип полу пустой, можно и готовые ip blocks натаскать, но для поделок в чипе заполнено на 90% они не годятся.
te3s
Опять не соглашусь с вами. Львиная часть тулчейна уже лет 5 отлично работает на линуксах. Ни в одной большой и серьезной компании ни fpga, ни asic разработка не ведутся под виндой, из того что я видел, это всегда линукс.
errexx
Примерно тоже самое я слышал на заре веков от апологетов ассемблера. Но потом пришел Си и все эти ваши изящные художества ушли на радугу. Туда им и дорога.
Не надо надувать щеки по поводу FPGA — это намного более формализуемая область, нежели то же системное программирование.
checkpoint
В том то и дело, что Verilog это уровень ассемблера — куча надстроек и накруток. Сечас появились высокоуровневые языки описания аппаратры (nMigen, SpinalHDL, Chisel), но пофессиональное сообщество встречает их «в штыки». Народ конкретно подсел на проприетарщину и не желает с неё слезать. Тов. Dsp911 правильно подметил — это как Cisco в начеле 2000-х — народ постоянно посещает на какие-то платные обучательные семинары по проприетарному софту, произошло даже расслоение на апологетов Vivado и Quartus-а. Но пройдет время и все эти монстроидальные Vivado и Quartus-ы канут в века. Придет GCC и всех задавит. :)
Wilderwein
Давайте вспомним почему смог "прийти GCC": процессоры стали шустрее. Программы могли более расточительно испрльзовать такты CPU не вызывая отвращения у условного пользователя в связи с медлительностью.
И в мире FPGA есть попытки создания высокоуровневых языков но их использование приводит к повышению используемых ресурсов чипа на 20-30%. Проблема в том, количество ресурсов в новых чипах растёт медленно. Тот же Intel вообще не собирается увеличивать количество ресурсов в своих Agilex. Той же дорогой идёт и Xilinx. А запросы на аппликации в FPGA все растут.
Вот и сидим мы, инжинеры у разбитого корыта. От нас хотят новых больших аппликации, мы бы и рады использовать что то уровнем повыше дремучего vhdl, да чипы размером не вышли
checkpoint
Я вижу это несколько в ином свете. Проприетарный софт и «закрытость» ПЛИС сейчас сильно ограничивают вхождение «левого» народа в эту тему. Но, появление полностью FOSS средст разработки неминуемо приведет к росту числа «любителей», что в свою очередь резко подстегнет развитие синтезаторов (yosys) и плейсеров (next-pnr). Уже сейчас они дают вполне сопоставимый с «коммерчискими» системами результат (а по некоторым оценками — даже превосходят тот же Vivado и делают это существенно быстрее). Так же надо учитывать, что ПЛИСы Xilinx полностью не реверснуты, особенно в части таймингов. Пройдет время и FOSS средства разработки с высокоуровневыми языками презвойдут по оптимизации любые коммерческие аналоги. Вспомните теорему о бесконечных обезъянах. Именно это произошло с GCC, и рост производительности тут был вторичен. Первично — это масса людей с головами, свободным временем и возможностями. GCC сейчас самый оптимизирующий компилятор с C/C++ для платформ x86 и ARM, лучше GCC никто не справляется (в том числе и LLVM). Более того, большинство коммерческих сред разработки используют GCC в качестве backend-а. С ПЛИС-ами будет все то же самое. Тот, кто проникнется этой темой ранее всех и сможет продолжить строить «на плечах других» имеет шанс финансово преуспеть. Во всяком случае, прогресс должен двигаться именно в этом направлении, а то, что мы имеем сейчас это «лебедь, рак и щука».
old_bear
Между системным программированием и HDL-дизайном есть одна маленькая разница.
Первое — это реализация задачи в рамках жёстко заданной архитектуры (или нескольких).
Второе — это построение архитектуры под задачу (и я не имею ввиду соединение нескольких готовых блоков стандартной шиной).
Такая вот маленькая разница, из-за которой все эти космические корабли высокого уровня всё никак не зарулят апологетов
ассемблераverilog-а. Вот уже лет 20 как.checkpoint
А по мне, так просто не настало время, масса была не готова. Бизнес компании IBM по сдаче в аренду дорогостощего металло-кремния (да, IBM не продавала, а сдавала в аренду свои мэйнфреймы) казался незыблемым несколько десятков лет подряд. FORTRAN и COBOL были вершиной совершенства среды и языка программирования… пока не появились «любители домашних компьютеров», а с ними мальчик Линус и дядька Столлман. ПЛИС уже попал в руки «любителей» и пошел в массы, так что процесс не остановить. Кто-то может сопротивляться, кто-то просто игнорировать… я предпочитаю присоединиться :)