Menu
Coddy logo textTech

Ваш первый модуль

Часть раздела Основы путешествия по Verilog на Coddy — урок 4 из 90.

Модуль является основным строительным блоком в Verilog. Каждый фрагмент кода Verilog находится внутри модуля.

Представьте модуль как компонент с:

  • Входами (входящие сигналы)
  • Выходами (исходящие сигналы)
  • Поведением (что он делает)

Синтаксис модуля

module module_name ( inputs, outputs );

  // Все, что находится внутри

endmodule

Каждый модуль начинается с module и заканчивается на endmodule.

Входы и выходы

module and_gate(
  input a,     // a входит В модуль
  input b,     // b входит В модуль
  output c     // c выходит ИЗ модуля
);

  // Логика работы описывается здесь

endmodule
  • input = сигнал входит в модуль
  • output = сигнал выходит из модуля

Добавление поведения

Теперь заставим модуль что-то делать:

module and_gate(
  input a,
  input b,
  output c
);

  assign c = a & b;  // c равно 1 только тогда, когда a И b равны 1

endmodule
  • assign непрерывно соединяет правую часть с левой
  • & означает И (AND) в Verilog
challenge icon

Задание

В этом испытании вам нужно создать простой модуль, который выполняет операцию ИЛИ (OR).

Что нужно сделать:

  1. Модуль должен называться or_gate
  2. У него должен быть вход с именем x
  3. У него должен быть вход с именем y
  4. У него должен быть выход с именем z
  5. Внутри модуля используйте assign, чтобы сделать z равным x OR y

Примечание: В Verilog операция ИЛИ записывается символом вертикальной черты |. Она выдает 1 (истина), если хотя бы один из входов равен 1 (истина).

Шпаргалка

Модуль — это основной строительный блок в Verilog, представляющий собой компонент с входами, выходами и определенным поведением.

module module_name (
  input a,
  input b,
  output c
);

  // поведение

endmodule

Используйте assign для непрерывного управления выходным сигналом:

assign c = a & b;  // И
assign c = a | b;  // ИЛИ
  • & — оператор И
  • | — оператор ИЛИ

Попробуйте сами

// Шаг 1: Создайте модуль с именем or_gate

  // Шаг 2: Создайте вход x

  // Шаг 3: Создайте вход y

  // Шаг 4: Создайте выход z

  // Шаг 5: Используйте assign, чтобы сделать z = x OR y
  // В Verilog ИЛИ записывается как |
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы