Menu
CoddyTech

Ôn tập: xây dựng module

Thuộc phần Kiến thức nền tảng trong hành trình Verilog của Coddy. Bài học 36 trên 90.

challenge icon

Thử thách

Thử thách này kết hợp mọi thứ bạn đã học trong chương này. Bạn sẽ tạo một module từ đầu và khởi tạo module đó.

Cần làm:

Phần 1: Tạo một module có tên flipflop với:

  • Đầu vào 1 bit có tên clk
  • Đầu vào 1 bit có tên d
  • Đầu vào 1 bit có tên reset
  • Đầu ra 1 bit có tên q (dùng reg, gán giá trị trong khối always)

Module hoạt động như sau:

  • Khi reset là 1, q trở thành 0
  • Nếu không, mỗi khi có cạnh xung nhịp, q nhận giá trị d

Phần 2: Khởi tạo module flipflop trong module top bằng cách ánh xạ cổng theo tên

Kết nối các cổng với những tín hiệu sau:

  • Cổng clk → tín hiệu clock
  • Cổng d → tín hiệu data
  • Cổng reset → tín hiệu reset_signal
  • Cổng q → tín hiệu out

Tự làm thử

// Phần 1: Tạo module flipflop

  // TODO: Thêm các cổng

  // TODO: Thêm khối always với posedge clk và posedge reset
  
  // Nếu reset là 1, q <= 0
  
  // Nếu không, q <= d


// Phần 2: Module top với phần khởi tạo instance
module top (
  input clock,
  input data,
  input reset_signal,
  output out
);

  // TODO: Khởi tạo module flipflop với tên instance là ff1
  
  // Ánh xạ các cổng theo tên: .clk(clock), .d(data), .reset(reset_signal), .q(out)

endmodule

Tất cả bài học trong Kiến thức nền tảng

Tự luyện tập: Trình biên dịch Verilog online