Menu
Coddy logo textTech

Итоги: создание модуля

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

challenge icon

Задание

Это испытание объединяет все, что вы узнали в этой главе. Вы создадите модуль с нуля и выполните его инстанцирование.

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

Часть 1: Создайте модуль с именем <strong>flipflop</strong> со следующими параметрами:

  • 1-битный вход с именем clk
  • 1-битный вход с именем d
  • 1-битный вход с именем reset
  • 1-битный выход с именем q (используйте reg, присваивание в блоке always)

Модуль должен работать следующим образом:

  • Когда reset равен 1, q становится 0
  • В противном случае, по каждому фронту тактового сигнала, q принимает значение d

Часть 2: Инстанцируйте модуль <strong>flipflop</strong> в модуле <strong>top</strong>, используя сопоставление портов по имени

Подключите порты к следующим сигналам:

  • Порт clk → сигнал clock
  • Порт d → сигнал data
  • Порт reset → сигнал reset_signal
  • Порт q → сигнал out

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

// Часть 1: Создание модуля flipflop

  // TODO: Добавить порты

  // TODO: Добавить блок always с posedge clk и posedge reset
  
  // Если reset равен 1, q <= 0
  
  // Иначе q <= d


// Часть 2: Верхний модуль с инстанцированием
module top (
  input clock,
  input data,
  input reset_signal,
  output out
);

  // TODO: Инстанцировать flipflop с именем экземпляра ff1
  
  // Использовать сопоставление портов по имени: .clk(clock), .d(data), .reset(reset_signal), .q(out)

endmodule

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