Часть 3 · Verilog · уровни 30–43

Третья часть переводит схемотехнику на язык описания аппаратуры: вместо перетаскивания вентилей — текст, из которого симулятор строит схему. Так работают настоящие инженеры цифровых систем.

Открыть в игре →Программа курса

Основные идеи части

  • Verilog — это не программирование: строка описывает соединения, а не действия по порядку.
  • Модуль и порты: интерфейс важнее внутренностей — FullAdder собирается из двух HalfAdder, и снаружи этого не видно.
  • Шина — вектор из битов; generate-цикл размножает один модуль на все разряды.
  • Последовательностные схемы меняются только по фронту такта: DFF, счётчики, RAM.
  • RTL Viewer показывает, что симулятор собрал из вашего текста; временная диаграмма — как сигналы ведут себя по тактам.

Что вы построите к концу части

К концу части вы опишете текстом весь тракт данных процессора: регистры, АЛУ, RAM — и соберёте многофайловый проект из переиспользуемых модулей.

Уровни части

  1. 30. Hello, Wire! — объяснить, что Verilog описывает схему, а не алгоритм, и инстанцировать вентиль Открыть в игре →
  2. 31. Строгий выбор в коде (XOR) — объяснить параллельность операторов Verilog и собрать XOR из and/or/not без примитива xor Открыть в игре →
  3. 32. Управление потоком (MUX) — перенести схемную задачу (MUX) в структурный Verilog Открыть в игре →
  4. 33. Первое вычисление (HalfAdder) — собрать полусумматор на Verilog (XOR + AND) Открыть в игре →
  5. 34. Иерархия модулей (FullAdder) — объяснить иерархию модулей и переиспользовать собственный HalfAdder Открыть в игре →
  6. 35. Переход к шинам данных (Adder8) — собрать 8-битный сумматор инстанцированием 8 FullAdder Открыть в игре →
  7. 36. ALU — собрать АЛУ в структурном Verilog (8×and, 8×Mux), пройти структурную проверку и объяснить соответствие кода архитектуре Открыть в игре →
  8. 37. Память и Время — собрать модуль памяти на dff и generate-for и показать, зачем памяти clk, а АЛУ — нет Открыть в игре →
  9. 38. Шаг за шагом — собрать счётчик с обратной связью, разорванной D-триггерами; использовать константы 8'b Открыть в игре →
  10. 39. Оперативная память — обвязать встроенный RAM256 и объяснить, почему он работает как чёрный ящик Открыть в игре →
  11. 40. Сердце процессора — собрать тракт данных (Counter → ROM → ALU → Register) и объяснить, как он работает Открыть в игре →
  12. 41. Анатомия системы — собрать CPU из библиотечных модулей только для чтения в VFS-проекте и объяснить роли файлов-библиотек Открыть в игре →
  13. 42. Рентген для кремния — отлаживать иерархию через RTL Viewer drill-down и найти неверно подключённый примитив Открыть в игре →
  14. 43. Остановка времени — читать временную диаграмму и по ней найти и исправить ошибку в схеме Открыть в игре →

Номер уровня ведёт в его гайд в библиотеке; «Открыть в игре» — прямо в симулятор на этот уровень.

Что дальше: Часть 4 · Проектирование компьютера →