Menu
Coddy logo textTech

Recap - Build A Module

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

challenge icon

Задание

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

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

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

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

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

  • Когда 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: Модуль top с инстанцированием
module top (
  input clock,
  input data,
  input reset_signal,
  output out
);

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

endmodule

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

Потренируйтесь самостоятельно: Онлайн-компилятор Verilog