OpenCL™ - BSP - Trung tâm hỗ trợ
Intel® FPGA SDK cho OpenCL™ cho phép các nhà phát triển phần mềm tăng tốc ứng dụng của họ bằng cách nhắm mục tiêu các nền tảng không đồng nhất với CPU Intel và FPGA. Intel® FPGA SDK cho OpenCL™ có thể được cài đặt như một phần của phần mềm Intel® Quartus® Prime hoặc như một gói riêng biệt. Bạn có thể tải xuống Intel FPGA SDK cho OpenCL từ liên kết bên dưới.
Chào mừng bạn đến với trang hỗ trợ OpenCL™ BSP! Tại đây bạn sẽ tìm thấy thông tin về cách lập kế hoạch, thiết kế và thực hiện OpenCL™ BSP của bạn, cũng như tìm hiểu một vài mẹo và thủ thuật cho mục đích gỡ lỗi.
Trang này được thiết lập để hướng dẫn bạn từ đầu đến cuối quá trình phát triển Gói Hỗ trợ Hội đồng Quản trị ™ OpenCL (BSP) (hoặc thiết kế / di chuyển hạt nhân / thuật toán OpenCL). Trong phần Sửa đổi Thiết kế Tham chiếu, bạn sẽ tìm thấy tài nguyên về cách sửa đổi nền tảng tham chiếu ® Intel thành nền tảng tùy chỉnh của riêng bạn cũng như cách biên dịch các thiết kế phẳng mà không bị lỗi thời gian. Phần Floorplanning và Timing Closure cung cấp hướng dẫn về cách phân vùng thiết kế của bạn và đạt được tần suất hoạt động tối đa. Nó cũng mô tả các kỹ thuật để đóng thời gian trên thiết kế của bạn và có một thời gian đóng cửa đảm bảo trong khi xây dựng một BSP. Phần TIỆN ÍCH MMD và OpenCL cung cấp các bước để xây dựng lại MMD và cung cấp thông tin chi tiết về các tiện ích OpenCL. Phần Gỡ lỗi cung cấp cho bạn một số công cụ và tài nguyên để gỡ lỗi các vấn đề bạn có thể gặp phải. Có các tài liệu và khóa đào tạo được liệt kê trong tất cả các phần hữu ích trong quá trình phát triển BSP.
1. Sửa đổi thiết kế tham chiếu
Bắt đầu
Để bắt đầu với việc phát triển BSP, hãy đảm bảo rằng bạn thực hiện các bước sau:
- Xác nhận rằng phần mềm SDK FPGA ® Intel cho OpenCL™ và phần mềm ® Quartus ® Intel được cài đặt.
- Xác minh rằng phiên bản công cụ phù hợp với BSP tham chiếu ™ OpenCL có sẵn.
- Xác nhận quyền truy cập vào giấy phép phần mềm ® Intel® Quartus đầy đủ.
Chọn Thiết kế Tham chiếu
Chọn thiết kế tham chiếu phù hợp với nền tảng tùy chỉnh của bạn
Intel hỗ trợ các thiết kế BSP tham chiếu ™ OpenCL cho các nền tảng sau. Bạn cũng có thể xem hướng dẫn chuyển mạch BSP ™ OpenCL cho một nền tảng cụ thể:
- Bộ phát triển Stratix® V PCIe * - Xem SDK FPGA ® Intel cho OpenCL™ Stratix® Hướng dẫn chuyển đổi nền tảng tham chiếu mạng V ›
- Intel® Arria® 10 BỘ PHÁT TRIỂN PCIe - Xem SDK FPGA ® Intel cho OpenCL™ Intel® Arria® 10 GX FPGA Development Kit Platform Porting Guide ›
- Intel® Arria® 10 SoC Development Kit - Xem SDK FPGA ® Intel cho OpenCL™ Intel® Arria® 10 SoC Development Kit Reference Platform Porting Guide ›
- Intel® Stratix® 10 BỘ phát triển PCIe * - Xem SDK FPGA ® Intel cho OpenCL™ Intel® Stratix® 10 GX FPGA Development Kit Platform Porting Guide ›
Sửa đổi Thiết kế Tham chiếu
Bắt đầu sửa đổi thiết kế tham chiếu cho platfrom của bạn bằng cách làm theo các bước trong hướng dẫn chuyển mạch OpenCL BSP. Bạn nên thử biên dịch nhân đầu tiên của mình. Nói chung, chúng tôi sử dụng một hạt nhân gọi là Boardtest, kiểm tra các giao diện khác nhau của BSP. Thông tin về các bước xây dựng Boardtest và BSP chung chung được đề cập trong hướng dẫn sau:
Intel® FPGA SDK cho OpenCL™ Custom Platform Toolkit User Guide (PDF) ›
Các bước được đề xuất để xây dựng BSP:
- Biên dịch Boardtest trong luồng "phẳng" để tạo tệp ".aocx" đóng thời gian
- Xác thực ".aocx" bằng cách chạy Boardtest và kiểm tra chéo các kỳ vọng băng thông giao diện từ thử nghiệm
- Bắt đầu làm việc trên sàn cho xây dựng "cơ sở" để tạo ra một OpenCL BSP đóng cửa được đảm bảo
2. Floorplanning và Đóng cửa thời gian
Bắt đầu
Trong OpenCL, chúng ta cần làm việc về thời gian cho hai sửa đổi khác nhau của dự án - căn hộ và sửa đổi cơ sở. Một bản sửa đổi phẳng là một trong những không có bất kỳ phân vùng hoặc khu vực khóa logic và sử dụng phần cứng / flat.qsf tập tin để thực hiện nó. Trong khi bản sửa đổi cơ sở là bản sửa đổi bao gồm phân vùng và khóa logic và sử dụng tệp phần cứng / base.qsf để thực hiện nó. Chúng tôi khuyên bạn nên có được một bản sửa đổi phẳng thời gian sạch trước tiên như là một khởi đầu tốt và sau đó làm việc trên sàn nhà để có được một sửa đổi cơ sở thời gian sạch của thiết kế.
Để biết thêm chi tiết về luồng biên soạn, hãy tham khảo phần OpenCL™ BSP Compilation Flow trong Intel® FPGA SDK cho OpenCL™ Board Support Package Floorplan Optimization.
Phân vùng sơ đồ sàn
Bắt đầu với việc biên soạn phẳng để hiểu nơi tất cả các thành phần chính của BSP được đặt tự nhiên (đặc biệt là các khối sở hữu trí tuệ (IP) với các kết nối I / O, chẳng hạn như bộ nhớ PCIe * hoặc DDR).
Để biết thêm hướng dẫn về điều này, hãy tham khảo Hướng dẫn cho OpenCL™ phần BSP Floorplanning trong Intel® FPGA SDK cho OpenCL™ Hướng dẫn tối ưu hóa kế hoạch sàn hỗ trợ hội đồng quản trị.
Để biết chi tiết, bạn cũng có thể tham khảo Hướng dẫn người dùng cấu hình lại một phần.
Sửa đổi Vùng PR
Trong quá trình biên soạn cơ sở, hãy bắt đầu với Vùng Khóa Logic trên hạt nhân có chứa freeze_wrapper_inst|kernel_system_inst. Sử dụng trình biên dịch phẳng và lập kế hoạch chip để xác định kích thước và vị trí của phần cứng BSP. Cố gắng dành nhiều tài nguyên hơn cho kernel_system bằng cách sử dụng Vùng Khóa Logic.
Để biết thêm hướng dẫn về điều này, hãy tham khảo Hướng dẫn cho OpenCL™ phần BSP Floorplanning trong Intel® FPGA SDK cho OpenCL™ Hướng dẫn tối ưu hóa kế hoạch sàn hỗ trợ hội đồng quản trị.
Khắc phục vi phạm thời gian
Để khắc phục vi phạm thời gian trong thiết kế, bạn có thể cần thêm các giai đoạn đường ống ở giữa các lõi IP.
Để biết thêm hướng dẫn, hãy tham khảo các liên kết sau:
Thiết lập/Giữ Ràng buộc
Các .failing_paths.rpt và .failing_clocks.rpt trong danh sách thư mục đầu ra liệt kê những thất bại lớn trong thiết kế. Nếu có một thất bại nhất quán trong một số đường dẫn , bạn có thể muốn đặt một ràng buộc độ trễ tối thiểu hoặc tối đa cho đường dẫn quan trọng đó bên trong tệp / phần cứng / top.sdc.
Đối với các vấn đề liên quan, bạn có thể tham khảo phương pháp giải quyết sau đây trên trang Cơ sở dữ liệu kiến thức -Làm thế nào để đóng thời gian đối với các vi phạm cạnh tranh và thiết lập trong Arria 10?
3. Tiện ích ™ MMD và OpenCL
Phát triển hoặc sửa đổi nguồn MMD
Thư viện phần mềm MMD thực hiện đầu vào / đầu ra cơ bản (I / O) giữa máy chủ và bảng tăng tốc và cung cấp các giao diện, chẳng hạn như mở, đọc và ghi. Trình điều khiển thư viện MMD được lưu trữ dưới dạng định dạng Windows * 64 hoặc Linux * 64 và mã nguồn được lưu trữ trong thư mục nguồn.
Để biết thêm thông tin, hãy tham khảo phần Tạo Thư viện MMD trong SDK FPGA ® Intel cho OpenCL™ Hướng dẫn người dùng Bộ công cụ Nền tảng Tùy chỉnh.
Hỗ trợ tiện ích
Các tiện ích ™ OpenCL cho phép bạn thực hiện truy cập bảng bằng cách sử dụng SDK FPGA ® Intel cho ™ OpenCL. Điều này bao gồm cài đặt aocl, gỡ cài đặt aocl, chẩn đoán aocl, chương trình aocl và đèn flash aocl.
Để biết thêm thông tin, hãy tham khảo phần Cung cấp SDK FPGA ® Intel cho OpenCL™ Tiện ích hỗ trợ trong SDK FPGA ® Intel cho OpenCL™ Hướng dẫn người dùng Bộ công cụ nền tảng tùy chỉnh.
Sau khi bạn tạo các tiện ích phần mềm và lớp MMD, thiết kế phần cứng cần được kiểm tra. Cách tiêu chuẩn là tạo ra hạt nhân boardtest và chạy trên bảng.
Để biết thêm thông tin, hãy tham khảo phần Kiểm tra Thiết kế Phần cứng trong SDK FPGA ® Intel cho OpenCL™ Hướng dẫn người dùng Bộ công cụ nền tảng tùy chỉnh.
4. Gỡ lỗi
Mang lên hội đồng quản trị
Phần này giúp bạn khắc phục sự cố trong khi đưa ra các bộ công cụ phát triển FPGA ® Intel hoặc bảng tùy chỉnh của riêng bạn.
Để tìm hiểu một số vấn đề đã biết mà bạn có thể gặp phải trong khi đưa lên bảng của mình, hãy tham khảo các phần sau trong AN 807: Cấu hình Bộ phát triển FPGA 10 GX ® Intel cho Intel® FPGA SDK cho OpenCL™ Application Note:
- Phần khắc phục sự cố ›
- Lỗi có thể xảy ra sau khi chạy phần Tiện ích Chẩn đoán ›
Kế hoạch sàn và thời gian
Để biết các mẹo và thủ thuật sử dụng diện tích tối thiểu cho logic tĩnh và để lại nhiều không gian hơn cho nhân OpenCL™ của bạn, bạn có thể tham khảo An 824: Intel® FPGA SDK cho OpenCL™ Hướng dẫn tối ưu hóa kế hoạch sàn gói hỗ trợ hội đồng quản trị.
Gỡ lỗi thời gian chạy
Có một số biến môi trường nhất định có thể được thiết lập để có thêm thông tin gỡ lỗi trong khi chạy ứng dụng máy chủ. Đây là Intel® FPGA SDK cho OpenCL™ các biến môi trường cụ thể, có thể giúp chẩn đoán các vấn đề với thiết kế nền tảng tùy chỉnh.
Bảng sau đây liệt kê tất cả các biến môi trường này cũng như mô tả chúng một cách chi tiết.
Biến môi trường |
Sự miêu tả |
ACL_HAL_DEBUG |
Đặt biến này thành giá trị từ 1 đến 5 để tăng đầu ra gỡ lỗi từ Lớp trừu tượng phần cứng (HAL), giao tiếp trực tiếp với lớp MMD. |
ACL_PCIE_DEBUG |
Đặt biến này thành giá trị từ 1 đến 10000 để tăng đầu ra gỡ lỗi từ MMD. Cài đặt biến này rất hữu ích để xác nhận rằng đăng ký ID phiên bản đã được đọc chính xác và lõi IP UniPHY được hiệu chỉnh. |
ACL_PCIE_JTAG_CABLE |
Đặt biến này để ghi đè đối số quartus_pgm mặc định chỉ định số cáp. Mặc định là cáp 1. Nếu có nhiều Cáp tải xuống FPGA ® Intel, bạn có thể chỉ định một cáp cụ thể bằng cách đặt biến này. |
ACL_PCIE_JTAG_DEVICE_INDEX |
Đặt biến này để ghi đè đối số quartus_pgm mặc định chỉ định chỉ mục thiết bị FPGA. Theo mặc định, biến này có giá trị là 1. Nếu FPGA không phải là thiết bị đầu tiên trong chuỗi JTAG, bạn có thể tùy chỉnh giá trị. |
ACL_PCIE_USE_JTAG_PROGRAMMING |
Đặt biến này để buộc MMD lập trình lại FPGA bằng cáp JTAG thay vì Cấu hình lại một phần. |
ACL_PCIE_DMA_USE_MSI |
Đặt biến này nếu bạn muốn sử dụng MSI để chuyển truy cập bộ nhớ trực tiếp (DMA) trên Windows*. |
Gỡ lỗi dấu hiệu
Bởi vì thiết kế ™ OpenCL không hỗ trợ tính năng mô phỏng, sử dụng Signal Tap Logic Analyzer là cách tốt nhất để gỡ lỗi các thiết kế này.
Để gỡ lỗi bất kỳ thiết kế nào có treo hạt nhân hoặc sự cố liên quan đến giao diện bộ nhớ hoặc lỗi chẩn đoán aocl, nên sử dụng Bộ phân tích logic Signal Tap.
Để tìm hiểu thêm về Signal Tap Logic Analyzer, hãy tham khảo phần Gỡ lỗi Thiết kế với phần Máy phân tích logic tap tín hiệu trong Hướng dẫn sử dụng Công cụ gỡ lỗi.
Thực hiện các bước sau để thêm tệp Signal Tap vào thiết kế BSP
1. Mở Signal Tap GUI và thêm tất cả các tín hiệu cần phân tích.
2. Lưu tệp STP trong cùng thư mục với tệp dự án phần mềm ® Quartus®.
3. Thêm các dòng lệnh sau vào flat.qsf của bạn:
- set_global_assignment tên ENABLE_SIGNALTAP ON
- set_global_assignment tên USE_SIGNALTAP_FILE <file_name>.stp
- set_global_assignment tên SIGNALTAP_FILE <file_name>.stp
4. Bù lại hạt nhân từ đường chỉ huy AOCL.
Giải pháp Cơ sở dữ liệu Kiến thức
Intel® Arria® 10 thiết bị
Intel® Stratix® 10 thiết bị
Các vấn đề đã biết
Tài nguyên bổ sung
Thiết kế gỡ lỗi bằng cách sử dụng phần Nguồn và Đầu dò trong hệ thống trong Hướng dẫn sử dụng Công cụ gỡ lỗi
5. Đề nghị đọc và đào tạo
Các khóa đào tạo ™ OpenCL
- Giới thiệu về Điện toán Song song với OpenCL™ trên FPPI ® Intel ›
- Giới thiệu về OpenCL™ cho FPGAs ® Intel ›
- Chạy OpenCL™ trên FPGAs ® Intel ›
- Xây dựng nền tảng tùy chỉnh cho Intel® FPGA SDK cho OpenCL™: Nội dung gói hỗ trợ hội đồng quản trị (BSP) ›
- Phát triển gói hỗ trợ hội đồng quản trị ™ OpenCL tùy chỉnh (BSP) ›
- Các khóa đào tạo gói hỗ trợ hội đồng quản trị ™ OpenCL (BSP) ›
- Các khóa đào tạo ™ OpenCL khác ›
Video ™ OpenCL
Tiêu đề |
Sự miêu tả |
|---|---|
Video này mô tả quy trình ngoài hộp để chạy hai ứng dụng, OpenCL™ HelloWorld và OpenCL™ chuyển đổi Fourier nhanh (FFT) trên Cyclone® V SoC bằng máy Windows *. |
|
Video này mô tả quy trình ngoài hộp để chạy hai ứng dụng, OpenCL™ HelloWorld và OpenCL™ FFT trên Cyclone® V SoC bằng máy Windows *. |
|
Video này mô tả quy trình ngoài hộp để chạy hai ứng dụng, OpenCL™ HelloWorld và OpenCL™ FFT trên Cyclone® V SoC bằng máy Windows *. |
|
Video này mô tả quy trình ngoài hộp để chạy hai ứng dụng, OpenCL™ HelloWorld và OpenCL™ FFT trên Cyclone® V SoC bằng máy Windows *. |
|
Video này mô tả quy trình ngoài hộp để chạy hai ứng dụng, OpenCL™ HelloWorld và OpenCL™ FFT trên Cyclone® V SoC bằng máy Windows *. |
|
Cách đóng gói các mô-đun /thiết kế verilog tùy chỉnh dưới dạng Thư viện ™ OpenCL |
Video thảo luận về lý do tại sao khách hàng có khả năng sử dụng tính năng này để có các khối xử lý tùy chỉnh (RTL) của họ trong mã hạt nhân ™ OpenCL. Video giải thích ví dụ thiết kế như tạo tệp, tệp cấu hình và giải thích luồng biên soạn. Video cũng hiển thị một bản demo của ví dụ thiết kế. |
OpenCL™ trên Intel FPGA SoC FPGA (Linux Host) – Phần 1 – Công cụ Tải xuống và Thiết lập |
Video này hướng dẫn bạn cách tải xuống, cài đặt và cấu hình các công cụ cần thiết để phát triển nhân OpenCL™ và mã máy chủ nhắm mục tiêu FPGA SoC FPGAs của Intel. |
OpenCL™ trên Intel FPGA SoC FPGA (Linux Host) – Phần 2 – Chạy Vector Add Example với Trình giả lập |
Video này hướng dẫn bạn cách tải xuống và biên dịch một ví dụ openCL™ ứng dụng nhắm mục tiêu trình giả lập được tích hợp trong intel FPGA OpenCL™. |
Video này cho bạn thấy cách biên dịch openCL™ kernel và host code nhắm mục tiêu FPGA và bộ xử lý của Cyclone® V SoC FPGA. |
|
OpenCL™ trên Intel FPGA SoC FPGA (Linux Host) – Phần 4 – Thiết lập Môi trường thời gian chạy |
Video này cho bạn thấy cách thiết lập bảng SoC ® Cyclone để chạy ví dụ ™ OpenCL và thực thi mã máy chủ và hạt nhân trên bảng. |
6. Nhận trợ giúp
Nhà cung cấp dịch vụ được chứng nhận OpenCL
Intel khuyến nghị các nhà cung cấp dịch vụ được chứng nhận sau đây có thể hỗ trợ phát triển gói hỗ trợ bảng OpenCL™ cho bảng FPGA ® Intel. Các nhà cung cấp này có nhiều kinh nghiệm trong việc phát triển các gói hỗ trợ bảng OpenCL chất lượng cao, trình điều khiển và di chuyển thiết kế cho bảng Intel FPGA:
Terasic Inc
OpenCL và logo OpenCL là thương hiệu của Apple Inc. được sử dụng theo sự cho phép của Khronos.
Nội dung gốc bằng tiếng Anh trên trang này vừa do con người vừa do máy dịch. Nội dung này chỉ để cung cấp thông tin chung và giúp quý vị thuận tiện. Quý vị không nên tin đây là thông tin hoàn chỉnh hoặc chính xác. Nếu có bất kỳ mâu thuẫn nào giữa bản tiếng Anh và bản dịch của trang này, thì bản tiếng Anh sẽ chi phối và kiểm soát. Xem phiên bản tiếng Anh của trang này.