OpenCL™ - BSP - Trung tâm hỗ trợ
Thông báo ngừng sản xuất sản phẩm
Intel ngừng cung cấp SDK Intel® FPGA OpenCL,™ bạn có thể tìm thêm thông tin trong thông báo ngừng cung cấp sản phẩm (PDN2219).
Trang hỗ trợ OpenCL BSP cung cấp thông tin về cách lập kế hoạch, thiết kế và triển khai BSP OpenCL™™ của bạn, cũng như tìm hiểu một số mẹo và thủ thuật cho mục đích gỡ lỗi.
1. Sửa đổi thiết kế tham chiếu
Bắt đầu
Để bắt đầu 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 SDK Intel® FPGA cho OpenCL™ và phần mềm Intel® Quartus® đã đượ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 một 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 OpenCL™ BSP cho một nền tảng cụ thể:
- Bộ phát triển Stratix® V PCIe* - Xem SDK Intel® FPGA cho Hướng dẫn chuyển nền tảng tham chiếu mạng OpenCL™ Stratix® V
- Intel® Arria® 10 PCIe Development Kit - Xem SDK Intel® FPGA cho OpenCL™ Intel® Arria® 10 GX Hướng dẫn chuyển nền tảng tham chiếu bộ phát triển FPGA
- Intel® Arria® 10 SoC Development Kit - Xem SDK Intel® FPGA cho OpenCL™ Hướng dẫn chuyển đổi nền tảng tham chiếu bộ phát triển SoC Intel® Arria® 10
- Intel® Stratix® 10 PCIe* Development Kit - Xem SDK Intel® FPGA cho OpenCL Hướng dẫn chuyển đổi nền tảng tham chiếu bộ phát triển FPGA OpenCL™ Intel® Stratix® 10 GX
Sửa đổi thiết kế tham chiếu
Bắt đầu sửa đổi thiết kế tham chiếu cho nền tảng của bạn bằng cách làm theo các bước trong hướng dẫn chuyển OpenCL BSP. Chúng tôi khuyên rằng sau khi các thay đổi thiết kế hoàn tất, bạn nên thử biên dịch hạt 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 được gọi là Boardtest, kiểm tra các giao diện khác nhau của BSP. Thông tin về Boardtest và các bước xây dựng BSP chung được đề cập trong hướng dẫn sau:
Hướng dẫn sử dụng SDK Intel® FPGA cho OpenCL™ Custom Platform Toolkit (PDF)
Các bước được đề xuất để xây dựng BSP:
- Biên dịch Boardtest theo quy trình "phẳng" để tạo tệp ".aocx" đã đóng định thời
- Xác thực ".aocx" bằng cách chạy Boardtest và kiểm tra chéo các kỳ vọng về băng thông giao diện từ thử nghiệm
- Bắt đầu làm việc trên sơ đồ tầng cho bản dựng "cơ sở" để tạo BSP OpenCL được đảm bảo đóng thời gian
2. Quy hoạch mặt bằng và thời gian đóng cửa
Bắt đầu
Trong OpenCL, chúng ta cần làm việc về thời gian cho hai bản sửa đổi khác nhau của dự án - căn hộ và bản sửa đổi cơ sở. Bản sửa đổi phẳng là bản không có bất kỳ phân vùng hoặc vùng khóa logic nào và sử dụng tệp phần cứng / flat.qsf để triển khai 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 hardware / base.qsf để triển khai nó. Chúng tôi khuyên bạn nên sửa đổi căn hộ sạch thời gian trước như một khởi đầu tốt và sau đó làm việc trên sơ đồ sàn để có được bản sửa đổi cơ sở làm sạch thời gian của thiết kế.
Để biết thêm chi tiết về quy trình biên dịch, hãy tham khảo phần Quy trình biên dịch OpenCL BSP trong Hướng dẫn Tối ưu hóa Sơ đồ tầng Gói Hỗ trợ Intel® FPGA SDK cho Bảng OpenCL™ ™.
Vách ngăn sơ đồ tầng
Bắt đầu với việc biên dịch phẳng để hiểu nơi 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 sở hữu trí tuệ (IP) 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 phần Hướng dẫn cho OpenCL BSP Floorplanning trong SDK Intel® FPGA cho Hướng dẫn Tối ưu hóa Sơ đồ Mặt bằng Gói Hỗ trợ Bo mạch OpenCL™ ™.
Để biết chi tiết, bạn cũng có thể tham khảo Hướng dẫn sử dụng cấu hình lại một phần.
Sửa đổi khu vực PR
Trong quá trình biên dịch cơ sở, bắt đầu với Vùng Khóa Logic trên kernel có chứa freeze_wrapper_inst|kernel_system_inst. Sử dụng trình biên dịch phẳng và công cụ 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ự trữ 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 phần Hướng dẫn cho OpenCL BSP Floorplanning trong SDK Intel® FPGA cho Hướng dẫn Tối ưu hóa Sơ đồ Mặt bằng Gói Hỗ trợ Bo mạch OpenCL™ ™.
Khắc phục vi phạm về thời gian
Để khắc phục các lỗi vi phạm về thời gian trong thiết kế, bạn có thể cần thêm các giai đoạn quy trình vào 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:
Các ràng buộc thiết lập/giữ
.failing_paths.rpt và .failing_clocks.rpt trong thư mục đầu ra liệt kê các lỗi lớn trong thiết kế. Nếu có lỗi nhất quán trong một số đường dẫn, bạn có thể muốn đặ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 /hardware/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 pháp thay thế sau đây trên trang Cơ sở dữ liệu Kiến thức—Làm thế nào để chốt thời gian giữ cạnh tranh và thiết lập vi phạm 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 (I/O) cơ bản giữa máy chủ và bảng gia 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 Hướng dẫn Sử dụng SDK Intel® FPGA cho Bộ công cụ Nền tảng Tùy chỉnh OpenCL™.
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 Intel® FPGA 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à flash aocl.
Để biết thêm thông tin, hãy tham khảo phần Intel® FPGA Cung cấp SDK cho Hỗ trợ Tiện ích OpenCL trong Hướng dẫn Sử dụng SDK Intel® FPGA cho Bộ công cụ Nền tảng Tùy chỉnh OpenCL™ ™.
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 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 Hướng dẫn Sử dụng SDK Intel® FPGA cho Bộ công cụ Nền tảng Tùy chỉnh OpenCL™.
4. Gỡ lỗi
Bo mạch Mang lên
Phần này giúp bạn khắc phục sự cố trong khi đưa ra bộ công cụ phát triển Intel® FPGA 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 khi đưa bo mạch lên, hãy tham khảo các phần sau trong AN 807: Định cấu hình Bộ phát triển FPGA Intel® Arria® 10 GX cho Intel® FPGA SDK cho ứng dụng OpenCL™ Lưu ý:
Sơ đồ mặt bằng và thời gian
Để biết các mẹo và thủ thuật về việc 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 Hướng dẫn tối ưu hóa sơ đồ sơ đồ tầng AN 824: Intel® FPGA SDK for OpenCL™™ Board Support Package.
Gỡ lỗi thời gian chạy
Có một số biến môi trường nhất định có thể được đặt để lấy thêm thông tin gỡ lỗi trong khi chạy ứng dụng máy chủ. Đây là Intel® FPGA SDK cho các biến môi trường cụ thể của OpenCL™, có thể giúp chẩn đoán sự cố với thiết kế nền tảng tùy chỉnh.
Bảng sau 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 |
Mô tả |
ACL_HAL_GỠ LỖI |
Đặ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 kết quả 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 Intel® FPGA Download Cable, 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 để truyền truy cập bộ nhớ trực tiếp (DMA) trên Windows*. |
Gỡ lỗi Signal Tap
Vì các 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ó hiện tượng 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, bạn nên sử dụng Trình 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 Design Debugging with the Signal Tap Logic Analyzer trong Hướng dẫn sử dụng Debug Tools.
Thực hiện các bước sau để thêm tập tin Signal Tap vào thiết kế BSP
1. Mở GUI Signal Tap 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 Intel® Quartus®.
3. Thêm các dòng lệnh sau vào flat.qsf của bạn:
- set_global_assignment -name ENABLE_SIGNALTAP BẬT
- set_global_assignment -tên USE_SIGNALTAP_FILE <file_name>.stp
- set_global_assignment -tên SIGNALTAP_FILE <file_name>.stp
4. Biên dịch lại hạt nhân từ dòng lệnh AOCL.
Giải pháp cơ sở dữ liệu tri 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
Phần Gỡ lỗi thiết kế bằng cách sử dụng Nguồn và Đầu dò trong hệ thống trong Hướng dẫn sử dụng Công cụ gỡ lỗi
AN 799: Gỡ lỗi thiết kế nhanh Intel® Arria® 10 bằng đầu dò tín hiệu và biên dịch lại nhanh
5. Đề xuất đọ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 Intel® FPGAs
- Chạy OpenCL™ trên Intel® FPGAs
- 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ợ Bo mạch (BSP)
- Phát triển Gói Hỗ trợ Bo mạch OpenCL™ Tùy chỉnh (BSP)
- Các khóa đào tạo Gói hỗ trợ bo mạch OpenCL™ (BSP)
- Các khóa đào tạo OpenCL™ khác
Video OpenCL™
Tiêu đề |
Mô tả |
---|---|
Video này mô tả quy trình sẵn dùng để chạy hai ứng dụng, OpenCL HelloWorld và OpenCL™™ fast Fourier transform (FFT) trên SoC Cyclone® V bằng máy Windows*. |
|
Video này mô tả quy trình sẵn dùng để chạy hai ứng dụng, OpenCL HelloWorld và OpenCL™™ FFT trên SoC Cyclone® V bằng máy Windows*. |
|
Video này mô tả quy trình sẵn dùng để chạy hai ứng dụng, OpenCL HelloWorld và OpenCL™™ FFT trên SoC Cyclone® V bằng máy Windows*. |
|
Video này mô tả quy trình sẵn dùng để chạy hai ứng dụng, OpenCL HelloWorld và OpenCL™™ FFT trên SoC Cyclone® V bằng máy Windows*. |
|
Video này mô tả quy trình sẵn dùng để chạy hai ứng dụng, OpenCL HelloWorld và OpenCL™™ FFT trên SoC Cyclone® V 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ó thể 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ã nhân OpenCL™. Video giải thích ví dụ thiết kế, chẳng hạn như tạo tệp, định cấu hình tệp và giải thích quy trình biên dịch. Video cũng hiển thị bản demo của ví dụ thiết kế. |
OpenCL™ trên FPGA SoC Intel FPGA (Máy chủ Linux) - Phần 1 - Tải xuống và thiết lập công cụ |
Video này hướng dẫn bạn cách tải xuống, cài đặt và định 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 Intel FPGA FPGAs SoC. |
OpenCL™ trên SoC Intel FPGA FPGA (Máy chủ Linux) - Phần 2 - Chạy Vector Thêm ví dụ 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 ứng dụng OpenCL mẫu nhắm mục tiêu đến trình giả lập được tích hợp trong Intel FPGA OpenCL™.™ |
Video này hướng dẫn bạn cách biên dịch mã máy chủ và nhân OpenCL™ nhắm mục tiêu đến FPGA và bộ xử lý của FPGA SoC Cyclone® V. |
|
OpenCL™ trên Intel FPGA SoC FPGA (Máy chủ Linux) - Phần 4 - Thiết lập môi trường thời gian chạy |
Video này hướng dẫn bạn cách thiết lập bo mạch SoC Cyclone® V để chạy ví dụ OpenCL™ và thực thi mã máy chủ và hạt nhân trên bo mạch. |
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ợ bo mạch OpenCL™ cho các bo mạch Intel® FPGA. 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ợ bo mạch OpenCL chất lượng cao, trình điều khiển và di chuyển thiết kế cho các bo mạch Intel FPGA:
Terasic Inc
OpenCL và logo OpenCL là thương hiệu của Apple Inc. được sử dụng với 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.