Altifigence Academy

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ỳ.

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

Qnext=(2Q+d) mod 2NQ_{next}=(2Q+d)\bmod2^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.

Không enable thì toàn trạng thái dừng
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
edge2345E0 → E1 → E2 → E3
enable101.
din10.1
q after2.34001 → 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.

Phân biệt đầu vào và giá trị lưu lúc dừng

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 traHà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ừngDữ liệu và valid cùng giữ
reset giữa chừngXóa trạng thái hợp lệ của khung trước
Khung mới liên tụcPhâ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.

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.