42 / 63 · Khái niệm
Kiểm chứng mạch dịch và căn chỉnh dữ liệu, valid
Tìm lỗi bị mẫu đối xứng che và tín hiệu valid lệch một chu kỳ.
Bài học miễn phí. Đăng ký để lưu tiến độ học tập.
Chọn chuỗi bit làm lộ lỗi
Chỉ dịch 0000 hoặc 1111 sẽ che lỗi đảo hướng. Dùng mẫu không đối xứng như 1000 hoặc chỉ một bit 1 để theo từng vị trí. Chỉ dùng trạng thái đầu toàn 0 cũng có thể bỏ lỡ một số lỗi khởi tạo và giữ.
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 ba bit ban đầu 000, nhận 1,0,0 cho 001→010→100. Cài hướng ngược cho 100→010→001, phân biệt ngay cạnh đầu.
Rà tham chiếu bằng hai cách biểu diễn
So mô hình số này với RTL sliceSlice Chọn dải bit liên tiếp trong vector. Phạm vi chọn quyết định độ rộng và thứ tự bit kết quả. Tìm hiểu thêm và nối tại mỗi cạnh hợp lệ. N=3 đủ nhỏ để kiểm toàn bộ tám trạng thái và hai đầu vào, tức 16 chuyển; thêm riêng tổ hợp reset và enable.
Mỗi cột ghi lại quan sát tại một 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. Đầ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ý. Ban đầu q=000. Cạnh thứ hai enable=0, dù din đổi vẫn giữ q=001. Đếm riêng số cạnh và số lần nhận.
Xem dữ liệu dạng sóng
| Tín hiệu | Dạng sóng | Giá trị bus |
|---|---|---|
| edge | 2345 | E0 → E1 → E2 → E3 |
| enable | 101. | |
| din | 10.1 | |
| q after | 2.34 | 001 → 010 → 101 |
Tái hiện dạng sóng: din=1 đi một cạnh tạo 001; enable=0, din=0 đi thêm một cạnh vẫn 001. Bật lại enable, áp din=0,1 được 010,101. Mô hình chỉ xét thanh ghi dữ liệu; phần sau kiểm tra riêng valid cũng phải dừng theo cùng enable.
Reset đồng bộ ưu tiên hơn enable. Khi enable=0, giữ giá trị đang lưu. q=000; q_next = (2q + din) mod 8
Valid cũng là một phần đường dữ liệu
Chỉ dừng dữ liệu nhưng valid vẫn dịch, hoặc dữ liệu dịch nhưng valid dừng, sẽ khiến phía dùng đầu ra tiêu thụ sai mẫu. Chỉ chứng minh “bit đầu ra đúng” không đủ kết luận giao diện đúng.
| Kiểm tra | Hành vi kỳ vọng |
|---|---|
| Đầu vào bình thường liên tục | Đúng thứ tự bit và trễ hợp lệ cố định |
| enable=0 giữa chừng | Dữ liệu và valid cùng giữ |
| reset giữa chừng | Xóa trạng thái hợp lệ của khung trước |
| Khung mới liên tục | Phân biệt cuối khung cũ và đầu khung mới |
Ghi thêm số thứ tự nhận đầu vào khi phân tích lỗi để không nhầm với số clock thực. Giữ phản ví dụ tối thiểu có ranh giới khung hiệu quả hơn xem lại cả dạng sóng dài.
Tự thử
Thanh ghi dữ liệu chỉ dịch khi enable=1, nhưng đường trễ valid dịch mỗi clock. Đầu vào nào dễ làm lộ lỗi nhất?
Đọc giải thích
Chèn cạnh dừng enable=0 giữa hai dữ liệu khác nhau. Sẽ thấy valid tới trước hoặc gắn vào dữ liệu khác. So với tham chiếu dùng cùng điều kiện chấp nhận cho dữ liệu và metadata.