Tôi đang làm việc trên một thiết kế đồ họa lớn và tôi rất gần với giới hạn tài nguyên của FPGA mà tôi hiện đang sử dụng, Xilinx LX16 trong gói CSG225.
Thiết kế cũng gần như hoàn thiện, tuy nhiên hiện tại nó sẽ không còn phù hợp với đồ họa. Tôi có thể tắt các bộ phận để làm cho nó phù hợp, tuy nhiên tôi cần giảm việc sử dụng tài nguyên để hoàn thành thiết kế và đáp ứng yêu cầu về thời gian và kích thước.
Tôi muốn biết liệu có bất kỳ công cụ nào mà báo cáo của chúng tôi có thể giúp tôi xác định phần nào trong thiết kế của tôi đang tiêu tốn nhiều tài nguyên nhất không. Thiết kế của tôi không được phân vùng và được chia thành khoảng một tá hoặc nhiều mô đun VHDL.
Báo cáo thời gian của Xilinx là tuyệt vời, nhưng bây giờ tôi cần biết nơi tôi có thể có được tiếng nổ tốt nhất về mặt tiết kiệm không gian.
Tôi cũng có một thời gian khó khăn để biết loại tài nguyên nào tôi sắp hết, hoặc những gì ảnh hưởng đến các tài nguyên đó.
Một phiền toái khác là khi thiết kế trở nên lớn hơn, các thành phần được sử dụng để đáp ứng thời gian bắt đầu thất bại vì vị trí của chúng không còn lý tưởng nữa.
Hiện tại, tôi sử dụng báo cáo thời gian Post-Place và Route tĩnh và tôi sử dụng SmartXplorer. Tôi đang sử dụng các chiến lược thiết kế để tối ưu hóa thời gian.
Sau khi tắt một phần thiết kế của tôi để làm cho nó phù hợp, đây là một số kết quả:
Sử dụng thanh ghi lát: 42% Lát sử dụng LUT: 96% số cặp LUT-FF được sử dụng đầy đủ: 38% Điều này có nghĩa là tôi nhẹ về thanh ghi, nhưng nặng về sử dụng cổng?
Có các công cụ để giúp các nhà phát triển tối ưu hóa cho khu vực, hoặc ít nhất cung cấp cho họ cái nhìn sâu sắc hơn về mã của họ?
Cập nhật: Sau khi xem xét Sử dụng Cấp độ Mô-đun, tôi phát hiện ra rằng tôi có keo nhỏ không đồng bộ fifos ở khắp nơi chiếm khoảng 30% tổng số LUT. Tôi đang sử dụng chúng như keo dán tên miền chéo cho xe buýt tốc độ cao. Tôi có thể loại bỏ những thứ này, vì các đồng hồ có liên quan chặt chẽ. (Đầu vào 120 MHz, tạo ra 100 MHz và 200 MHz thông qua DCM)