Добро пожаловать в тред Verilog-подобных языков - VHDL, Verilog, SystemVerilog и прочих!
HDL (Hardware Description Languages) — это не программирование в привычном понимании, это описание цифровой логики. Здесь код всегда выполняется параллельно, if превращается в мультиплексор, а for это просто команда для копипаста логики.
С помощью Верилога можно описать логику ЛЮБОГО цифрового устройства, если на соответствующем железе хватит ресурсов, от простенького контроллера до процессора и настоящей домашней игровой консоли прошлого поколения.
Основные языки:
Verilog — Си-подобный, гибкий, любимый в США и Азии. Позволяет выстрелить себе в ногу, руку и сразу в голову, если не понимать, что делаешь.
SystemVerilog — Де-факто стандарт индустрии для верификации и современной разработки. Чаще всего используется в РФ.
VHDL — Строгий, типизированный, но к сожалению для некоторых многословный. Популярен в Европе (особенно в оборонке).
ИТТ будем пояснять за RTL, научим работать с открытыми, напишем свой RISC-V процессор с блекджеком и шлюхами, объясним, почему твой код не синтезируется, и поможем разобраться, как запихнуть твой клон NES в дешевую китайскую плату.
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.
>>3645802 Не всегда нужно придумывать сферическое устройство в вакууме, если это абстрактная числодробилка с определенным количеством вводов и выводов.
>>3646106 Это для тех кто не работает в этой сфере профессионально или кому ардуины достаточно, но есть множество задач, где ардуина вообще не подойдет
>>3646201 Плисы много где используют. Ну в основном это всякие dsp-платы и всё где нужен параллелилизм. Для обработки видео и рендеринга тоже можно использовать, нейронку запихнуть туда. Видеокарты для бедных короче, хотя это и спорный вопрос. Плисина может несколько тыщ баксов стоить.
>>3646212 Я бы не сказал что плисина это аналог видеокарты для бедных. Они сейчас часто используются для точной эмуляции ретро процессоров и приставок, плюс для всякого оборудования по типу звуковых карт