НовыйПуть
Изучи Verilog
Бесплатный интерактивный онлайн-курс Verilog. Ты пишешь Verilog на каждом уроке - модули и порты, wires и registers, примитивы логических вентилей, always-блоки, FSM и шаблоны testbench, которыми реально пользуются цифровые инженеры - с подсказками ИИ, когда вывод симуляции расходится с ожидаемым, и бесплатным сертификатом по окончании.
2,500+ codders записались
- Для начинающих
Помощь ИИ при написании кода
Практические интерактивные уроки
Аудио-озвучка к каждому уроку
Тесты для проверки знаний
Бесплатный сертификат о прохождении
Программа
Раздел 1
Основы
Начать разделНачатьРазвернутьСвернутьЗаложите прочную основу в цифровом проектировании, освоив базовые навыки VerilogВведение
5 уроков433- 01Что такое VerilogЗадача
- 02Hardware против SoftwareКвиз
- 03Уровни абстракции проектированияЗадачаКвиз
- 04Ваш первый модульЗадачаКвиз
- 05КомментарииЗадачаКвиз
Типы данных
7 уроков753- 01Тип WireЗадачаКвиз
- 02Тип RegЗадачаКвиз
- 03Integer и RealЗадачаКвиз
- 04ВекторыЗадачаКвиз
- 05МассивыЗадачаКвиз
- 06ПараметрыЗадачаКвиз
- 07Итоги — объявление сигналовЗадача
Системы счисления
6 уроков646- 01Двоичное представлениеЗадачаКвиз
- 02Числа с заданным размеромЗадачаКвиз
- 03Числа без заданного размераЗадачаКвиз
- 04Отрицательные числаЗадачаКвиз
- 05Специальные значения X и ZЗадачаКвиз
- 06Итоги — форматы чиселЗадача
Операторы. Часть 1
5 уроков535- 01Арифметические операторыЗадачаКвиз
- 02Оператор остатка от деленияЗадачаКвиз
- 03Операторы сравненияЗадачаКвиз
- 04Повторение: простая математикаЗадача
- 05Побитовые операторыЗадачаКвиз
Операторы. Часть 2
6 уроков647- 01Логические операторыЗадачаКвиз
- 02Операторы редукцииЗадачаКвиз
- 03Операторы сдвигаЗадачаКвиз
- 04Оператор конкатенацииЗадачаКвиз
- 05Условный операторЗадачаКвиз
- 06Повторение — Испытание по операторамЗадача
Модули
7 уроков755- 01Структура модуляЗадачаКвиз
- 02Входные и выходные портыЗадачаКвиз
- 03Порты InoutЗадачаКвиз
- 04Инстанцирование модуляЗадачаКвиз
- 05Подключение портов по имениЗадачаКвиз
- 06Подключение портов по порядкуЗадачаКвиз
- 07Итоги: создание модуляЗадача
Оператор Assign и логические вентили
6 уроков648- 01Непрерывное присваиваниеЗадачаКвиз
- 02Assign с операторамиЗадачаКвиз
- 03Встроенные примитивы вентилейЗадачаКвиз
- 04Вентили AND, OR, NOTЗадачаКвиз
- 05Вентили XOR, XNORЗадачаКвиз
- 06Итоги: Схемы на логических вентиляхЗадача
Проект полусумматора
Проект3 уроков1- 01Написание модуляЗадача
- 02Проектирование логикиПроект
- 03Написание TestbenchПроект
Процедурные блоки
6 уроков646- 01Блок alwaysЗадачаКвиз
- 02Блок initialЗадачаКвиз
- 03Список чувствительностиЗадачаКвиз
- 04Блокирующее присваиваниеЗадачаКвиз
- 05Неблокирующее присваиваниеЗадачаКвиз
- 06Итоги: always против initialЗадача
Принятие решений
6 уроков635- 01Оператор ifЗадачаКвиз
- 02Конструкция if - elseЗадачаКвиз
- 03Повторение: простой компараторЗадача
- 04Оператор caseЗадачаКвиз
- 05Операторы casex и casezЗадачаКвиз
- 06Повторение: проектирование ALUЗадача
Циклы
6 уроков646- 01Цикл ForЗадачаКвиз
- 02Цикл WhileЗадачаКвиз
- 03Цикл RepeatЗадачаКвиз
- 04Цикл ForeverЗадачаКвиз
- 05Инструкция DisableЗадачаКвиз
- 06Повторение: Паттерны цикловЗадача
Проект: Мультиплексор
Проект3 уроков1- 01Проектирование мультиплексора 2 в 1Задача
- 02Проектирование мультиплексора 4 в 1Проект
- 03Использование оператора CaseПроект
Тайминг и задержки
6 уроков645- 01Что такое задержкиЗадачаКвиз
- 02Задержки вентилейЗадачаКвиз
- 03Задержки в присваиванияхЗадачаКвиз
- 04Директива TimescaleЗадачаКвиз
- 05Генерация тактового сигналаЗадачаКвиз
- 06Итоги — управление таймингомЗадача
Основы Testbench
6 уроков645- 01Что такое TestbenchЗадачаКвиз
- 02Создание стимуловЗадачаКвиз
- 03Display и MonitorЗадачаКвиз
- 04Dumpfile и DumpvarsЗадачаКвиз
- 05Использование системных задачЗадачаКвиз
- 06Итоги: полный TestbenchЗадача
Контроллер светофора
Проект5 уроков1- 01Определение состоянийЗадача
- 02Логика конечного автоматаПроект
- 03Настройка времени переходовПроект
- 04Написание TestbenchПроект
- 05Проверка выходных сигналовПроект
Финальные испытания
3 уроков3- 014-разрядный счётчикЗадача
- 02Проектирование дешифратораЗадача
- 03Сдвиговый регистрЗадача
UART
Проект4 уроков1- 01Счетчик битовЗадача
- 02Конечный автоматПроект
- 03Проектирование передатчикаПроект
- 04TestbenchПроект
Почему стоит учить Verilog с Coddy
- Пиши и симулируй настоящий Verilog прямо в браузере. Никакого Icarus, Vivado или ModelSim ставить не нужно - каждый урок компилирует твой Verilog-модуль и запускает testbench на сервере, а вывод симуляции и любые ошибки компиляции показываются мгновенно.
- Verilog так, как им реально пользуются цифровые инженеры: модули и порты, wires против registers, примитивы логических вентилей (AND/OR/NOT/XOR), blocking- и non-blocking-присваивания, комбинационные и последовательные always-блоки, параметры, конечные автоматы и testbench с
$display,$monitorи$dumpvars. Основы языка описания аппаратуры, нужные ещё до того, как ты возьмёшь в руки FPGA. - Подсказки ИИ проведут тебя через те места Verilog, где спотыкаются все: blocking против non-blocking внутри always-блоков, когда брать
wire, а когдаreg, числа с размером и без, и что означают значенияxиz- чтобы с первого урока ты выстраивал правильную модель аппаратуры (а не программы) в голове. - Делай настоящие аппаратные проекты, а не просто упражнения: полусумматор (half adder), мультиплексоры 2-в-1 и 4-в-1, контроллер светофора как FSM и UART-передатчик. У каждого проекта свой testbench, так что ты видишь свою схему симулирующейся от начала до конца.
Частые вопросы об изучении Verilog
Для чего используется Verilog?
Verilog - это язык описания аппаратуры (HDL), на котором проектируют и симулируют цифровые схемы: FPGA, ASIC и чипы практически любого современного устройства. Инженеры описывают поведение железа на Verilog, симулируют его для проверки корректности, а затем синтезируют до реальных вентилей и триггеров. Это рабочий язык в Intel, AMD, NVIDIA, Apple, Qualcomm и в большинстве FPGA-компаний.
Verilog сложно учить?
Verilog внешне похож на C, но ментальная модель совсем другая - ты описываешь железо, которое работает параллельно, а не программу, которая исполняется строка за строкой. Сам синтаксис простой; сложно начать мыслить wires, registers и фронтами тактового сигнала, а не переменными и вызовами функций. Курс вводит «железное» мышление постепенно: от простой комбинационной логики к тактируемым always-блокам, конечным автоматам и полноценным testbench.
Verilog или VHDL - что выбрать?
Оба - основные HDL, и делают одну и ту же работу. Verilog (и его наследник SystemVerilog) доминирует в полупроводниковой индустрии США, в крупных чип-компаниях и в большинстве современных потоков верификации. VHDL чаще встречается в европейской промышленности, аэрокосмическом и оборонном секторах. Если конкретного работодателя в голове нет, в качестве первого HDL безопаснее выбрать Verilog - синтаксис ближе к C, и больше бесплатных инструментов и open-source-проектов вокруг.
Нужно ли знать Verilog для работы с FPGA?
Да - Verilog (или VHDL, или всё чаще SystemVerilog) - это то, на чём описывают, что именно делает FPGA. Инструменты вендоров вроде Vivado, Quartus и Lattice Radiant принимают на вход Verilog/SystemVerilog. Есть визуальные среды и high-level synthesis (HLS), но всё, что серьёзнее игрушечного проекта на FPGA, в итоге пишется или читается на Verilog.
Сколько времени нужно, чтобы выучить Verilog?
Базу Verilog - модули, порты, wires, registers, операторы, простые always-блоки - реально освоить за две-три недели ежедневной практики. Удобство с конечными автоматами, testbench и проектами курса (half adder, мультиплексор, FSM-светофор, UART) обычно занимает ещё один-два месяца. Следующий шаг - запустить свои схемы на настоящей FPGA-плате - это уже отдельная кривая обучения поверх самого языка.
Можно ли учить Verilog онлайн бесплатно?
Да. Интерактивный курс Verilog бесплатный - полные уроки, упражнения по коду, симулируемые testbench и сертификат. Verilog компилируется и симулируется на сервере, так что ставить Icarus Verilog, Vivado или какой-либо FPGA-тулчейн локально, чтобы начать писать настоящий HDL, не нужно.