22 / 63 · Khái niệm
Chuyển trạng thái đồng bộ và vai trò clock
Diễn giải hệ đồng bộ như một tập thanh ghi cùng đọc trạng thái trước.
Bài học miễn phí. Đăng ký để lưu tiến độ học tập.
Toàn bộ trạng thái cùng cập nhật tại một cạnh
Gọi vector trạng thái đồng bộ là , đầu vào là , đặc tả cốt lõi là:
F là hàm trạng thái kế tiếp, G là hàm đầu ra. Clock không quyết định nội dung tính toán mà quyết định thời điểm lưu trạng thái kế tiếp đã tính. Với nhiều 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, hãy hiểu tất cả tính giá trị riêng từ cùng tập trạng thái cũ.
Q qua hàm tổ hợp F tạo đầu vào trạng thái kế tiếp. Giá trị vừa lưu quay lại làm Q của khoảng sau, tách tính toán giữa các cạnh khỏi lưu tại cạnh.
- Trạng thái Q hiện tại: Giữ giữa các cạnh clock
- F(Q, X): Tính từ đầu vào và trạng thái cũ
- Lưu tại cạnh: Kết quả trở thành Q kế tiếp
Chu kỳ clock phải thỏa đường chậm nhất
Cần thời gian để giá trị mới ra khỏi thanh ghi nguồn, đi qua mạch tổ hợp và tới thanh ghi đích. Phải còn đủ setupsetup Thời gian tối thiểu dữ liệu đầu vào phải ổn định trước cạnh clock lấy mẫu. Vi phạm thì không thể bảo đảm kết quả lưu. Tìm hiểu thêm trước cạnh kế tiếp. Mã ngắn không có nghĩa chạy được clock cao.
Chu kỳ clock 10ns tương ứng 100MHz.
Đừng bỏ qua đổi đơn vị. Nghịch đảo 1ns là 1GHz, nghịch đảo 1ps là 1THz. Chu kỳ đặt trong mô phỏng là lịch kích thích, không phải kết quả đo chứng minh mạch vật lý chạy được tần số đó.
Diễn giải tín hiệu giữa các cạnh
Đầu ra thanh ghi giữ trạng thái logic tới cạnh hợp lệ tiếp theo, còn đầu ra tổ hợp có thể đổi giữa các cạnh. Ngoại lệ cũng tùy 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. Tìm hiểu thêm đồng bộ hay bất đồng bộ. Các bài thực hành trong khóa học dùng một clock và reset đồng bộ.
Trước khi đọc dạng sóng, định nghĩa thời điểm đầu vào hợp lệ, trạng thái cập nhật và đầu ra được quan sát. Phương trình trạng thái chính xác hơn cách nghĩ phần mềm “mỗi clock chạy một dòng mã”.
Tự thử
Chu kỳ clock 200MHz là bao nhiêu? Với hai thanh ghi cùng clock a, b và a<=d; b<=a;, b có lấy a vừa cập nhật ở cạnh đó không?
Đọc giải thích
Chu kỳ là 5ns. b nhận a ngay trước cạnh. Hai thanh ghi tính giá trị mới từ cùng trạng thái cũ, nên giá trị d mới không đi qua cả hai tầng trong một cạnh.