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 için Intel® FPGA SDK'sını indirin™

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:

  1. OpenCL™ için Intel® FPGA SDK ve Quartus® yazılımının yüklü olduğunu onaylayın.
  2. OpenCL™ başvuru BSP'yle eşleşen araç sürümünün kullanılabilir olduğunu doğrulayın.
  3. 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:

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:

  1. Zamanlama kapalı ".aocx" dosyası oluşturmak için Boardtest'i "düz" akışta derleyin
  2. Boardtest'i çalıştırarak ".aocx" ı doğrulayın ve testten arayüz bant genişliği beklentisini çapraz kontrol edin
  3. 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:

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.

5. Önerilen Okuma ve Eğitim

OpenCL™ Videolar

Başlık

Tarif

OpenCL™ bölüm 1 ile Çalışmaya Başlama

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.

OpenCL™ bölüm 2 ile Çalışmaya Başlama

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.

OpenCL bölüm 3'e Başlarken

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.

OpenCL Bölüm 4'e Başlarken

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.

OpenCL bölüm 5'i kullanmaya başlama

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.

Intel FPGA SoC FPGA (Linux Host) üzerinde OpenCL™ – Bölüm 2 – Emülatörle Vektör Ekleme Örneğini Çalıştırma

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.

Intel FPGA SoC FPGA (Linux Host) üzerinde OpenCL™ – Bölüm 3 – SoC FPGA için Çekirdek ve Ana Bilgisayar Kodu Derlemesi

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.