Ưu tiên reset và enable
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 16 trên 38.
Một khối có xung nhịp có thể giữ giá trị trong thanh ghi bằng cách bỏ qua phép gán ở các cạnh bị vô hiệu hóa. Cách lưu trữ có chủ ý này khác với chốt tổ hợp được tạo ra ngoài ý muốn. Hãy viết rõ thứ tự ưu tiên giữa đặt lại, nạp và bật. Ở đây, các tín hiệu đặt lại là đồng bộ: chúng chỉ có hiệu lực tại cạnh lên của xung nhịp.
Đoạn trích liên quan; các khai báo và kết nối xung quanh được cung cấp trong thử thách.
always @(posedge clk) begin
if(rst) q <= 0;
else if(en) q <= data;
endTín hiệu reset được ưu tiên khi cả hai tín hiệu điều khiển đều được kích hoạt, còn các cạnh không reset khi bị vô hiệu hóa sẽ giữ nguyên q.
Dùng một chuỗi ưu tiên đồng bộ với xung nhịp và xác định rõ hành vi đặt lại, nạp, bật và giữ.
Thử thách
Trung bìnhTriển khai một thanh ghi 8 bit q với tín hiệu đặt lại đồng bộ mức cao rst và tín hiệu cho phép en. Ở cạnh lên, tín hiệu đặt lại được ưu tiên và xóa q; nếu không, các cạnh được cho phép sẽ nạp a, còn các cạnh bị vô hiệu hóa sẽ giữ nguyên q. Các cột đầu ra: q. 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; kết quả được quan sát 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 kịch bản bằng đối số của 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 là mỗi lần quan sát có một hàng gồm các giá trị thập phân, được phân cách 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 [7:0] a, output reg [7:0] q);
// Thay phần giữ chỗ này bằng thiết kế của bạn.
initial q = 0;
endmoduleBà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 Thiết kế và xác minh RTL
1RTL tổ hợp đáng tin cậy
Giá trị mặc định ngăn chốtBộ mã hóa ưu tiênKiểm tra one-hotGiải mã case an toànÔn tập: Bộ định tuyến yêu cầu4RTL tuần tự có điều khiển
Ưu tiên reset và enableBộ đếm bão hòaPipeline dữ liệu và validPhát hiện cạnh tín hiệu đã lấy mẫuÔn tập: bộ đếm sự kiệnTự luyện tập: Trình biên dịch Verilog online