Altifigence Academy

30 / 63 · Khái niệm

Trạng thái kế tiếp và ưu tiên reset của bộ đếm

Gộp tăng, giữ, reset và quay vòng vào một đặc tả rồi tính từng cạnh.

Định nghĩa chức năng bằng trạng thái kế tiếp trước

Thêm reset đồng bộ và enable cho bộ đếm tăng tự do NN bit được:

Ck+1={0rk=1(Ck+1) mod 2Nrk=0, ek=1Ckrk=0, ek=0C_{k+1}=\begin{cases} 0&r_k=1\\ (C_k+1)\bmod2^N&r_k=0,\ e_k=1\\ C_k&r_k=0,\ e_k=0 \end{cases}

ResetReset Điều khiển đưa trạng thái về giá trị đầu đã định. Phải quy định đồng bộ hay bất đồng bộ và ưu tiên so với các điều khiển khác. ưu tiên cao nhất, enable=0 thì giữ. Trong hình minh họa bên dưới, bạn có thể thay đổi enable để so sánh hoạt động tăng và giữ nguyên.

Từ q ban đầu=11, chọn reset=1 thì chỉ trạng thái kế tiếp đổi thành 00. Nhấn clock tiếp theo để xem lúc giá trị lưu thật đổi. Nhả reset, đi qua 00→01→10→11→00; khi enable=0, kiểm tra chỉ số cạnh tăng nhưng q giữ.

Tự so sánh trạng thái trước và sau cạnh lên

Reset đồng bộ ưu tiên hơn enable. Khi enable=0, giữ giá trị đang lưu. q=11; q_next = (q + 1) mod 4

Lập bảng dự đoán từng cạnh

Bộ đếm hai bit bắt đầu ở 3, reset=1 tại cạnh đầu rồi trở về 0, sẽ có giá trị sau cạnh 0, 1, 2, 3, 0. Dù reset được nâng giữa các clock, thanh ghiThanh ghi Mạch lưu trạng thái nhiều bit. Thanh ghi đồng bộ trong khóa học lưu đầu vào đã quy định tại cạnh clock. Tìm hiểu thêm đồng bộ không về 0 ngay trước cạnh lênCạnh lên Khoảnh khắc clock chuyển 0 sang 1, khác với mức cao chỉ cả khoảng CLK=1. Tìm hiểu thêm.

Cạnhreset trước cạnhC cũC cập nhật
1130
2001
3012
4023
5030

Mỗi cột ghi lại quan sát tại một cạnh lên. Đầu vào là giá trị ngay trước cạnh, còn trạng thái có tên chứa after là giá trị ngay sau cập nhật. Cách căn cột thể hiện thứ tự lấy mẫu, không mô tả độ trễ lan truyềnĐộ trễ lan truyền Thời gian từ khi đầu vào đổi đến khi đầu ra ổn định ở giá trị đúng. Tương đương logic và đặc tính thời gian là hai vấn đề riêng. Tìm hiểu thêm vật lý. Bắt đầu ở 3, reset ở cạnh đầu được ưu tiên hơn tăng. Cạnh cuối quay 3 về 0.

Reset và quay vòng của bộ đếm hai bit
Xem dữ liệu dạng sóng
Dữ liệu dạng sóng: mỗi ký tự là một khoảng; dấu chấm giữ trạng thái trước; p là một chu kỳ đồng hồ.
Tín hiệuDạng sóngGiá trị bus
edge23452E0 → E1 → E2 → E3 → E4
reset10...
count before2345211 → 00 → 01 → 10 → 11
count after2345200 → 01 → 10 → 11 → 00

Không trộn ý nghĩa reset

if(rst) trong always_ff @(posedge clk) là reset đồng bộ, không giống reset bất đồng bộ thêm cạnh reset vào danh sách sự kiện. Nhả reset bất đồng bộ có điều kiện recovery/removal riêng; không đổi loại reset chỉ vì nó đưa trạng thái về 0 nhanh hơn.

Nếu bộ đếm tạo xung định kỳ, phải quy định trạng thái phát xung. Xuất 1 trong suốt trạng thái cực đại hay xuất một chu kỳ sau cạnh quay về 0 sẽ cho biểu thức và điểm quan sát khác nhau.

Tự thử

Bộ đếm ba bit đang là 7. Cạnh đầu rst=0, en=0; cạnh sau rst=0, en=1. Các trạng thái là gì?

Đọc giải thích

Cạnh đầu giữ 7, cạnh sau quay phạm vi ba bit về 0. Muốn giữ được 8 cần rộng hơn hoặc chính sách bão hòa/báo lỗi riêng.

Lựa chọn áp dụng cho trình duyệt này. Có thể đổi ở chân trang bất cứ lúc nào.