OpenCL™ - BSP - Destek Merkezi
OpenCL için Intel® FPGA SDK™ yazılım geliştiricilerinin Intel CPU'lar ve FPGA'larla heterojen platformları hedef alarak uygulamalarını hızlandırmalarını sağlar. Intel® OpenCL için FPGA SDK™ Intel® Quartus® Prime yazılımının bir parçası olarak veya ayrı bir paket olarak yüklenebilir. OpenCL için Intel FPGA SDK'yı aşağıdaki bağlantıdan indirebilirsiniz.
OpenCL™ BSP destek sayfasına hoş geldiniz! Burada OpenCL™ BSP'nizi nasıl planlayacağınız, tasarlayacağınız ve uygulayacağınız hakkında bilgi edinecek ve hata ayıklama amacıyla birkaç ipucu ve püf noktası öğreneceksiniz.
Bu sayfa, bir OpenCL™ Kurulu Destek Paketi (BSP) geliştirme (veya OpenCL çekirdeği/algoritmaları tasarlama/geçirme) sürecini baştan sona size yol gösterir. Referans Tasarımı Değiştir bölümünde, Intel® referans platformunu kendi özel platformunuzda nasıl değiştireceğiniz ve zamanlama hatası olmadan düz tasarımları nasıl derleyeceğiniz hakkında kaynaklar bulacaksınız. Floorplanning ve Zamanlama Kapanışı bölümü, tasarımınızı nasıl bölümleynize ve maksimum çalışma frekansı elde etmeye yönelik rehberlik sağlar. Ayrıca, tasarımınızda zamanlamayı kapatma ve BSP oluştururken garantili bir zamanlama kapanışı yapma tekniklerini de açıklar. MMD ve OpenCL Yardımcı Programları bölümü, MMD'yi yeniden oluşturma adımları sağlar ve OpenCL yardımcı programları hakkında ayrıntılı bilgi sağlar. Hata Ayıklama bölümü, karşılaşabileceğiniz hata ayıklama sorunları için bazı araçlar ve kaynaklar sağlar. BSP geliştirme sürecinde yardımcı olan tüm bölümlerde listelenen belgeler ve eğitim kursları vardır.
1. Başvuru Tasarımını Değiştirme
Başlarken
BSP geliştirmeye başlamak için aşağıdaki adımları gerçekleştirdiğinizden emin olun:
- OpenCL™ için Intel® FPGA SDK ve Quartus® yazılımının yüklü olduğunu onaylayın.
- OpenCL™ başvuru BSP'yle eşleşen araç sürümünün kullanılabilir olduğunu doğrulayın.
- Tam Intel® Quartus® yazılım lisansına erişimi onaylayın.
Başvuru Tasarımı Seçme
Özel platformunuza uygun referans tasarımını seçin
Intel, aşağıdaki platformlar için OpenCL™ referans BSP tasarımlarını destekler. Belirli bir platform için OpenCL™ BSP taşıma kılavuzunu da görüntüleyebilirsiniz:
- Stratix® V PCIe* Geliştirme Kiti - OpenCL için Intel® FPGA SDK'sını Görüntüleyin™ Stratix® V Ağ Referans Platformu Taşıma Kılavuzu ›
- Intel® Arria® 10 PCIe Geliştirme Kiti - OpenCL için Intel® FPGA SDK'sını Görüntüleyin™ Intel® Arria® 10 GX FPGA Geliştirme Kiti Referans Platformu Taşıma Kılavuzu ›
- Intel® Arria® 10 SoC Geliştirme Kiti - OpenCL için Intel® FPGA SDK'sını Görüntüleyin™ Intel® Arria® 10 SoC Geliştirme Kiti Referans Platformu Taşıma Kılavuzu ›
- Intel® Stratix® 10 PCIe* Geliştirme Kiti - OpenCL için Intel® FPGA SDK'sını görüntüleyin™ Intel® Stratix® 10 GX FPGA Geliştirme Kiti Referans Platformu Taşıma Kılavuzu ›
Başvuru Tasarımını Değiştirme
OpenCL BSP taşıma kılavuzlarındaki adımları izleyerek referans tasarımını platfromunuza değiştirmeye başlayın. Tasarım değişiklikleri tamamlandıktan sonra ilk çekirdeğinizi derlemeyi denemeniz önerilir. Genellikle, BSP'nin farklı arayüzlerini test eden Boardtestadlı bir çekirdek kullanırız. Boardtest ve genel BSP bina adımları hakkındaki bilgiler aşağıdaki kılavuzda belirtilmiştir:
Intel® OpenCL için FPGA SDK™ Özel Platform Araç Seti Kullanım Kılavuzu (PDF) ›
BSP oluşturmak için önerilen adımlar:
- Zamanlama kapalı ".aocx" dosyası oluşturmak için Boardtest'i "düz" akışta derleyin
- Boardtest'i çalıştırarak ".aocx" ı doğrulayın ve testten arayüz bant genişliği beklentisini çapraz kontrol edin
- Garantili bir zamanlama kapalı OpenCL BSP oluşturmak için "temel" yapı için zemin planlama üzerinde çalışmaya başlayın
2. Zemin Planlama ve Zamanlama Kapanışı
Başlarken
OpenCL'de, projenin iki farklı revizyonunun zamanlaması üzerinde çalışmamız gerekir - düz ve temel revizyonlar. Düz bir düzeltme, herhangi bir bölüm veya mantık kilidi bölgesi olmayan ve uygulamak için hardware/flat.qsf dosyasını kullanan düzeltmedir. Temel düzeltme bölümleme ve mantık kilitleri içeren ve uygulamak için hardware/base.qsf dosyasını kullanandır. Öncelikle iyi bir başlangıç olarak zamanlamayı temizleyen bir düz revizyon almanızı ve ardından tasarımın zamanlamayı temizleyen bir taban revizyonu elde etmek için zemin planlama üzerinde çalışmanızı öneririz.
Derleme akışı hakkında daha fazla bilgi için Intel® OpenCL™ Yönetim Kurulu Destek Paketi Zemin Planı Optimizasyonu Kılavuzu'ndaki OpenCL™ BSP Derleme Akışı bölümüne bakın.
Kat Planı Bölümü
BSP'nin tüm ana bileşenlerinin doğal olarak nereye yerleştirildiğini anlamak için düz derleme ile başlayın (özellikle PCIe* veya DDR bellek gibi G/Ç bağlantılarına sahip fikri mülkiyet (IP) blokları).
Bu konuda daha fazla kılavuz için Intel™® OpenCL® Yönetim Kurulu Destek Paketi Zemin Planı Optimizasyonu Kılavuzu'ndaki OpenCL™ BSP Kat Planı Yönergeleri bölümüne bakın.
Ayrıntılar için, Kısmi Yeniden Yapılandırma Kullanım Kılavuzu'na da başvurabilirsiniz.
PR Bölgesini Değiştir
Temel derleme sırasında, freeze_wrapper_inst|kernel_system_inst içeren çekirdekteki Mantık Kilidi Bölgesi ile başlayın. BSP donanımının boyutunu ve konumunu belirlemek için düz derleme ve yonga planlayıcısını kullanın. Mantık Kilidi Bölgesi'ni kullanarak kernel_system için daha fazla kaynak ayırmayı dene.
Bu konuda daha fazla kılavuz için Intel™® OpenCL® Yönetim Kurulu Destek Paketi Zemin Planı Optimizasyonu Kılavuzu'ndaki OpenCL™ BSP Kat Planı Yönergeleri bölümüne bakın.
Zamanlama İhlallerini Düzeltme
Tasarımdaki zamanlama ihlallerini düzeltmek için IP çekirdekleri arasına işlem hattı aşamaları eklemeniz gerekebilir.
Daha fazla kılavuz için aşağıdaki bağlantılara bakın:
Kurulum/Tutma Kısıtlamaları
Çıktı dizinindeki .failing_paths.rpt ve .failing_clocks.rpt, tasarımdaki büyük hataları listeler. Bazı yollarda tutarlı bir hata varsa, /hardware/top.sdc dosyasındaki kritik yol için en düşük veya en fazla gecikme kısıtlaması ayarlamak isteyebilirsiniz.
İlgili sorunlar için Bilgi Veritabanı sayfasında aşağıdaki geçici çözüm yöntemine başvurabilirsiniz:Arria 10'daki rakip bekleme ve kurulum ihlallerinde zamanlama nasıl kapatılabilir?
3. MMD ve OpenCL™ Yardımcı Programları
MMD Kaynak Geliştirme veya Değiştirme
MMD yazılım kitaplığı, ana bilgisayar ile ivme kartı arasında temel giriş/çıkış (I/O) uygular ve açma, okuma ve yazma gibi arabirimler sağlar. MMD kitaplık sürücüsü Windows* 64 veya Linux* 64 biçimleri olarak depolanır ve kaynak kod kaynak klasörde depolanır.
Daha fazla bilgi için, Intel® OpenCL için FPGA SDK™ Özel Platform Araç Seti Kullanım Kılavuzu'ndaki MMD Kitaplığı Oluşturma bölümüne bakın.
Yardımcı Program Desteği
OpenCL™ yardımcı programları, OpenCL™ için Intel® FPGA SDK'sını kullanarak kart erişimi gerçekleştirmenizi sağlar. Bu aocl yükleme, aocl kaldırma, aocl diagnose, aocl programı ve aocl flaş içerir.
Daha fazla bilgi için, Intel® OpenCL için FPGA SDK™ Yardımcı Programları Desteği Sağlama®™ OpenCL için FPGA SDK™ Özel Platform Araç Seti Kullanım Kılavuzu'ndaki Intel'i Sağlama bölümüne bakın.
Yazılım yardımcı programlarını ve MMD katmanını oluşturduktan sonra, donanım tasarımının sınanması gerekir. Standart yol, boardtest çekirdeğini oluşturmak ve tahtada çalıştırmaktır.
Daha fazla bilgi için, Intel® OpenCL için FPGA SDK™ Özel Platform Araç Seti Kullanım Kılavuzu'ndaki Donanım Tasarımını Sınama bölümüne bakın.
4. Hata Ayıklama
Pano Getirme
Bu bölüm, Intel® FPGA geliştirme kitlerini veya kendi özel panolarınızı getirirken sorunları gidermenize yardımcı olur.
Panolarınızı açarken karşılaşabileceğiniz bazı bilinen sorunları öğrenmek için AN 807'deki aşağıdaki bölümlere bakın: Intel için Intel® Arria® 10 GX FPGA Geliştirme Kitini Yapılandırma® OpenCL için FPGA SDK™ Uygulama Notu:
- Sorun giderme bölümü ›
- Tanılama Yardımcı Programı bölümünü Çalıştırarak Olası Hatalar ›
Kat Planı ve Zamanlama
Statik mantık için minimum alan kullanma ve OpenCL™ çekirdeğiniz için daha fazla alan bırakma hakkında ipuçları ve püf noktaları için AN 824: Intel® OpenCL için FPGA SDK™ Yönetim Kurulu Destek Paketi Zemin Planı Optimizasyon Kılavuzu 'nabaşvurabilirsiniz.
Çalışma Zamanı Hata Ayıklaması
Ana bilgisayar uygulamasını çalıştırırken daha fazla hata ayıklama bilgisi almak için ayarlanabilen belirli ortam değişkenleri vardır. Bunlar, OpenCL™ özel ortam değişkenleri için Intel® FPGA SDK'sıdır ve bu da özel platform tasarımlarındaki sorunları tanılamaya yardımcı olabilir.
Aşağıdaki tabloda, bu ortam değişkenlerinin tümü listeler ve ayrıntılı olarak açıklanmaktadır.
Ortam Değişkeni |
Tarif |
ACL_HAL_DEBUG |
Doğrudan MMD katmanıyla arabirim oluşturan Donanım Soyutlama Katmanı'ndan (HAL) hata ayıklama çıktısını artırmak için bu değişkeni 1 ile 5 arasında bir değere ayarlayın. |
ACL_PCIE_DEBUG |
MMD'den hata ayıklama çıktısını artırmak için bu değişkeni 1 ile 10000 arasında bir değere ayarlayın. Bu değişken ayarı, sürüm kimliği kaydının doğru okunduğunu ve UniPHY IP çekirdeklerinin kalibre edildiğini onaylamak için yararlıdır. |
ACL_PCIE_JTAG_CABLE |
Bu değişkeni, kablo numarasını belirten varsayılan quartus_pgm bağımsız değişkenini geçersiz kacak şekilde ayarlayın. Varsayılan kablo 1'dir. Birden çok Intel® FPGA İndirme Kablosu varsa, bu değişkeni ayarlayarak belirli bir kablo belirtebilirsiniz. |
ACL_PCIE_JTAG_DEVICE_INDEX |
Bu değişkeni, FPGA aygıt dizinini belirten varsayılan quartus_pgm bağımsız değişkenini geçersiz kılacağı şekilde ayarlayın. Varsayılan olarak, bu değişkenin değeri 1'dir. FPGA, JTAG zincirindeki ilk cihaz değilse, değeri özelleştirebilirsiniz. |
ACL_PCIE_USE_JTAG_PROGRAMMING |
MMD'yi Kısmi Yeniden Yapılandırma yerine JTAG kablosunu kullanarak FPGA'yı yeniden programlamaya zorlamak için bu değişkeni ayarlayın. |
ACL_PCIE_DMA_USE_MSI |
Windows*'da doğrudan bellek erişimi (DMA) aktarımları için MSI kullanmak istiyorsanız bu değişkeni ayarlayın. |
Sinyal Dokunun Hata Ayıklama
OpenCL™ tasarımları simülasyon özelliğini desteklemediği için, Signal Tap Logic Analyzer'ı kullanmak bu tasarımlarda hata ayıklamanın en iyi yoludur.
Çekirdek askıda kalma veya bellek arabirimi veya aocl tanılama hatasıyla ilgili bir sorun olan herhangi bir tasarımda hata ayıklamak için Signal Tap Logic Analyzer kullanılması önerilir.
Signal Tap Logic Analyzer hakkında daha fazla bilgi edinmek için Hata Ayıklama Araçları Kullanım Kılavuzu'ndaki Sinyal Dokunuşu Mantık Çözümleyicisi ile Tasarım Hata Ayıklama bölümüne bakın.
Signal Tap dosyasını BSP tasarımına eklemek için aşağıdaki adımları uygulayın
1. Signal Tap GUI'yi açın ve analiz edilecek tüm sinyalleri ekleyin.
2. STP dosyasını Intel® Quartus® yazılım proje dosyasıyla aynı dizine kaydedin.
3. Flat.qsf'unuza aşağıdaki komut satırlarını ekleyin:
- set_global_assignment -ad ENABLE_SIGNALTAP ON
- set_global_assignment -ad USE_SIGNALTAP_FILE <file_name>.stp
- set_global_assignment -ad SIGNALTAP_FILE <file_name>.stp
4. Çekirdeği AOCL komut satırından yeniden derle.
Bilgi Veritabanı Çözümü
Intel® Arria® 10 Cihaz
Intel® Stratix® 10 Cihaz
Bilinen Sorunlar
Ek Kaynaklar
Hata Ayıklama Araçları Kullanım Kılavuzu'ndaki Sistem İçi Kaynaklar ve Problar Kullanarak Hata Ayıklama Tasarımı
5. Önerilen Okuma ve Eğitim
OpenCL™ Eğitim Kursları
- Intel® FPMA'larda OpenCL™ ile Paralel Bilgi İşleme Giriş ›
- Intel® FPGA'lar için OpenCL™ giriş ›
- OpenCL™ Intel® FPNA'larda Çalıştırma ›
- OpenCL® için Intel™ FPGA SDK için Özel Platformlar Oluşturma: Kart Destek Paketi (BSP) İçeriği ›
- Özel OpenCL™ Kurulu Destek Paketi (BSP) Geliştirme ›
- OpenCL™ Yönetim Kurulu Destek Paketi (BSP) Eğitim Kursları ›
- Diğer OpenCL™ Eğitim Kursları ›
OpenCL™ Videolar
Başlık |
Tarif |
|---|---|
Bu videoda, Windows* makinesi kullanarak Cyclone® V SoC'de OpenCL™ HelloWorld ve OpenCL™ hızlı Fourier dönüşümü (FFT) olmak üzere iki uygulamayı çalıştırmak için kullanıma hazır yordam açıklanmaktadır. |
|
Bu videoda, Windows* makinesi kullanarak Cyclone® V SoC'de OpenCL™ HelloWorld ve OpenCL™ FFT olmak üzere iki uygulamayı çalıştırma yordamı açıklanmaktadır. |
|
Bu videoda, Windows* makinesi kullanarak Cyclone® V SoC'de OpenCL™ HelloWorld ve OpenCL™ FFT olmak üzere iki uygulamayı çalıştırma yordamı açıklanmaktadır. |
|
Bu videoda, Windows* makinesi kullanarak Cyclone® V SoC'de OpenCL™ HelloWorld ve OpenCL™ FFT olmak üzere iki uygulamayı çalıştırma yordamı açıklanmaktadır. |
|
Bu videoda, Windows* makinesi kullanarak Cyclone® V SoC'de OpenCL™ HelloWorld ve OpenCL™ FFT olmak üzere iki uygulamayı çalıştırma yordamı açıklanmaktadır. |
|
Özel Verilog Modülleri/Tasarımları OpenCL™ Kitaplıkları Olarak Paketleme |
Videoda, müşterilerin opencl™ çekirdek kodunda özel işlem bloklarına (RTL) sahip olmak için neden bu özelliği potansiyel olarak kullanabilecekleri anlatılmaktadır. Video, dosya yapma, yapılandırma dosyaları gibi tasarım örneğini açıklar ve derleme akışını açıklar. Videoda ayrıca tasarım örneğinin bir demosu da göster. |
Intel FPGA SoC FPGA (Linux Host) üzerinde OpenCL™ – Bölüm 1 – Araçlar İndirme ve Kurulum |
Bu videoda, Intel FPGA SoC FPGA'ları hedefleyen OpenCL™ çekirdeklerini ve ana bilgisayar kodunu geliştirmek için gereken araçların nasıl indirileceği, yükleneceği ve yapılandırılacağı gösterilebilir. |
Bu videoda, Intel FPGA OpenCL™ yerleşik öykünücüsüyü hedefleyen openCL™ uygulamasının bir örneğinin nasıl indirilip derlendirılacağı gösterilebilir. |
|
Bu videoda, Cyclone® V SoC FPGA'nın FPGA'sını ve işlemcisini hedefleyen OpenCL™ çekirdeğinin ve ana bilgisayar kodunun nasıl derlenerek derlenebileceğiniz gösteriliyor. |
|
Intel FPGA SoC FPGA (Linux Host) üzerinde OpenCL™ – Bölüm 4 – Çalışma Zamanı Ortamının Kurulumu |
Bu videoda, Cyclone® V SoC panosunun OpenCL™ örneğini çalıştırmak ve panodaki ana bilgisayar kodunu ve çekirdeğini yürütmek için nasıl ayarlandırılacağı gösteriliyor. |
6. Yardım Alın
OpenCL Sertifikalı Hizmet Sağlayıcıları
Intel, Intel® FPGA panoları için OpenCL™ kartı destek paketinin geliştirilmesine yardımcı olabilecek aşağıdaki sertifikalı hizmet sağlayıcılarını önerir. Bu sağlayıcılar, Intel FPGA kartları için yüksek kaliteli OpenCL kart destek paketleri, sürücüler ve tasarım geçişi geliştirme konusunda kapsamlı deneyime sahiptir:
Terasic A.Ş.
OpenCL ve OpenCL logosu, Apple Inc.'in Khronos tarafından izinle kullanılan ticari markalarıdır.
Bu sayfadaki içerik, orijinal İngilizce içeriğin insan ve bilgisayar çevirilerinin birleşiminden oluşur. Bu içerik size kolaylık sağlamak ve genel bilgi vermek için sunulmuştur ve eksiksiz veya hatasız olmasına güvenilmemelidir. Bu sayfanın İngilizce versiyonu ile çevirisi arasında herhangi bir çelişki olması durumunda İngilizce içerik geçerli ve üstün sayılmalıdır. Bu sayfanın İngilizce versiyonunu görüntüleyin.