biểu tượng intelAN 824 FPGA SDK cho OpenCL Board
Gói hỗ trợ Floorplan
Hướng dẫn sử dụng

 Intel® FPGA SDK dành cho Gói hỗ trợ bảng OpenCL ™ Hướng dẫn tối ưu hóa Sơ đồ tầng
SDK Intel/® FPGA dành cho Gói hỗ trợ bo mạch OpenCL™ (BSP) Hướng dẫn tối ưu hóa sơ đồ tầng cung cấp các hướng dẫn sơ đồ tầng cho OpenCL) BSP. Nó cũng cung cấp hướng dẫn về cách bạn có thể có được hạt giống cơ sở với tần suất hoạt động tối đa trung bình tốt nhất và đánh giá hiệu quả sử dụng tài nguyên của BSP.
Tài liệu này giả định rằng bạn đã quen thuộc với các khái niệm OpenCL(2) như được mô tả trong Đặc tả OpenCL phiên bản 1.0 của Khronos Group.

Luồng biên dịch OpenCL BSP
OpenCL BSP hỗ trợ các loại luồng biên dịch sau:

  • Biên dịch phẳng [–bsp-flow phẳng]: Thực hiện biên dịch phẳng toàn bộ thiết kế (BSP cùng với phần cứng được tạo nhân).
  • Biên dịch cơ sở [–bsp-flow base]: Thực hiện biên dịch cơ sở bằng cách sử dụng các hạn chế LogicLock từ base.qsf file. Mục tiêu xung nhịp nhân được nới lỏng để phần cứng BSP có nhiều tự do hơn để đáp ứng thời gian. Cơ sở dữ liệu base.qar được tạo để bảo vệ phần cứng BSP, là vùng tĩnh.
  • Biên dịch nhập khẩu [ ]: Khôi phục vùng tĩnh đã đóng thời gian từ cơ sở dữ liệu base.qar và chỉ biên dịch phần cứng do nhân tạo ra. Nó cũng tăng mục tiêu xung nhịp nhân để đạt được tần số hoạt động tối đa của nhân (fmax) tốt nhất.

Phân vùng sơ đồ tầng OpenCL BSP
Sơ đồ tầng OpenCL BSP chủ yếu được chia thành hai vùng sau:

  • Vùng tĩnh: Đại diện cho vùng có phần cứng liên quan đến BSP vẫn ở trạng thái tĩnh. Thời gian được đóng cho khu vực này trong quá trình biên dịch cơ sở. Nói chung, mục tiêu là giảm thiểu tài nguyên chip được khu vực này sử dụng để đóng thời gian.
  • Vùng nhân: Đại diện cho vùng cấu hình lại một phần (PR) được dành riêng cho mô-đun freeze_wrapper_inst|kernel_system_inst chứa nhân. Nhìn chung, mục tiêu là dành nguồn tài nguyên chip ở mức tối đa cho khu vực này.
  1. Intel FPGA SDK dành cho OpenCL dựa trên Thông số kỹ thuật Khronos đã xuất bản và đã vượt qua Quy trình kiểm tra sự phù hợp của Khronos. Tình trạng tuân thủ hiện tại có thể được tìm thấy tại www.khronos.org/conformance.
  2. OpenCL và logo OpenCL là thương hiệu của Apple Inc. và được sử dụng dưới sự cho phép của Khronos Group™.

Tập đoàn Intel. Đã đăng ký Bản quyền. Intel, logo Intel và các nhãn hiệu khác của Intel là thương hiệu của Tập đoàn Intel hoặc các công ty con của Tập đoàn. Intel đảm bảo hiệu suất của các sản phẩm FPGA và chất bán dẫn của mình theo các thông số kỹ thuật hiện hành theo bảo hành tiêu chuẩn của Intel, nhưng bảo lưu quyền thay đổi bất kỳ sản phẩm và dịch vụ nào vào bất kỳ lúc nào mà không cần thông báo. Intel không chịu trách nhiệm hoặc trách nhiệm pháp lý phát sinh từ ứng dụng hoặc việc sử dụng bất kỳ thông tin, sản phẩm hoặc dịch vụ nào được mô tả ở đây trừ khi được Intel đồng ý rõ ràng bằng văn bản. Khách hàng của Intel nên lấy phiên bản mới nhất của thông số kỹ thuật thiết bị trước khi dựa vào bất kỳ thông tin được công bố nào và trước khi đặt hàng sản phẩm hoặc dịch vụ.
*Các tên và thương hiệu khác có thể được coi là tài sản của người khác.

Nguyên tắc dành cho OpenCL BSP Floorplanning

  • Bắt đầu với quá trình biên dịch phẳng để hiểu vị trí tất cả các thành phần chính của BSP được đặt một cách tự nhiên (đặc biệt là các khối IP có kết nối I/O như PCIe hoặc DDR). Trong khi thiết kế BSP, bạn có thể phải xem xét việc thiết lập các đường ốngtages ở giữa các IP để đóng thời gian. Trước tiên, bạn nên chạy quét hạt biên dịch phẳng để xác định các đường dẫn bị lỗi lặp lại, sau đó cố gắng khắc phục chúng.
    Mẹo: — Tỷ lệ đóng thời gian tốt so với quét hạt biên dịch phẳng sẽ có cơ hội đóng thời gian biên dịch cơ sở cao hơn.
    — Nếu bạn quan sát thấy các lỗi nhất quán trong mm_interconnect* (thành phần được thêm bởi Qsys), thì hãy mở Hệ thống bằng Qsys Interconnect viewer và quan sát sự phức tạp của kết nối bị lỗi. Bạn có thể thêm flipflop đường ống trong viewer để cải thiện thời gian. Nếu bạn vẫn không thể giải quyết vấn đề, bạn có thể phải chia nhỏ đường dẫn quan trọng mm_interconnect* bằng cách thêm cầu nối đường ống Avalon.
  • Trong quá trình biên dịch cơ sở, hãy bắt đầu với LogicLock trên vùng nhân có chứa freeze_wrapper_inst|kernel_system_inst. Không có giới hạn nào khác, Intel Quartus Prime có thể đặt phần cứng BSP một cách tự do trong vùng tĩnh còn lại của chip. Sử dụng trình biên dịch phẳng và trình lập kế hoạch chip để xác định kích thước và vị trí của phần cứng BSP, chẳng hạn như PCIe và DDR. Sau đó, dự trữ vùng hạt nhân bằng cách sử dụng LogicLock trong khi tránh các vùng nhóm chính của phần cứng BSP.
    Mẹo: Nếu họ chip được sử dụng giống với nền tảng tham chiếu và nếu các thành phần BSP tương tự nhau, thì có thể bắt đầu với các vùng LogicLock cho freeze_wrapper_inst|kernel_system_inst được vận chuyển cùng với BSP tham chiếu OpenCL và khắc phục lỗi sẽ nhanh hơn.
  • Bạn có thể thêm các thành phần bổ sung sau vào BSP của mình:
    — Ngân hàng bộ nhớ: Nếu bạn thêm nhiều ngân hàng bộ nhớ, bạn nên xác định vị trí ngân hàng I/O vì bạn có thể cần thêm cầu nối đường ống để đáp ứng thời gian.
    — Kênh I/O: Bạn có thể thêm các kênh I/O như video, Ethernet hoặc giao diện nối tiếp. Nếu bạn thêm các kênh I/O, bạn nên xác định vị trí ngân hàng I/O vì bạn có thể cần phải áp dụng các vùng LogicLock mới cho đường ống dẫn nếu khó đóng thời gian.
    Mẹo: Nếu bạn cần thêm cầu nối đường ống (ví dụ:ample, do độ trễ định tuyến lớn gây ra lỗi định thời), sau đó xem xét khoảng cách định tuyến từ logic nguồn đến đích trong chip và giải phóng một số không gian dành riêng cho vùng nhân.
  • Thực hiện theo các hướng dẫn chung này khi đặt trước các vùng LogicLock cho nhân:
    — Cố gắng đặt tất cả các cột DSP trong kernel_system trừ khi BSP yêu cầu.
    — Cố gắng dành nhiều tài nguyên hơn cho kernel_system.
    — Cố gắng giữ số lượng rãnh trong vùng nhân ở mức tối thiểu.
    Hình dưới đây minh họa một rãnh khía đã được thêm vào để đặt cầu nối giữa dải PCIe và DDR.

Hình 1. Sơ đồ tầng OpenCL BSP cho Intel Arria® 10 GX trong Bản phát hành 17.0

intel AN 824 FPGA SDK cho gói hỗ trợ bo mạch OpenCL Sơ đồ tầng

Hướng dẫn về tần suất hoạt động tối đa
Tần số hoạt động tối đa (fmax) mà các nhân đạt được phần lớn phụ thuộc vào tốc độ FPGA do hầu hết các IP đã được tối ưu hóa . Tuy nhiên, có thể có một số fmax bị mất tùy thuộc vào sơ đồ tầng BSP. Đối với người yêu cũample, thông thường số lượng phần bị cắt trong vùng nhân của BSP ảnh hưởng đến fmax của nhân.
Như được minh họa trong hình dưới đây, để có được hạt giống cơ sở tốt nhất mang lại fmax trung bình tốt nhất:

  1. Thực hiện quét hạt giống trên phần tổng hợp cơ sở thay vì chọn hạt giống cơ sở đầu tiên đáp ứng thời gian.
  2. Thực hiện biên dịch nhập (bằng cách sử dụng một vài hạt nhân từ phiên bản cũample thiết kế) trên tất cả các hạt giống cơ sở đi qua.
  3. Tính fmax trung bình cho tất cả các hạt giống cơ sở.
  4. Chọn giống gốc có fmax trung bình cao nhất.
    Hạt giống cơ sở có fmax trung bình tốt nhất là một ứng cử viên sáng giá để phát hành với BSP. Nếu bạn quyết định thực hiện theo một cách tiếp cận khác với các bước được đề xuất, bạn có thể quan sát thấy sự thay đổi 5-10% trong fmax của quy trình biên dịch nhập nhân.

Hình 2. Xác định hạt giống gốc tốt nhấtintel AN 824 FPGA SDK dành cho gói hỗ trợ bo mạch OpenCL Sơ đồ tầng - hình

  • Để hiểu kernel có thể chạy nhanh như thế nào mà không bị hạn chế sơ đồ tầng:
    1. Thực hiện biên dịch phẳng hạt nhân và quan sát fmax.
    2. Thực hiện biên dịch nhập trên cùng một nhân và quan sát fmax.
    3. So sánh kết quả fmax.
    Do các hạn chế về sơ đồ tầng, fmax biên dịch nhập luôn thấp hơn fmax biên dịch phẳng. Để tránh nhiễu hạt, hãy biên dịch kernel với nhiều hạt cơ bản hơn và xem xét fmax trung bình trong khi so sánh kết quả fmax.
  • Đừng bao giờ so sánh kernel fmax từ một trình biên dịch cơ bản với một trình biên dịch phẳng hoặc nhập. Các mục tiêu đồng hồ hạt nhân được nới lỏng trong quá trình biên dịch cơ sở và do đó, bạn sẽ không bao giờ đạt được kết quả tốt.
  • Quan sát đường dẫn quan trọng của đồng hồ nhân trong quá trình biên dịch cơ sở hoặc nhập khẩu. Nếu đường dẫn quan trọng đang đi từ hạt nhân đến vùng tĩnh trong sơ đồ tầng, hãy thay đổi sơ đồ tầng hoặc chạy thêm một vài hạt giống cơ sở để tránh đường dẫn quan trọng này.

Hướng dẫn Đánh giá Hiệu quả Sử dụng Tài nguyên của BSP

Tỷ lệ sử dụng tài nguyên càng caotage, việc sử dụng vùng trong vùng tĩnh của BSP của bạn càng tốt. Tỷ lệ sử dụng tài nguyên caotage cũng ngụ ý rằng có nhiều tài nguyên hơn cho vùng nhân.
Thực hiện theo các bước bên dưới để tính phần trăm sử dụng tài nguyêntage của BSP của bạn:

  1. Nhận các giá trị cho tất cả các tài nguyên trong FPGA từ top.fit.rpt hoặc base.fit.rpt có sẵn trong phần Thống kê phân vùng của báo cáo Fitter.
  2. Khấu trừ giá trị cho “freeze_wrapper_inst|kernel_system_inst” (vùng nhân).

Mẹo:
Tập trung nhiều hơn vào các giá trị của mô-đun logic thích ứng (ALM) hơn là các giá trị của các tài nguyên khác. Đảm bảo rằng phần trăm sử dụng tài nguyêntage cho ALM gần với BSP tham chiếu OpenCL hơn. Phần trăm rất caotage đối với ALM có thể dẫn đến tắc nghẽn, điều này có thể làm tăng thời gian biên dịch và dẫn đến tắc nghẽn định tuyến trong các nhân phức tạp. Tuy nhiên, bạn luôn có thể tăng hoặc giảm diện tích vùng tĩnh và quan sát thời gian biên dịch và fmax.
Bảng sau đây phản ánh việc sử dụng tài nguyên OpenCL BSP của các thiết bị Arria ® 10 GX trong bản phát hành 17.0.

Bảng 1.
Sử dụng tài nguyên OpenCL BSP của các thiết bị IntelArria 10 GX trong Bản phát hành 17.0

Tổng số có sẵn Dành riêng cho hạt nhân Có sẵn cho BSP Được BSP sử dụng 0/0
ALM 427200 393800 33400 23818. 71%
Đăng ký 1708800 1575200 133600 38913 29%
M2OK 2713 2534 179 134 75%
DSP 1518 1518 0 0 Không có

Quan sát rằng sơ đồ tầng được thực hiện theo cách sao cho vùng tĩnh sẽ không có bất kỳ khối DSP nào.

Lịch sử sửa đổi tài liệu

Bảng 2.
Lịch sử sửa đổi tài liệu của Intel FPGA SDK dành cho gói hỗ trợ bo mạch OpenCL Hướng dẫn tối ưu hóa sơ đồ tầng

Ngày Phiên bản Thay đổi
Ngày 17 tháng XNUMX Phiên bản phát hành đầu tiên.

biểu tượng Phiên bản trực tuyến
Cardo 590878 Spirit Bluetooth Connection - Biểu tượng 14 Gửi phản hồi
Mã số: 683312
AN-824
Phiên bản: 2017.08.08
AN 824: Intel® FPGA SDK dành cho bo mạch OpenCL™

Gói Hỗ trợ Hướng dẫn Tối ưu Sơ đồ Tầng

Tài liệu / Tài nguyên

intel AN 824 FPGA SDK cho gói hỗ trợ bo mạch OpenCL Sơ đồ tầng [tập tin pdf] Hướng dẫn sử dụng
AN 824 FPGA SDK cho Sơ đồ tầng gói hỗ trợ bo mạch OpenCL, AN 824, SDK FPGA cho sơ đồ tầng gói hỗ trợ bo mạch OpenCL, sơ đồ tầng gói hỗ trợ bo mạch OpenCL, sơ đồ tầng gói hỗ trợ bo mạch, sơ đồ tầng gói hỗ trợ, sơ đồ tầng gói, sơ đồ tầng

Tài liệu tham khảo

Để lại bình luận

Địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu *