Menu
CoddyTech

Cấu trúc 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 30 trên 90.

Module là khối xây dựng cơ bản trong Verilog. Mọi thiết kế đều được tạo từ các module kết nối với nhau để hình thành những hệ thống lớn hơn.

Module là một thành phần phần cứng có:

  • Tên
  • Đầu vào (tín hiệu đi vào)
  • Đầu ra (tín hiệu đi ra)
  • Logic bên trong (module thực hiện việc gì)

Hãy hình dung module như một con chip có các chân và mạch điện bên trong.

Cấu trúc module cơ bản

Mỗi module đều có cấu trúc sau:

module module_name (
  input  signals,
  output signals
);
  
  // Khai báo nội bộ (wires, regs, v.v.)
  // Logic (câu lệnh assign, khối lệnh always, v.v.)
  
endmodule

Các thành phần của một module

Thành phầnMục đích
Từ khóa moduleBắt đầu định nghĩa module
module_nameTên của module
( )Danh sách các cổng đầu vào và đầu ra
input / outputKhai báo hướng của cổng
Phần thân moduleLogic bên trong và các kết nối
endmoduleKết thúc định nghĩa module

Ví dụ đơn giản về module

module and_gate (
  input a,
  input b,
  output c
);
  assign c = a & b;
endmodule

Mô-đun này:

  • Có tên là and_gate
  • Có hai đầu vào (a, b)
  • Có một đầu ra (c)
  • Chứa một câu lệnh assign định nghĩa logic

Quy tắc về cấu trúc module

  1. Mỗi tệp có một module là cách làm phổ biến
  2. Tên module nên mô tả chức năng của module
  3. Các cổng được liệt kê trong dấu ngoặc đơn sau tên
  1. Đầu vào luôn là input (không thể ghi bên trong)
  2. Đầu ra là output (có thể là reg hoặc wire)
  3. endmodule phải đóng module
challenge icon

Thử thách

Điền các phần còn thiếu để hoàn thành module này.

Cần làm gì:

  1. Thêm tên module my_and
  2. Thêm input cho x
  3. Thêm input cho y
  4. Thêm output cho z
  5. Thêm logic bên trong bằng assign

Tự làm thử

module ______ (   // Thêm tên module
  input x,       // Thêm đầu vào
  input y,       // Thêm đầu vào
  output z       // Thêm đầu ra
);
  // Thêm câu lệnh assign tại đây (z = x & y)
  
endmodule
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

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