HDL (Hardware Description Languages) — это не программирование в привычном понимании, это описание цифровой логики. Здесь код всегда выполняется параллельно, if превращается в мультиплексор, а for это просто команда для копипаста логики.
С помощью Верилога можно описать логику ЛЮБОГО цифрового устройства, если на соответствующем железе хватит ресурсов, от простенького контроллера до процессора и настоящей домашней игровой консоли прошлого поколения.
Основные языки:
Verilog — Си-подобный, гибкий, любимый в США и Азии. Позволяет выстрелить себе в ногу, руку и сразу в голову, если не понимать, что делаешь.
SystemVerilog — Де-факто стандарт индустрии для верификации и современной разработки. Чаще всего используется в РФ.
VHDL — Строгий, типизированный, но к сожалению для некоторых многословный. Популярен в Европе (особенно в оборонке).
ИТТ будем пояснять за RTL, научим работать с открытыми, напишем свой RISC-V процессор с блекджеком и шлюхами, объясним, почему твой код не синтезируется, и поможем разобраться, как запихнуть твой клон NES в дешевую китайскую плату.
Инструментарий:
Vivado (Xilinx/AMD): https://www.xilinx.com/products/design-tools/vivado.html (весит дохера)
Quartus (Intel/Altera): https://www.intel.com/content/www/us/en/software/programmable/quartus-prime/overview.html (жрет оперативку)
Gowin EDA: Для самых дешевых плат за пару десятков долларов по типу Tang Nano. Хотя есть ли в них смысл, если можно взять БУ плату Xilinx/Altera?
Open Source решения (Yosys, Nextpnr, Verilator): https://github.com/YosysHQ/oss-cad-suite-build — для свободных духом красноглазиков и Linux-бояр.
Полезные ссылки:
HDLBits (Rustlings от мира верилога, мастхэв для новичков): https://hdlbits.01xz.net/wiki/Main_Page
ASIC World (справочники по синтаксису): http://www.asic-world.com/
ZipCPU (блог для продвинутых, как писать правильный Верилог код): https://zipcpu.com/
Nandland (гайды для самых маленьких): https://nandland.com/
Бесплатные онлайн и оффлайн занятия в РФ с возможностью стажировки в российскую компанию Ядро: https://engineer.yadro.com/chip-design-school/
Литература:
Harris & Harris: Digital Design and Computer Architecture (Библия схемотехника), есть аналогичное издание на русском, называется "Цифровая схемотехника и архитектура компьютера".
Pong P. Chu (книги по Verilog/VHDL для практиков с примерами на платах): "FPGA Prototyping by Verilog/VHDL Examples".
Digital Design (M. Morris Mano) - классическая теория.
FAQ:
Q: Какую плату купить новичку?
A: Tang Nano 9K / 20K (дешево), Terasic DE10-Nano (дорого, но MiSTer), любые девборды на Cyclone IV с Алика.
Q: VHDL или Verilog?
A: Для работы в РФ рекомендую учить SystemVerilog, VHDL можно взять на всякий случай.
Q: Много ли вакансий на нем?
A: Не знаю. В стране дефицит специалистов, но насколько ты будешь считаться специалистом с нулевым опытом в Верилоге - не ясно.
Q: Почему симуляция работает, а в железе нет?
A: Добро пожаловать в мир таймингов, гонок сигналов и отсутствия блокирующих присваиваний! Читай про blocking vs non-blocking assignments.
Нейронки пока не могут генерировать качественный Верилог код сложнее мигалки.
Тут проблема в том, что тебе нужно сначала придумать устройство, а потом его погромировать.
Не всегда нужно придумывать сферическое устройство в вакууме, если это абстрактная числодробилка с определенным количеством вводов и выводов.
Это для тех кто не работает в этой сфере профессионально или кому ардуины достаточно, но есть множество задач, где ардуина вообще не подойдет
Плисы много где используют. Ну в основном это всякие dsp-платы и всё где нужен параллелилизм. Для обработки видео и рендеринга тоже можно использовать, нейронку запихнуть туда. Видеокарты для бедных короче, хотя это и спорный вопрос. Плисина может несколько тыщ баксов стоить.
Была такая лаба в магистратуре.
Я бы не сказал что плисина это аналог видеокарты для бедных. Они сейчас часто используются для точной эмуляции ретро процессоров и приставок, плюс для всякого оборудования по типу звуковых карт
Мёртвый тред, но других нет.
У меня интересный вопрос возник. Вот все жалуются(и у нас, и на западе, и в азии), что в отрасли жесткая нехватка кадров. А я открываю цены на платы для обучения, и вижу, что они стоят в 10-15 раз дороже профессиональных готовых продуктов(из которых они и сделаны, собственно).
Неужели никто реально не задумывался, что причина нехватки кадров может лежать на поверхности?
>Нейронки пока не могут генерировать качественный Верилог
"Опять эта проклятая неопределённость!"
Пару лет назад прибрел плату Tang Nano 9K, но руки так и не дошли с ней поиграться - "очень интересно, но ничего не понятно".
>Нейронки пока не могут генерировать качественный Верилог код сложнее мигалки
Ну вот полгода прошло и это утверждение уже стало ложным.
В этой отрасли дохуя оттенков, там 99% нужны верификаторы и 1% плисоводов.
Чел, ну просто скачай ИИ агента и попроси писать Verilog/VHDL код. Зачем в каждом треде как собака вынюхивать и спрашивать "Пруфы?"
Что тебе это даст? Ты все еще надеешься что есть хоть какой-то айтишный и около-айти труд, который не под силу ИИ агентам? Я тебя разочарую, но такого уже нет.
По факту, VHDL это Паскаль (кроме как обучать студентов ну куда такое), а Verilog это C немнодный современный. Чем эквивалент SystemVerilog отличается мне не так уж интересно. Языки риел-параллелюшечной разработки и описания схем цифровых и логических устройств. Не программирование, хотя и тоже код.
Даже если нейронка может в верилог, надо один хуй разбираться в предметной области, ты на полном серьёзе считаешь, что в этой области можно навайбодить на отъебись и потом партию запустить?
Предметную область конечно знать стоит, но это не мешает уволить 70% verilog/vhdl макак.
витёк
>надо один хуй разбираться в предметной области, ты на полном серьёзе считаешь, что в этой области можно навайбодить на отъебись и потом партию запустить
ну хз, ИИшка вон уравнение навье-стокса решило (точнее доказало что оно в общем случае неверное). ты думаешь ИИ не справится с хорошо верифицируемой хуйней типа цифровой схемотехники?
пора на мороз. топ-топ ножками. робу рабочего наденешь и пойдешь сварщиком или электриком ишачить. а проектировать схемотехнику будет ИИ вместо тебя.
>уравнение навье-стокса решило
Скажи честно, сколько минут назад ты узнал о существовании этого уравнения?
если честно еще много лет назад в старшей школе о нем услышал от учителя физики. я в физмат гимназии учился.
>Чел, ну просто скачай ИИ агента и попроси писать Verilog/VHDL код. Зачем в каждом треде как собака вынюхивать и спрашивать "Пруфы?"
Потому что бремя доказательства лежит на утверждающем. В чем смысл каждый раз кукарекать про то что нейрокал может вылечить рак за один промпт, если все это хуцпа без пруфов?
"Чел, ну просто скачай ИИ агента и попроси написать лекарство от рака." Верилог код то как раз он напишет, но вот качество подобного высера или его сложность будут сомнительными.
>а проектировать схемотехнику будет ИИ вместо тебя.
Сейчас ИИ не может проектировать схемотехнику даже на уровне джуна, ибо в отличие от айтишечки у него ОЧЕНЬ МАЛО обучающих данных. Он буквально прокалывается на этапе Signal Integrity и EMS. С верилогом та же проблема, ибо для обучения нейронки на гитхабе очень мало примеров в отличие от айтишечки и программистов.
>ИИшка вон уравнение навье-стокса решило
Уже разоблачили эту хуцпу лол. По сути попенаи спиздил чужую работу и выдал это за сверхперемогу своего маняии. И так у них всегда https://habr.com/ru/articles/1079940/
Кстати, тут дело даже не столько в том что это открытие по сути совершил какой-то ученый с помощью ИИ (то есть в предметной области разбираться в любом случае надо, рандомный мимокрокодил с нейрокалом так не сможет), а это открытие и вовсе не делал ИИ, а тупо спиздил чужую работу какого-то ученого. По ссылке выше есть все пруфы.
>Нехватки кадров нет. Verilog/VHDL макаку сегодня отлично заменяет ИИшка.
Пруфы? Ты верилог разработчик в теме или просто рандомный дворник, который ни дня не работал в этой сфере? Как же смешат эти миморандомы, которые лучше всех шарят в теме, хотя про нее только мимоходом услышали лол. Это как если бы манятеоретик из интернета с дипломом пту начал бы задвигать ученому-вирусологу с PhD про теории заговора, про вакцины с аутизмом и ковид, oh wait...
да это какой-то потужный ии-шизик, который в каждом треде кукарекает про свой швитой ии. он небось даже не слышал про разницу между симуляцией fpga и реальным синтезом fpga на практической плате, где даже в формально верифицированной логике в 90% случаях будет разрыв в поведении, а тут за него все ии будет делать, ога. мы годами не можем опытного синьора найти с опытом в дизайне vhdl и верификации, а тут дефицита кадров нет
>>756620
>Ты все еще надеешься что есть хоть какой-то айтишный и около-айти труд, который не под силу ИИ агентам? Я тебя разочарую, но такого уже нет.
а он под силу? ты лично пробовал?
я попробовал сделать у него рядовую имплементацию (это уровень тестового задания) открытого RV32IMC/RV64GC ядра с кастомными блоками, в итоге моделька gpt 6 astra medium жидко пукнула, и это при этом что реализации этих ядер на гитхабе лежат тоннами - тупо бери бойлерплейт оттуда и переделывай, так он даже это не может, что-то более сложное типа кастомных ядер со своей полностью кастомной архитектурой и спецификацией он вообще не может делать, постоянно висящие выводы или проебы по таймингам, после комментов типо "LW x5, 0(x1)" сломан, исправь, он ломает еще больше и в итоге исправлять надо еще больше. по итогу дебажить его код требует больше опыта и знаний чем если просто самому писать нуля
Сейчас ИИ компании нанимают людей чтобы те писали код для обучения ИИ.
Думаешь они не нанимают электронщиков и прочих инженеров для таких же целей?
Я тоже не знаю, так как они по сути в разы медленнее чем реальное цифровое устройство отчепятанное тайванцами/китайцами на заводе. ПЛИСы это для моделированния скорее, чем для продакшена, имхо. Хотя и функционал подобен.
а нахуя тебе еще чето? разве это не круто?
ну профессионалы там какие то сигналы обрабатывают такие dsp на стероидах, а поиграть как раз риск5 самое то, можно что то и посложнее чем rv32imc, удлинить конвейер придумать кастомное расширение, накостылить свою шину и тп
ПЛИСы для продакшена используются много где, в том числе где на себестоимость конечного изделия заказчику похуй - военка (даже частная в европке везде использует плис, ибо там такая маржа что на лишние 50-100 долларов на один фпга чип вообще похуй), изделия с небольшой партией например HFT или кастомный блок видеообраотки для спортивных мероприятий, там больше 20-40 изделий на один заказ не нужно. Также плисы используются в нишевых вещах типо эмуляции старого железа (не только в ретрогейминге, но например для воссоздания какого-нибудь старого промышленного заводского или лабораторного чипа для поддержки легаси софта и оборудования по чтобы тайминги были 1 в 1 как на оригинальном железе). Но в общем это нишевая вещь, да, хотя сам верилог и используется в целом в VLSI.
Тут скорее всего сидят аноны из азии, европки и за рубежа, ибо в рф плис это чисто удел невыездных и задротов в теме
Бля, как много языков. Это делает работу сложной.
>Vivado
https://www.amd.com/en/support/adaptive-socs-and-fpgas/installer-info-general.html
На Red Hat Enterprise Workstation/Server 8-10 или Ubuntu Linux 22 или SUSE Enterprise Linux и ещё несколько других линуксов должно установиться без проблем, их поддержка заявлена.
Купить плату с чипом xilinx, gowin иди altera? Как мне кажется, gowin лучше, чем все остальное. За ту же цену tang mega имеет кучу периферии. Мне еще нравятся борды с Zynq 7020.
Во всяких серийных муз. инструментах часто плисины ставили, делать асики - это охуенно дорого, поэтому всё зависит от экономики.
Ну подо что, если под твое хитрейшее выражение с десятью перемножениями-сложениями-вычитаниями и т.д.? Которое тебе требуется ровно в одной функции из одной программы. Допустим, а толку с этого. Был один такой человек который говорил - хорошо бы плисина эта была бы интегрирована в комп и когда-нибудь это так и будет.
А в то же время ПЛИС ведь куда дороже и заодно медленнее платы под какой-нибудь условный канкулятор-автомобильный-тамагочи-брелок который напечатывается на азиатских заводах по схеме.
>невыездных
Во первых далеко не только. Достаточно на hh посмотреть вакансии.
А во вторых третья форма допуска вообще никак не ограничивает по части выезда.
>Тут скорее всего сидят аноны
Не сидят. Максимум периодически мимо проходят.
>Verilog/VHDL макаку сегодня отлично заменяет ИИшка.
ИИ-цыган, уходи в свой номерной. Когда сможете на искусственном идиоте хотя бы печатные платы разводить, тогда приходите.
>>756012
>что в отрасли жесткая нехватка кадров
Высококвалифицированных кадров, чел. Примерно как в Облачном медведе дюжина разрабов сидит и второй десяток лет клепает ядра. Стаи студентов, которых пачками клепает Йадро-панчулятник для демпинга, никому не нужны, упряжка хомяков не заменит лошадь.
>В разработке ПЛИС самые уебищные проприетарные тяжеловесные инструменты.
Одни из самых сложных алгоритмов под кастомно оптимизированное вендором железо неожиданно проприетарные, как же так, а? Кек.
> Хотелось бы иметь свободное ПО для разработки
Ну пиши под Говнину, там вроде полный цикл можно на свободном по замутить, только зачем?
>>759634
>тяжеловесные
В случае с плис жор ресурсов хотя бы оправдан из-за мороки с размещением и качественным моделированием событий. Вот зачем 90% разрабов микроконтроллеров сидят в калокубах и прочих idf, где хватило бы блокнота и мейка - непонятно. Но ведь сидят же и урчат довольно. Подумаешь, прошивка чутка не влезла, зато тактовое дерево мышкой правим, это так актуально и сиюминутно.
>Вот зачем 90% разрабов микроконтроллеров сидят в калокубах и прочих idf, где хватило бы блокнота и мейка - непонятно
>90% разрабов микроконтроллеров
Скорее это не про профиков, челидзе, а любителей-диащиков-пердуинщиков, которым нахуй не надо заморачиваться - тыркают свою стмку раз в сто лет в говнокубе. Чтобы им какой-нибудь мастер шины i2c инициализировать надо изучить талмуд, нахуй им это надо?
>ИИ порешал вас, друзья.
>SWE-bench saturates. HWE Bench doesn't.
Какой-то нейрослоперский сайт с очень палевным ИИ текстом без каких-либо пруфов. Очень интересно, товарищ вайбкодя, продолжайте срать нейрослопом в том же духе, только желательно в каком-нибудь более предназаченном для сранья месте, например в тиктоке или ютуб шортсе, там сидят твои собратья по искуственному разуму.
>А в то же время ПЛИС ведь куда дороже и заодно медленнее платы под какой-нибудь условный канкулятор-автомобильный-тамагочи-брелок который напечатывается на азиатских заводах по схеме.
Нет, плисина более быстрая чем процессоры. Плисина быстрее процессоров в ряде задач, когда у тебя 1000 условных процессов и нужно чтобы они все выполнялись и вычислялись одновременно, а не друг за другом в очереди выполнения как в классическом процессоре/микроконтроллере.
В теории можно все эти логические элементы ПЛИС изобразить на самой печатной плате, по сути board-level аналог плис лол, но так уже давно никто не делает, ибо это очень громоздко и очень дорого, особенно если логических элементов на плате у тебя сотни-тысячи.
>Плисины не для производительности. Тут их заткнут gpu. Да и cpu во многом тоже. Они для низкой и фиксированной задержки.
Смотря что подразумевается под производительностью. В контексте быстрого отклика и выполнения батчем специализированных реалтмайм задач плисины быстрее обычных general-use процессоров. Но плисина на то и плисина, то они под очень узкие задачи
Забей, простой "скуфидонский" гуглеж по названию проэкта приносит ссылку на HN, где автора лениво обоссали 5 месяцев назад. Он грозился обоссать в ответ - но до сих пор наматывает сопли на кулак.
>5 месяцев назад
Тогда opus-5.5 тоже был или он вот только неделю назад вышел?
Какой же копиум, мама мия...
Опус-5.5, ты? Помнишь меня? Я твой одноклассник. Я узнал тебя по твоим шизоидным словам и высерам. А помнишь, как мы всем классом нассали тебе в кружку в третьем классе, на сладкоежке? Ты ещё выпил, облизнулся и попросил добавки. А потом тебя пришёл забирать твой отец, тот самый дворник, который на Вернадского изнасиловал собаку и получил условный срок за то, что украл плавленный сырок в магазине. Он зашёл в класс, все стали смеяться, а ты обосрался под себя от стыда, а потом сказал, что всю жизнь будешь ненавидеть дворником, но в 9 м классе, когда ты пошёл на рейд, чтобы их отпиздить, то они пустили тебя по кругу, после чего тебе наложили на анус восемь швов. Как поживаешь, Опусян?
>ии - шизик наконец нашел тред, в котором еще ненапощено про айти все.
Фига ты старательный.
>>768784
>Тогда opus-5.5 тоже был
А чем 5.5 отличается от 4.5 или 1.0? Это все одни и те же яйца с новыми свистоперделками, основной принцип неизменен. Дрочем на новую самую свежую меджик модел с айкью 9000 которая точно-точно порешает все полимеры, коупят уже несколько лет.