Tôi biết cần phải đồng bộ hóa tất cả các đầu vào với FPGA trước khi sử dụng các đầu vào đó để tránh tính di động. Tôi cũng nhận thức được sự cần thiết phải đồng bộ hóa tín hiệu mà qua các lĩnh vực đồng hồ trong một FPGA duy nhất. Câu hỏi này không phải là về việc chuyển các miền đồng hồ.Có cần đăng ký cả đầu vào và đầu ra của mỗi lõi phần cứng không?
Câu hỏi của tôi là cho dù đó là một ý tưởng tốt để thường xuyên đăng ký tất cả của các đầu vào và đầu ra của mỗi mô-đun phần cứng nội bộ trong một thiết kế FPGA. Lý do là chúng ta muốn chia nhỏ các chuỗi dài của logic tổ hợp để cải thiện tốc độ xung nhịp để chúng ta có thể đáp ứng các ràng buộc thời gian cho một tốc độ đồng hồ đã chọn. Điều này sẽ bổ sung thêm chu kỳ độ trễ bổ sung tỷ lệ thuận với số lượng mô-đun mà tín hiệu phải vượt qua. Đây có phải là ý tưởng hay hay không? Người ta chỉ nên đăng ký đầu vào chứ không phải đầu ra?
trả lời Tóm tắt
Rule of thumb: đăng ký tất cả các kết quả đầu ra của lõi FPGA nội bộ; không cần phải đăng ký đầu vào. Nếu một đầu ra đã đến từ một thanh ghi, chẳng hạn như thanh ghi trạng thái của một máy trạng thái, thì không cần phải đăng ký lại.
Tôi đã nói chuyện với một người cũng chỉ đưa ra lời khuyên tương tự khi đăng ký đầu ra. –
Tôi thường phân vùng mô-đun để kết quả đầu ra datapath là sổ đăng ký. Mặc dù điều này chắc chắn không phải là một quy tắc. –