Là đồ họa của tôi ngoài tài nguyên định tuyến?


9

Tôi có một thiết kế Bộ điều khiển Nối tiếp ATA hoạt động trên hầu hết mọi loại thiết bị Xilinx 7-series, ngoại trừ thiết bị Artix-7, khiến tôi đau đầu ...

Thiết kế thuần túy (SATA 6.0Gb / s, đồng hồ thiết kế 150 MHz) có thể được triển khai trên Artix-7 200T của tôi. Nếu tôi thêm lõi ILA (trước đây gọi là ChipScope), thời gian không được đáp ứng.

Tôi đã làm gì để giải quyết tình huống: - thêm 2 giai đoạn đường ống trong mỗi lõi ILA - thêm 1 giai đoạn đường ống giữa bộ thu phát GTP và logic - sử dụng tính toán lại, ánh xạ lại và vị trí rộng làm chiến lược triển khai thay thế

Hình ảnh này cho thấy dòng chảy thiết kế bình thường. Các lõi ILA nằm cách xa SATAContler (SATAC) và CPU 8 bit ( SoFPGA ), nhưng bộ điều khiển vẫn có các đường dẫn bị lỗi (đó là khu vực duy nhất có các đường dẫn bị lỗi).

nhập mô tả hình ảnh ở đây

Có cảm giác như Artix-7 không có tài nguyên định tuyến ở một số khu vực. Làm thế nào tôi có thể nhận được một báo cáo chỉ ra một sự nghi ngờ như vậy?

Tôi cũng đã thử đánh giá lại, ánh xạ lại và chiến lược vị trí rộng hơn. Kết quả là thế này:

nhập mô tả hình ảnh ở đây

Thất bại thời gian gần như giống nhau ...

PS Thiết kế chỉ sử dụng 178 trong số> 300 BlockRAM. Tôi đã sử dụng Xilinx ISE để sử dụng hầu hết mọi BlockRAM trong các thiết kế khác, nhưng tôi chưa bao giờ gặp phải một hành vi như vậy.

Biên tập:

Dưới đây là bản đồ nhiệt của tất cả các giá trị độ chùng âm trên mỗi Slice (được tô màu đỏ) nhập mô tả hình ảnh ở đây


3
Trong Altera Quartus có một thứ gọi là các vùng LogicLock cho phép bạn giới hạn một phân vùng hoặc một đoạn logic đến một vùng cụ thể. Tôi đoán sẽ có một cái gì đó tương tự cho Xilinx (mặc dù không chắc nó sẽ được gọi là gì). Nếu bạn có thể làm điều đó, bạn nên hạn chế ILA đến một khu vực cách xa logic của bạn (để ngăn chặn nó thay thế những thứ quan trọng) và thêm đường ống dẫn (không bị ràng buộc vào khu vực) để giúp định thời gian.
Tom Carpenter

2
Đây cũng có thể là trường hợp đường dẫn sai giữa miền đồng hồ của ILA và bất kỳ miền đồng hồ nào khác gây ra đường dẫn sai dẫn đến nỗ lực thêm của bộ đệm (khiến đường dẫn thực được xử lý ít ưu tiên hơn và do đó không đúng thời gian)
Tom Carpenter

2
Tôi đã gặp vấn đề tương tự với SignalTap (một lần nữa là Altera tương đương với ILA), với các đường dẫn bị lỗi do các đường dẫn nhạy cảm bị đẩy ra bởi logic tap muốn gần hơn với các tín hiệu được gõ. Nó đã xảy ra chủ yếu ở nơi có mật độ BRAM cao vì các BRAM của SignalTap đang buộc các BRAM khác cách xa nhau. Khi SignalTap bị giới hạn ở một khu vực ít nghiêm trọng hơn, các vấn đề sẽ biến mất.
Thợ mộc Tom

@TomCarpenter Các ràng buộc vị trí được gọi là PBlock :). Theo như tôi có thể nói, không có tế bào ILA trong khu vực SoFPGA hoặc SATAC, chúng được phân tách qua 3 giai đoạn FF trên mỗi trong số 151 tín hiệu theo dõi. Thiết kế được thăm dò chạy trong cùng miền đồng hồ với ILA (150 MHz). Tất cả các đường dẫn đều bị hạn chế (không bị giới hạn, không có đường dẫn giữa các đồng hồ bị lỗi). Tất cả các đường dẫn thất bại được đề cập đều nằm trong cùng một miền đồng hồ, trong SATAC hoặc trong chính ILA. Tôi tìm thấy một báo cáo tắc nghẽn định tuyến, trong đó cho biết khoảng 54% sử dụng (hor. Và vert.). Xin vui lòng xem phủ định của tôi. bản đồ nhiệt chùng thêm vào câu hỏi của tôi.
Paebbels

1
Tôi đã tìm thấy 2 vấn đề: Lúc đầu, Artix-7 chậm hơn 15 đến 50% so với Kintex-7. Nếu tôi thay đổi cấp tốc độ mặc định từ -2 thành -3 thì tất cả đều ổn (có biên độ an toàn là 200 ps so với độ trễ 670 ps âm. Vì vậy, cấp tốc độ -3 cải thiện đường dẫn 6.600 ns gần 0,970 ns! có vẻ như việc đính kèm thuần túy các tín hiệu theo dõi gây ra quạt cao hơn, gây ra vấn đề về thời gian. Ngoài ra, các tuyến theo dõi đi qua miền đồng hồ 100 MHz cho CPU 8 bit, do đó gây ra (một trong 5 lần chạy) các vấn đề trong miền đồng hồ đó. Vì vậy, các dòng / tuyến đường dài gây ra sự cố trên các dòng khác.
Paebbels

Câu trả lời:


1

Bạn có thể nhận được một báo cáo chi tiết bằng cách phân tích thiết kế trong Xilinx Vivado. Chạy lệnh sau trong bảng điều khiển tcl: "report_design_analysis" Nó cung cấp cho bạn báo cáo thời gian, độ phức tạp và tắc nghẽn của thiết kế được triển khai. Bạn cũng có thể chạy báo cáo này thông qua việc đi tới Công cụ-> Báo cáo-> Báo cáo Design_analysis.

Trong báo cáo này, bạn có thể thấy khu vực nào đang gây tắc nghẽn do đặt. Những lát nào được sử dụng đầy đủ hoặc tiền thuê của các lát và / hoặc tuyến đó là bao nhiêu.

Tôi hy vọng điều này là có ích.

Trân trọng, KWQ


Cảm ơn cho báo cáo này (với tôi không biết). Nó khác với hình ảnh cuối cùng của tôi (bản đồ nhiệt thời gian) như thế nào?
Paebbels
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.