Khi bạn cố gắng biên dịch một SCTL với logic phức tạp hoặc ở tần số xung nhịp cao, bạn có thể gặp phải lỗi “timing violation”. Đây không phải là lỗi cú pháp, mà là một thông báo từ trình biên dịch rằng thiết kế của bạn không thể đáp ứng được các ràng buộc về thời gian vật lý.
Đường dẫn Tới hạn (Critical Path)
Bên trong một SCTL, Critical Path là đường đi có độ trễ lan truyền tín hiệu dài nhất, tính từ một thanh ghi đầu vào đến một thanh ghi đầu ra. Độ trễ này là tổng của hai thành phần:
- Độ trễ Logic (Logic Delay): Thời gian tín hiệu cần để đi qua các cổng logic (trong các LUTs, DSPs, …).
- Độ trễ Định tuyến (Routing Delay): Thời gian tín hiệu cần để di chuyển trên các đường nối vật lý giữa các khối logic trên chip.
Lỗi “timing violation” xảy ra khi điều kiện sau bị vi phạm:
Tổng độ trễ của Critical Path > Chu kỳ Xung nhịp
Ví dụ, nếu bạn đặt SCTL chạy ở 100MHz (chu kỳ 10ns), nhưng Critical Path trong thiết kế của bạn cần 12ns để tín hiệu ổn định, quá trình biên dịch sẽ thất bại. LabVIEW FPGA cung cấp công cụ “Timing Violation Analysis” để làm nổi bật Critical Path trực tiếp trên sơ đồ khối, giúp bạn xác định chính xác vị trí cần tối ưu.