Vừa

Phát hiện mẫu 4 bit cấu hình được, chế độ chồng lấn / không chồng lấn

Module cần viết: pat_det · 6 case (2 mẫu) · giới hạn 4 s/case · ~25 phút

fsmmealyshift-registerpatterninterview

"Phát hiện chuỗi bit" là bài FSM phỏng vấn kinh điển. Phiên bản này có thêm hai yêu cầu của bài thật: mẫu là đầu vào (cấu hình lúc chạy, nên không vẽ FSM cố định được), và có hai chế độ chồng lấn / không chồng lấn.

module pat_det (
  input  logic       clk,
  input  logic       rst_n,      // reset bất đồng bộ
  input  logic       valid,      // có bit dữ liệu ở nhịp này
  input  logic       din,
  input  logic [3:0] pattern,    // pattern[3] là bit đến TRƯỚC, pattern[0] là bit đến sau cùng
  input  logic       overlap,    // 1: chồng lấn; 0: không chồng lấn
  output logic       hit         // tổ hợp (Mealy)
);
  • hit = 1 trong nhịp mà valid = 1 và 4 bit hợp lệ gần nhất, tính cả din hiện tại, bằng pattern. Các bit chỉ tính khi valid = 1; nhịp valid = 0 bị bỏ qua và không xoá gì.
  • Chưa đủ 4 bit hợp lệ kể từ reset thì không bao giờ có hit.
  • Không chồng lấn: sau một hit, 4 bit vừa khớp không được dùng lại. Mẫu kế tiếp phải gồm 4 bit hoàn toàn mới.
  • pattern và overlap được giữ ổn định trong lúc có dữ liệu, nhưng có thể đổi giữa các đoạn dữ liệu.

Ví dụ với pattern = 4'b1011, luồng 1 0 1 1 0 1 1: chồng lấn thì hit ở bit thứ 4 và thứ 7 (bit 1 thứ 4 được dùng lại); không chồng lấn thì chỉ hit ở bit thứ 4.

Testbench đặt đầu vào ở sườn xuống và đọc hit 1 ns sau đó.

Các case

  1. 1011 trên luồng 1011011, chồng lấnmẫu
  2. Cùng luồng, không chồng lấnmẫu

Cùng 4 case ẩn kiểm các yêu cầu còn lại của đề. Case ẩn chỉ báo đúng/sai, không nói chi tiết: tự tìm chỗ sai từ đề, hoặc mở gợi ý.

Testbench có mô hình tham chiếu riêng, độc lập với lời giải mẫu. Lời giải mẫu đã chạy qua mọi case trên simulator thật, và 4 bản lỗi mẫu đều bị ít nhất một case bắt. Case mẫu sai sẽ cho biết chỗ sai đầu tiên (giá trị mong đợi so với giá trị nhận được); case ẩn chỉ báo đúng/sai.

Đang kết nối máy chấm…
Đang nạp bản nháp…

Tab để thụt lề. Nhấn Esc rồi Tab để rời trình soạn. Bản nháp tự lưu trong trình duyệt.

Gợi ý

Mỗi gợi ý mở trước khi AC giảm 10% điểm của đề.

Lời giải và phân tích

Lịch sử nộp bài

Chưa có lượt nào.

Độ khó: Vừa. Điểm gốc 40.