Menu
CoddyTech

Thử thách: Sự kiện theo mẫu

Thuộc phần Thiết kế và xác minh RTL trong hành trình Verilog của Coddy. Bài học 37 trên 38.

challenge icon

Thử thách

Trung bình

Phát hiện mẫu bit 101 trong các mẫu đầu vào được chấp nhận. en=1 chấp nhận bit_in ở cạnh lên; en=0 giữ nguyên trạng thái khớp một phần và tạo ra hit=0. Chỉ đặt hit=1 đã đăng ký khi một bit được chấp nhận hoàn tất mẫu 101. Cho phép các kết quả khớp chồng lấp: 10101 tạo ra hai xung. rst đồng bộ xóa trạng thái và hit, được ưu tiên hơn en. Các cột đầu ra: hit. Tất cả tín hiệu điều khiển và dữ liệu đều ổn định trước mỗi cạnh lên của xung nhịp; quan sát kết quả sau đó.

Hoàn thành design.v và giữ nguyên tên mô-đun cùng các cổng. testbench.v bị khóa sẽ cung cấp các thay đổi đầu vào và in ra đầu ra sau khi chúng ổn định. Tệp này chọn một tình huống bằng đối số cho trình mô phỏng, chẳng hạn như +CASE=1; không cần đầu vào tiêu chuẩn. Không thêm lệnh in, độ trễ hoặc lệnh kết thúc mô phỏng vào thiết kế. Đầu ra mong đợi gồm một hàng giá trị thập phân cho mỗi lần quan sát, cách nhau bằng một dấu cách và kết thúc bằng ký tự xuống dòng.

Tự làm thử

module dut (input clk, input rst, input en, input bit_in, output reg hit);
    // Thay phần giữ chỗ này bằng thiết kế của bạn.
    initial hit = 0;
endmodule

Tất cả bài học trong Thiết kế và xác minh RTL

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