Intel FPGA Programlanabilir Hızlandırma Kartı D5005
Bu Belge Hakkında
Bu belge, doğrudan bellek erişimi (DMA) Hızlandırıcı İşlevsel Birimi (AFU) uygulamasını ve tasarımın donanımda veya simülasyonda çalışacak şekilde nasıl oluşturulacağını açıklamaktadır.
Hedef Kitle
Hedef kitle, verileri Intel FPGA cihazına bağlı bellekte yerel olarak ara belleğe almak için Hızlandırıcı İşlevine (AF) ihtiyaç duyan donanım veya yazılım geliştiricilerinden oluşur.
Sözleşmeler
Belge Sözleşmeleri
Sözleşme | Tanım |
# | Komutun root olarak girilmesi gerektiğini belirten bir komuttan önce gelir. |
$ | Kullanıcı olarak bir komutun girilmesi gerektiğini belirtir. |
Bu yazı tipi | Fileadlar, komutlar ve anahtar sözcükler bu yazı tipinde yazdırılır. Bu yazı tipinde uzun komut satırları yazdırılır. Uzun komut satırları bir sonraki satıra kayabilse de dönüş, komutun bir parçası değildir; enter tuşuna basmayın. |
Açılı ayraçlar arasında görünen yer tutucu metnin uygun bir değerle değiştirilmesi gerektiğini belirtir. Köşeli ayraçlara girmeyin. |
Kısaltmalar
Kısaltmalar
Kısaltmalar | Genleşme | Tanım |
AF | Hızlandırıcı İşlevi | Bir uygulamayı hızlandıran FPGA mantığında uygulanan Derlenmiş Donanım Hızlandırıcı görüntüsü. |
AFU | Hızlandırıcı Fonksiyonel Birimi | Performansı artırmak için bir uygulamanın hesaplamalı işleminin yükünü CPU'dan alan, FPGA mantığında uygulanan Donanım Hızlandırıcı. |
API | Uygulama Programlama Arayüzü | Yazılım uygulamaları oluşturmak için bir dizi alt rutin tanımı, protokolü ve aracı. |
CCI-P | Çekirdek Önbellek Arayüzü | CCI-P, AFU'ların ana bilgisayarla iletişim kurmak için kullandığı standart arayüzdür. |
DFH | Cihaz Özellik Başlığı | Özellik eklemenin genişletilebilir bir yolunu sağlamak için bağlantılı bir özellik üstbilgileri listesi oluşturur. |
devam etti… |
Intel Kurumu. Tüm hakları Saklıdır. Intel, Intel logosu ve diğer Intel markaları, Intel Corporation'ın veya yan kuruluşlarının ticari markalarıdır. Intel, FPGA ve yarı iletken ürünlerinin Intel'in standart garantisine uygun olarak mevcut teknik özelliklere göre performansını garanti eder, ancak herhangi bir zamanda herhangi bir bildirimde bulunmaksızın herhangi bir ürün ve hizmette değişiklik yapma hakkını saklı tutar. Intel, yazılı olarak açıkça kabul etmedikçe, burada açıklanan herhangi bir bilgi, ürün veya hizmetin uygulanmasından veya kullanılmasından kaynaklanan hiçbir sorumluluk veya yükümlülük kabul etmez. Intel müşterilerinin, yayınlanmış herhangi bir bilgiye güvenmeden ve ürün veya hizmet siparişi vermeden önce cihaz özelliklerinin en son sürümünü edinmeleri önerilir. *Diğer adlar ve markalar başkalarının mülkiyetinde olabilir.
Kısaltmalar | Genleşme | Tanım |
FIM | FPGA Arayüz Yöneticisi | FPGA Arayüz Birimi'ni (FIU) ve bellek, ağ iletişimi vb. için harici arayüzleri içeren FPGA donanımı.
Hızlandırıcı İşlevi (AF), çalışma zamanında FIM ile arayüz oluşturur. |
Mali İstihbarat Birimi | FPGA Arayüz Birimi | FIU, PCIe*, UPI gibi platform arayüzleri ile CCI-P gibi AFU tarafı arayüzleri arasında köprü görevi gören bir platform arayüz katmanıdır. |
MPF | Bellek Özellikleri Fabrikası | MPF, AFU'ların FIU ile yapılan işlemler için CCI-P trafik şekillendirme işlemlerini sağlamak amacıyla kullanabileceği bir Temel Yapı Taşıdır (BBB). |
Hızlanma Sözlüğü
FPGA Sözlüğüne sahip Intel® Xeon® CPU için Hızlandırma Yığını
Terim | Kısaltma | Tanım |
FPGA'lı Intel Xeon® CPU için Intel® Hızlandırma Yığını | Hızlanma Yığını | Intel FPGA ile Intel Xeon işlemci arasında performansı optimize edilmiş bağlantı sağlayan yazılım, ürün yazılımı ve araçlardan oluşan bir koleksiyon. |
Intel FPGA Programlanabilir Hızlandırma Kartı | Intel FPGA PAC | PCIe FPGA hızlandırıcı kartı.
PCIe veri yolu üzerinden Intel Xeon işlemciyle eşleşen bir FPGA Arayüz Yöneticisi (FIM) içerir. |
- DMA Hızlandırıcı İşlevsel Birim Kullanıcı Kılavuzu: Intel FPGA Programlanabilir Hızlandırma Kartı D5005
DMA AFU Açıklaması
giriiş
Doğrudan Bellek Erişimi (DMA) AFU exampDosya, ana işlemci ile FPGA arasındaki bellek aktarımlarının nasıl yönetileceğini gösterir. Verileri ana bilgisayar belleği ile FPGA yerel belleği arasında taşımak için DMA AFU'yu tasarımınıza entegre edebilirsiniz. DMA AFU aşağıdaki alt modüllerden oluşur:
- Bellek Özellikleri Fabrikası (MPF) Temel Yapı Taşı (BBB)
- Avalon® Bellek Eşlemeli (Avalon-MM) Adaptöre Çekirdek Önbellek Arayüzü (CCI-P)
- DMA BBB'yi içeren DMA Test Sistemi
Bu alt modüller aşağıdaki DMA AFU Donanım Bileşenleri konusunda daha ayrıntılı olarak açıklanmaktadır.
İlgili Bilgiler
- DMA AFU Donanım Bileşenleri sayfa 6
- Avalon Arayüz Özellikleri
Okuma ve yazma işlemlerine ilişkin zamanlama diyagramları da dahil olmak üzere Avalon-MM protokolü hakkında daha fazla bilgi için.
DMA AFU Yazılım Paketi
FPGA paketiyle Intel Xeon CPU için Intel Hızlandırma Yığını file (*.tar.gz), eski DMA AFU'yu içerirample. Bu eskiampdosya bir kullanıcı alanı sürücüsü sağlar. Ana bilgisayar uygulaması bu sürücüyü, DMA'nın ana bilgisayar ile FPGA belleği arasında veri taşımasını sağlayacak şekilde kullanır. Donanım ikili dosyaları, kaynaklar ve kullanıcı alanı sürücüsü şu dizinde mevcuttur: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu . DMA AFU'yu denemeden önce Açık Programlanabilir Hızlandırma Motoru (OPAE) yazılım paketini yüklemelisiniz. Kurulum talimatları için Intel FPGA Programlanabilir Hızlandırma Kartı D5005 için Intel Acceleration Stack Hızlı Başlangıç Kılavuzu'ndaki OPAE Yazılım Paketinin Kurulumu konusuna bakın. Bu Hızlı Başlangıç Kılavuzu aynı zamanda Açık Programlanabilir Hızlandırma Motoru (OPAE) ve AFU'nun yapılandırılması hakkında temel bilgileri de içerir. Açık Programlanabilir Hızlandırma Motoru (OPAE) yazılım paketini yükledikten sonra,ampdosya ana bilgisayar uygulaması ve DMA AFU kullanıcı alanı sürücüsü şu dizinde mevcuttur: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw. S'yi çalıştırmak içinampIntel FPGA PAC D5005 donanımınızdaki ana bilgisayar uygulaması fpga_dma_test için DMA AFU Ex'in Çalıştırılması bölümündeki adımlara bakın.ample. Intel Kurumu. Her hakkı saklıdır. Intel, Intel logosu ve diğer Intel markaları Intel Corporation'ın veya yan kuruluşlarının ticari markalarıdır. Intel, FPGA ve yarı iletken ürünlerinin performansını Intel'in standart garantisine uygun olarak güncel spesifikasyonlara göre garanti eder, ancak herhangi bir ürün ve hizmette herhangi bir zamanda bildirimde bulunmaksızın değişiklik yapma hakkını saklı tutar. Intel, Intel tarafından yazılı olarak açıkça kabul edilmedikçe, burada açıklanan herhangi bir bilgi, ürün veya hizmetin uygulanmasından veya kullanılmasından kaynaklanan hiçbir sorumluluk veya yükümlülük kabul etmez. Intel müşterilerinin, yayınlanan herhangi bir bilgiye güvenmeden ve ürün veya hizmet siparişi vermeden önce cihaz teknik özelliklerinin en son sürümünü edinmeleri tavsiye edilir. *Diğer isimler ve markaların başkalarının mülkiyetinde olduğu iddia edilebilir.
İlgili Bilgiler
- Intel FPGA Programlanabilir Hızlandırma Kartı D5005 için Intel Acceleration Stack Hızlı Başlangıç Kılavuzu
- OPAE Yazılım Paketinin Kurulumu
DMA AFU Donanım Bileşenleri
DMA AFU, FPGA Arayüz Birimi (FIU) ve FPGA belleği ile arayüz oluşturur. FPGA belleğinin ayrıntılı özellikleri için Intel FPGA Programlanabilir Hızlandırma Kartı D5005 için FPGA Arayüz Yöneticisi Veri Sayfasına bakın. Şu anda mevcut donanım bu bellek yapılandırmasını belirler. Gelecekteki donanım farklı bellek yapılandırmalarını destekleyebilir. Aşağıdaki kaynak ve hedef konumlar arasında veri kopyalamak için DMA AFU'yu kullanabilirsiniz:
- Ana bilgisayardan cihaza FPGA belleği
- Ana bilgisayara cihaz FPGA belleği
Bir Platform Tasarımcısı sistemi, $OPAE_PLATFORM_ROOT/hw/samples/ dma_afu/hw/rtl/TEST_dma/ /dma_test_system.qsys DMA'nın çoğunu uygular
- AFU. Platform Designer sisteminde uygulanan DMA AFU'nun bir kısmı aşağıda bulunabilir
konum:$OPAE_PLATFORM_ROOT/hw/samples/dma_afu/hw/rtl/TEST_dma/ DMA BBB'yi aşağıdaki konumda bulabilirsiniz:
- $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/hw/rtl/dma_bbb
DMA Hızlandırıcı İşlevsel Birim Kullanıcı Kılavuzu: Intel FPGA Programlanabilir Hızlandırma Kartı D5005
DMA AFU Donanım Blok Şeması
DMA AFU, FPGA Arayüz Birimi (FIU) ile arayüz oluşturmak için aşağıdaki dahili modülleri içerir:
- Bellek Eşlemeli IO (MMIO) Kod Çözücü Mantığı: MMIO okuma ve yazma işlemlerini algılar ve bunları geldikleri CCI-P RX kanal 0'dan ayırır. Bu, MMIO trafiğinin asla MPF BBB'ye ulaşmamasını ve bağımsız bir MMIO komut kanalı tarafından hizmet verilmesini sağlar.
- Memory Properties Factory (MPF): Bu modül, DMA'dan gelen okuma yanıtlarının verildikleri sıraya göre geri dönmesini sağlar. Avalon-MM protokolü, okuma yanıtlarının doğru sırada dönmesini gerektirir.
- CCI-P'den Avalon-MM'ye Adaptör: Bu modül, CCI-P ve Avalon-MM işlemleri arasında aşağıdaki şekilde çeviri yapar:
- CCI-P'den Avalon-MMIO'ya Adaptör: Bu yol, CCI-P MMIO işlemlerini Avalon-MM işlemlerine dönüştürür.
- Avalon'dan CCI-P Ana Bilgisayar Bağdaştırıcısına: Bu yollar, DMA'nın ana bilgisayar belleğine erişmesi için ayrı salt okunur ve salt yazılır yollar oluşturur.
- DMA Test Sistemi: Bu modül, DMA ana birimlerini AFU'daki mantığın geri kalanına maruz bırakmak için DMA BBB'nin etrafında bir sarıcı görevi görür. DMA BBB ile CCI-P - Avalon Adaptörü arasında arayüz sağlar. Ayrıca DMA BBB ile yerel FPGA SDRAM bankaları arasında arayüz sağlar.
İlgili Bilgiler
Intel FPGA Programlanabilir Hızlandırma Kartı D5005 için FPGA Arayüz Yöneticisi Veri Sayfası
DMA Test Sistemi
DMA test sistemi, DMA BBB'yi CCI-P uyarlaması ve yerel FPGA belleği dahil olmak üzere FPGA tasarımının geri kalanına bağlar.
DMA Test Sistemi Blok Şeması
Bu blok diyagram DMA test sisteminin iç kısımlarını gösterir. DMA test sistemi sayfa 1'deki Şekil 7'de monolitik bir blok olarak gösterilmektedir.
DMA test sistemi aşağıdaki dahili modülleri içerir:
- Uzak Erişim Köprüsü/Boru Hattı Köprüsü: Topolojiyi kontrol etmek ve Fmax tasarımını geliştirmek için ayarlanabilir gecikme süresine sahip bir boru hattı köprüsü.
- DMA AFU Cihaz Özelliği Başlığı (DFH): Bu, DMA AFU için bir DFH'dir. Bu DFH, 0x100 (DMA BBB DFH) uzaklığında bulunan bir sonraki DFH'ye işaret eder.
- Boş DFH: Bu bileşen DFH bağlantılı listesini sonlandırır. Tasarıma daha fazla DMA BBB eklerseniz boş DFH temel adresinin DFH bağlantılı listesinin sonunda bulunduğundan emin olun.
- MA Temel Yapı Bloğu (BBB): Bu blok, verileri ana bilgisayar ile yerel FPGA belleği arasında taşır. Ayrıca tanımlayıcı zincirlere erişmek için ana bilgisayar belleğine de erişir.
DMA BBB
DMA BBB alt sistemi, Avalon-MM işlemlerini kullanarak verileri kaynaktan hedef adreslere aktarır. DMA sürücüsü, sistem içindeki çeşitli bileşenlerin kontrol ve durum kayıtlarına erişerek DMA BBB'yi kontrol eder. DMA sürücüsü aynı zamanda aktarım tanımlayıcılarını iletmek için paylaşılan belleği kullanarak DMA BBB'yi de kontrol eder. DMA BBB, FPGA belleğindeki verilere 0x0 uzaklığında erişir. DMA BBB, ana bilgisayar belleğindeki verilere ve tanımlayıcılara 0x1_0000_0000_0000 uzaklığında erişir.
DMA BBB Platform Tasarımcısı Blok Diyagramı
Bu blok şeması bazı dahili Pipeline Bridge IP çekirdeklerini hariç tutar.
DMA Hızlandırıcı İşlevsel Birim Kullanıcı Kılavuzu: Intel FPGA Programlanabilir Hızlandırma Kartı D5005
DMA AFU Açıklaması
DMA BBB Platform Designer'daki bileşenler aşağıdaki işlevleri gerçekleştirir:
- Uzak Erişim Köprüsü/Boru Hattı Köprüsü: Topolojiyi kontrol etmek ve Fmax tasarımını geliştirmek için ayarlanabilir gecikmeye sahip bir boru hattı köprüsü dahildir.
- MA BBB DFH: Bu, DMA BBB için bir cihaz özelliği başlığıdır. Bu DFH, 0x100 (Boş DFH) uzaklığında bulunan bir sonraki DFH'ye işaret eder.
- Tanımlayıcı Ön Ucu: Tanımlayıcıların getirilmesinden ve bunların Göndericiye aktarılmasından sorumludur. Bir DMA aktarımı tamamlandığında, ön uç Dağıtıcıdan durum oluşumunu alır ve ana bilgisayar belleğindeki tanımlayıcının üzerine yazar.
- Görevli: Bu blok, DMA aktarım isteklerini Okuma ve Yazma Yöneticisine programlar.
- Ustayı Okuyun: Bu blok, ana bilgisayardan veya yerel FPGA belleğinden veri okumaktan ve bunu akış verileri olarak Write Master'a göndermekten sorumludur.
- Usta yaz: Bu blok, Read Master'dan akış verilerinin alınmasından ve içeriklerin ana bilgisayar veya yerel FPGA belleğine yazılmasından sorumludur.
Harita ve Adres Alanlarını Kaydetme
DMA AFU iki belleği destekler views: DMA view ve ev sahibi view. DMA view 49 bit adres alanını destekler. DMA'nın alt yarısı view yerel FPGA belleğine eşlenir. DMA'nın üst yarısı view ana bilgisayar belleğine eşlenir. Göçebe view DFH tabloları gibi MMIO erişimleri aracılığıyla erişilebilen tüm kayıtları ve DMA AFU içinde kullanılan çeşitli IP çekirdeklerinin kontrol/durum kayıtlarını içerir. DMA BBB ve AFU'daki MMIO kayıtları 32 ve 64 bit erişimi destekler. DMA AFU, 512 bit MMIO erişimlerini desteklemez. DMA BBB içindeki Gönderici kayıtlarına erişimler 32 bit olmalıdır (Tanımlayıcı ön ucu 64 bit kayıtları uygular).
DMA AFU Kayıt Haritası
DMA AFU kayıt haritası, ünite içindeki tüm konumların mutlak adreslerini sağlar. Bu kayıtlar ana bilgisayardadır view çünkü bunlara yalnızca ana bilgisayar erişebilir.
DMA AFU Bellek Haritası
Bayt Adresi Ofsetleri | İsim | Bayt cinsinden yayılma | Tanım |
0x0 | DMA AFU DFH | 0x40 | DMA AFU için cihaz özelliği başlığı. ID_L, 0x9081f88b8f655caa olarak ve ID_H, 0x331db30c988541ea olarak ayarlanmıştır. DMA AFU DFH, bir sonraki DFH'yi (DMA BBB DFH) bulmak için 0x100 ofsetini işaret edecek şekilde parametrelenmiştir. DMA AFU DFH'nin temel adresini, CCIP spesifikasyonu tarafından tanımlandığı gibi 0x0 adresinde bulunması gerektiğinden değiştirmemelisiniz. |
0x100 | DMA BBB | 0x100 | DMA BBB kontrolünü ve durum kayıt arayüzünü belirtir. Daha fazla bilgi için DMA BBB kayıt haritasına başvurabilirsiniz. 0 uzaklığında DMA BBB içerisinde DMA BBB kendi DFH'sini içerir. Bu DFH, sonraki DFH'yi 0x100 (BOŞ DFH) uzaklığında bulacak şekilde ayarlanmıştır. Daha fazla DMA BBB eklerseniz, bunları 0x100 aralıklarla ayırın ve NULL DFH'nin son DMA'yı 0x100 takip ettiğinden emin olun. |
0x200 | BOŞ DFH | 0x40 | DFH bağlantılı listesini sonlandırır. ID_L, 0x90fe6aab12a0132f olarak ve ID_H, 0xda1182b1b3444e23 olarak ayarlanmıştır. NULL DFH, donanımdaki son DFH olacak şekilde parametrelendirilmiştir. Bu nedenle NULL DFH 0x200 adresinde bulunur. Sisteme ek DMA BBB'ler eklerseniz, NULL DFH baz adresini en yüksek adreste kalacak şekilde buna göre artırmanız gerekir. DMA sürücüsü ve test uygulaması bu donanımı kullanmaz. |
Intel Kurumu. Tüm hakları Saklıdır. Intel, Intel logosu ve diğer Intel markaları, Intel Corporation'ın veya yan kuruluşlarının ticari markalarıdır. Intel, FPGA ve yarı iletken ürünlerinin Intel'in standart garantisine uygun olarak mevcut teknik özelliklere göre performansını garanti eder, ancak herhangi bir zamanda herhangi bir bildirimde bulunmaksızın herhangi bir ürün ve hizmette değişiklik yapma hakkını saklı tutar. Intel, yazılı olarak açıkça kabul etmedikçe, burada açıklanan herhangi bir bilgi, ürün veya hizmetin uygulanmasından veya kullanılmasından kaynaklanan hiçbir sorumluluk veya yükümlülük kabul etmez. Intel müşterilerinin, yayınlanmış herhangi bir bilgiye güvenmeden ve ürün veya hizmet siparişi vermeden önce cihaz özelliklerinin en son sürümünü edinmeleri önerilir. *Diğer adlar ve markalar başkalarının mülkiyetinde olabilir.
Harita ve Adres Alanlarını Kaydetme
DMA BBB Bellek Haritası
Aşağıdaki bayt adresleri, DMA AFU sistemindeki (0x100) DMA BBB temel adresinden göreli sapmalardır.
Bayt Adresi Ofsetleri | İsim | Bayt cinsinden yayılma | Tanım |
0x0 | DMA BBB DFH | 0x40 | DMA AFU için cihaz özelliği başlığı. ID_L, 0xa9149a35bace01ea olarak ayarlanmıştır ve ID_H, 0xef82def7f6ec40fc olarak ayarlanmıştır. DMA BBB DFH, bir sonraki DFH ofseti için 0x100'ü gösterecek şekilde parametrelendirilmiştir. Bu sonraki ofset başka bir DMA BBB, başka bir DFH (bu tasarıma dahil değildir) veya NULL DFH olabilir. |
0x40 | Sevk görevlisi | 0x40 | Dağıtıcı için kontrol bağlantı noktası. DMA sürücüsü bu konumu DMA'yı kontrol etmek veya durumunu sorgulamak için kullanır. |
0x80 | Tanımlayıcı Ön Uç | 0x40 | Tanımlayıcı ön ucu, ana bilgisayar belleğinden tanımlayıcıları okuyan ve DMA aktarımı tamamlandığında tanımlayıcının üzerine yazan özel bir bileşendir. Sürücü, ön uca ilk tanımlayıcının ana bilgisayar belleğinde nerede bulunduğunu bildirir ve ardından ön uç donanımı, öncelikle ana bilgisayar belleğinde depolanan tanımlayıcılar aracılığıyla sürücüyle iletişim kurar. |
DMA AFU Adres Alanı
Ana bilgisayar, 4. sayfadaki Tablo 12'te ve 5. sayfadaki Tablo 13'te listelenen kayıtlara erişebilir. DMA BBB alt sisteminin 49 bitlik adres alanının tamamına erişimi vardır. Bu adres alanının alt yarısı yerel FPGA hafızalarını içerir. Bu adres alanının üst yarısı 48 bitlik ana bilgisayar adres belleğini içerir. Aşağıdaki şekilde ana bilgisayar ve DMA gösterilmektedir viewhafıza.
DMA AFU ve Ana Bilgisayar ViewBellek
Cihaz Özellik Başlığı Bağlantılı Liste
DMA AFU tasarımı eskiampDosya, bağlantılı bir liste oluşturan üç cihaz özelliği başlığını (DFH) içerir. Bu bağlantılı liste,ampDMA AFU'yu ve ayrıca DMA BBB'yi tanımlayan sürücüyü tanımlayan dosya uygulaması. DFH listesinin sonunda NULL DFH bulunur. Bağlantılı listenin sonuna boş DFH'nin dahil edilmesi, tasarımınıza daha fazla DMA BBB eklemenizi sağlar. NULL DFH'yi diğer BBB'lerden sonraki bir adrese taşımanız yeterlidir. Her DMA BBB, bir sonraki DFH'nin, BBB'nin temel adresinden 0x100 bayt uzakta bulunmasını bekler. Aşağıdaki şekilde DMA AFU tasarımına yönelik bağlantılı liste gösterilmektedir.ampley.
Harita ve Adres Alanlarını Kaydetme
DMA AFU Cihaz Özellik Başlığı (DFH) Zincirleme
Yazılım Programlama Modeli
DMA AFU, kendi ana bilgisayar uygulamanızda kullanabileceğiniz bir yazılım sürücüsü içerir. Fpga_dma.cpp ve fpga_dma.h fileaşağıdaki konumda bulunur ve yazılım sürücüsünü uygular:$OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw Bu sürücü aşağıdaki işlevleri destekler:
API | Tanım |
fpgaCountDMA Kanalları | DMA BBB'ler için cihaz özellik zincirini tarar ve mevcut tüm kanalları sayar. |
fpgaDMAAçık | DMA kanalına bir tanıtıcı açar. |
fpgaDMAKapat | DMA kanalına yönelik bir tanıtıcıyı kapatır. |
fpgaDMATransferInit | DMA aktarımını temsil eden bir nesneyi başlatır. |
fpgaDMATransferReset | DMA aktarım özniteliği nesnesini varsayılan değerlere sıfırlar. |
fpgaDMATransferDestroy | DMA aktarım özniteliği nesnesini yok eder. |
fpgaDMATransferSetSrc | Aktarımın kaynak adresini ayarlar. Bu adresin 64 byte hizalanmış olması gerekir. |
fpgaDMATransferSetDst | Aktarımın hedef adresini ayarlar. Bu adresin 64 byte hizalanmış olması gerekir. |
fpgaDMATransferSetLen | Aktarım uzunluklarını bayt cinsinden ayarlar. Paket dışı aktarımlar için aktarım uzunluğunu 64 baytın katlarına ayarlamanız gerekir. Paket aktarımları için bu bir gereklilik değildir. |
fpgaDMATransferSetTransferType | Aktarım türünü ayarlar. Yasal değerler şunlardır:
• HOST_MM_TO_FPGA_MM = TX (Ana Bilgisayardan AFU'ya) • FPGA_MM_TO_HOST_MM = RX (AFU'dan ana bilgisayara) |
fpgaDMATransferSetTransferCallback | Eşzamansız aktarımın tamamlanmasıyla ilgili bildirim için geri aramayı kaydeder. Bir geri arama belirtirseniz, fpgaDMATransfer hemen geri döner (eşzamansız aktarım).
Bir geri arama belirtmezseniz, fpgaDMATransfer aktarım tamamlandıktan sonra geri döner (senkron/engelleme aktarımı). |
fpgaDMATransferSetLast | DMA'nın önceden getirilen aktarımları işlemeye başlayabilmesi için son aktarımı belirtir. Varsayılan değer, DMA aktarımlar üzerinde çalışmaya başlamadan önce ardışık düzende 64 aktarımdır. |
fpgaDMATransferi | DMA aktarımı gerçekleştirir. |
API, giriş ve çıkış bağımsız değişkenleri hakkında daha fazla bilgi için başlığa bakın file $OPAE_PLATFORM_ROOT/hw/s konumundaamples/dma_afu/sw/fpga_dma.hIntel Corporation. Her hakkı saklıdır. Intel, Intel logosu ve diğer Intel markaları Intel Corporation'ın veya yan kuruluşlarının ticari markalarıdır. Intel, FPGA ve yarı iletken ürünlerinin performansını Intel'in standart garantisine uygun olarak güncel spesifikasyonlara göre garanti eder, ancak herhangi bir ürün ve hizmette herhangi bir zamanda bildirimde bulunmaksızın değişiklik yapma hakkını saklı tutar. Intel, Intel tarafından yazılı olarak açıkça kabul edilmedikçe, burada açıklanan herhangi bir bilgi, ürün veya hizmetin uygulanmasından veya kullanılmasından kaynaklanan hiçbir sorumluluk veya yükümlülük kabul etmez. Intel müşterilerinin, yayınlanan herhangi bir bilgiye güvenmeden ve ürün veya hizmet siparişi vermeden önce cihaz teknik özelliklerinin en son sürümünü edinmeleri tavsiye edilir. Diğer isimler ve markaların başkalarının mülkiyetinde olduğu iddia edilebilir.
Yazılım Programlama Modeli
Yazılım sürücüsü kullanım modeli hakkında daha fazla bilgi edinmek için README'ye bakın. file $OPAE_PLATFORM_ROOT/hw/s konumunda bulunuyoramples/dma_afu/README.md
DMA AFU Ex'i Çalıştırmaample
Başlamadan önce:
- Eski sevgiliye aşina olmalısınampIntel FPGA Programlanabilir Hızlandırma Kartı D5005 için Intel Acceleration Stack Hızlı Başlangıç Kılavuzu'ndaki dosyalar.
- Bir ortam değişkeni tanımlamanız gerekir. Ortam değişkeni, kullandığınız Intel Acceleration Stack sürümüne bağlıdır:
- Geçerli sürüm için ortam değişkenini $OPAE_PLATFORM_ROOT olarak ayarlayın
- DMA sürücüsü buna bağlı olduğundan Intel Threading Building Blocks (TBB) kitaplığını yüklemelisiniz.
- Ayrıca, s'yi çalıştırmak için iki adet 1 GB'lik büyük sayfa ayarlamanız gerekir.ampuygulama. $ sudo sh -c “echo 2 > /sys/kernel/mm/hugepages/hugepages-1048576kB/ nr_hugepages”
DMA Hızlandırıcı İşlevi (AF) bit akışını indirmek, uygulamayı ve sürücüyü oluşturmak ve eski tasarımı çalıştırmak için aşağıdaki adımları uygulayın.amptarih:
- DMA uygulamasına ve sürücü dizinine geçin: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw
- Sürücüyü ve uygulamayı oluşturun: make
- DMA AFU bit akışını indirin: Sudo fpgasupdate ../bin/dma_afu_unsigned.gbs
- Ana bilgisayar belleğinden FPGA aygıt belleğine 100 MB'lık kısımlar halinde 1 MB yazmak ve geri okumak için ana bilgisayar uygulamasını çalıştırın: ./ fpga_dma_test -s 104857600 -p 1048576 -r mtom
İlgili Bilgiler
Intel FPGA Programlanabilir Hızlandırma Kartı D5005 Intel Corporation için Intel Acceleration Stack Hızlı Başlangıç Kılavuzu. Her hakkı saklıdır. Intel, Intel logosu ve diğer Intel markaları Intel Corporation'ın veya yan kuruluşlarının ticari markalarıdır. Intel, FPGA ve yarı iletken ürünlerinin performansını Intel'in standart garantisine uygun olarak güncel spesifikasyonlara göre garanti eder, ancak herhangi bir ürün ve hizmette herhangi bir zamanda bildirimde bulunmaksızın değişiklik yapma hakkını saklı tutar. Intel, Intel tarafından yazılı olarak açıkça kabul edilmedikçe, burada açıklanan herhangi bir bilgi, ürün veya hizmetin uygulanmasından veya kullanılmasından kaynaklanan hiçbir sorumluluk veya yükümlülük kabul etmez. Intel müşterilerinin, yayınlanan herhangi bir bilgiye güvenmeden ve ürün veya hizmet siparişi vermeden önce cihaz teknik özelliklerinin en son sürümünü edinmeleri tavsiye edilir. *Diğer isimler ve markaların başkalarının mülkiyetinde olduğu iddia edilebilir.
DMA AFU Ex'in derlenmesiample
AF'yi derlemek amacıyla bir sentez oluşturma ortamı oluşturmak için afu_synth_setup komutunu aşağıdaki gibi kullanın:
- DMA AFU'larında değişiklikampdosya dizini: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu
- Tasarım derleme dizinini oluşturun: afu_synth_setup –source hw/rtl/filelist.txt build_synth
- Hedef donanım platformu için bir AF oluşturmak üzere afu_synth_setup tarafından oluşturulan sentez oluşturma dizininden, bir terminal penceresinden aşağıdaki komutları girin: cd build_synth run.sh run.sh AF oluşturma komut dosyası, AF görüntüsünü aynı tabanla oluşturur fileAFU'nun platform konfigürasyonu olarak adlandırın file (.json) şu konumda .gbs sonekiyle:$OPAE_PLATFORM_ROOT/hw/samples/build_synth/dma_afu_s10.gbs Intel Corporation. Her hakkı saklıdır. Intel, Intel logosu ve diğer Intel markaları Intel Corporation'ın veya yan kuruluşlarının ticari markalarıdır. Intel, FPGA ve yarı iletken ürünlerinin performansını Intel'in standart garantisine uygun olarak güncel spesifikasyonlara göre garanti eder, ancak herhangi bir ürün ve hizmette herhangi bir zamanda bildirimde bulunmaksızın değişiklik yapma hakkını saklı tutar. Intel, Intel tarafından yazılı olarak açıkça kabul edilmedikçe, burada açıklanan herhangi bir bilgi, ürün veya hizmetin uygulanmasından veya kullanılmasından kaynaklanan hiçbir sorumluluk veya yükümlülük kabul etmez. Intel müşterilerinin, yayınlanan herhangi bir bilgiye güvenmeden ve ürün veya hizmet siparişi vermeden önce cihaz teknik özelliklerinin en son sürümünü edinmeleri tavsiye edilir. *Diğer isimler ve markaların başkalarının mülkiyetinde olduğu iddia edilebilir.
AFU Ex'in simülasyonuample
Intel, benzer ex simülasyonlarına aşina olmanız için Intel FPGA PAC'ınız için Intel Hızlandırıcı İşlevsel Birim (AFU) Simülasyon Ortamı (ASE) Hızlı Başlangıç Kılavuzu'na başvurmanızı önerir.ampDosyaları ve ortamınızı ayarlamak için. Aşağıdaki adımlara geçmeden önce OPAE_PLATFORM_ROOT ortam değişkeninin OPAE SDK kurulum dizinine ayarlandığını doğrulayın. DMA AFU'ya yönelik donanım simülatörünü kurmak için aşağıdaki adımları tamamlayın:
- DMA AFU'larında değişiklikampdosya dizini: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu
- Yeni bir dizinde bir ASE ortamı oluşturun ve bunu bir AFU simülasyonu için yapılandırın: afu_sim_setup –source hw/rtl/filelist.txt build_ase_dir
- ASE derleme dizinine geçin: cd build_ase_dir
- Sürücüyü ve uygulamayı oluşturun: make
- Simülasyon yap: sim yap
Sampdonanım simülatöründen dosya çıktısı:
[SIM] ** DİKKAT: Yazılım uygulamasını çalıştırmadan ÖNCE ** [SIM] Uygulamanın çalışacağı terminalde env(ASE_WORKDIR) değerini ayarlayın (kopyala ve yapıştır) => [SIM] $SHELL | Çalıştır:[SIM] ———+———————————————— [SIM] bash/zsh | dışa aktar ASE_WORKDIR=$OPAE_PLATFORM_ROOT/hw/samples/dma_afu/ase_mkdir/work [SIM] tcsh/csh | setenv ASE_WORKDIR $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/ase_mkdir/work [SIM] Başka herhangi bir $SHELL için, Linux yöneticinize danışın [SIM] [SIM] Simülasyon için hazır… [SIM] Simülatörü kapatmak için CTRL-C'ye basın…DMA AFU yazılımını simülasyon ortamında derlemek ve yürütmek için aşağıdaki adımları tamamlayın:
- Yeni bir terminal penceresi açın.
- Dizini şu şekilde değiştirin: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw
Intel Kurumu. Tüm hakları Saklıdır. Intel, Intel logosu ve diğer Intel markaları, Intel Corporation'ın veya yan kuruluşlarının ticari markalarıdır. Intel, FPGA ve yarı iletken ürünlerinin Intel'in standart garantisine uygun olarak mevcut teknik özelliklere göre performansını garanti eder, ancak herhangi bir zamanda herhangi bir bildirimde bulunmaksızın herhangi bir ürün ve hizmette değişiklik yapma hakkını saklı tutar. Intel, yazılı olarak açıkça kabul etmedikçe, burada açıklanan herhangi bir bilgi, ürün veya hizmetin uygulanmasından veya kullanılmasından kaynaklanan hiçbir sorumluluk veya yükümlülük kabul etmez. Intel müşterilerinin, yayınlanmış herhangi bir bilgiye güvenmeden ve ürün veya hizmet siparişi vermeden önce cihaz özelliklerinin en son sürümünü edinmeleri önerilir. *Diğer adlar ve markalar başkalarının mülkiyetinde olabilir.
AFU Ex'in simülasyonuample
- Donanım simülasyonunda yukarıdaki adımlardan ortam kurulum dizesini (kabuğunuz için uygun dizeyi seçin) terminal penceresine kopyalayın. Aşağıdaki satırlara bakınampdonanım simülatöründen dosya çıktısı. [SIM] bash/zsh | dışa aktar ASE_WORKDIR=$OPAE_PLATFORM_ROOT/hw/samples/dma_afu/build_ase_dir/work [SIM] tcsh/csh | setenv ASE_WORKDIR $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/build_ase_dir/work
- Yazılımı derleyin: $ make USE_ASE=1
- Geri döngü modunda ana bilgisayar belleğinden FPGA cihaz belleğine 4 KB'lik kısımlar halinde 1 KB yazmak için ana bilgisayar uygulamasını çalıştırın: ./ fpga_dma_test -s 4096 -p 1024 -r mtom
İlgili Bilgiler
Intel Accelerator Functional Unit (AFU) Simülasyon Ortamı (ASE) Hızlı Başlangıç Kullanıcı Kılavuzu
Geliştirilmiş DMA Performansı için Optimizasyon
Fpga_dma_test.cpp'de NUMA (tek tip olmayan bellek erişimi) optimizasyonunun uygulanması, işlemcinin kendi yerel belleğine, yerel olmayan belleğe (başka bir işlemcideki yerel bellek) erişimden daha hızlı erişmesine olanak tanır. Tipik bir NUMA konfigürasyonu aşağıdaki şemada gösterilmektedir. Yerel erişim, bir çekirdekten aynı çekirdeğe yerel belleğe erişimi temsil eder. Uzaktan erişim, Düğüm 0'daki bir çekirdek, Düğüm 1'e yerel bellekte bulunan belleğe eriştiğinde alınan yolu gösterir.
Tipik NUMA Yapılandırması
NUMA optimizasyonunu test uygulamanıza uygulamak için aşağıdaki kodu kullanın:
// İstenirse uygun benzeşimi ayarlayın if (cpu_affinity || Memory_affinity) {unsigned dom = 0, bus = 0, dev = 0, func = 0; fpga_properties props;int retval; #if(FPGA_DMA_DEBUG)char str[4096]; #endifres = fpgaGetProperties(afc_token, &props); ON_ERR_GOTO(res, out_destroy_tok, “fpgaGetProperties”); res = fpgaPropertiesGetBus(props, (uint8_t *) & bus);ON_ERR_GOTO(res, out_destroy_tok, “fpgaPropertiesGetBus”); res = fpgaPropertiesGetDevice(props, (uint8_t *) & dev);ON_ERR_GOTO(res, out_destroy_tok, “fpgaPropertiesGetDevice”) res = fpgaPropertiesGetFunction(props, (uint8_t *) & func);ON_ERR_GOTO(res, out_destroy_tok, “fpgaPropertiesGetFunction”); // Cihazı hwloc_topology_t topolojisinden bulun; hwloc_topology_init(&topoloji); hwloc_topology_set_flags(topoloji, HWLOC_TOPOLOGY_FLAG_IO_DEVICES);Intel Corporation. Her hakkı saklıdır. Intel, Intel logosu ve diğer Intel markaları Intel Corporation'ın veya yan kuruluşlarının ticari markalarıdır. Intel, FPGA ve yarı iletken ürünlerinin performansını Intel'in standart garantisine uygun olarak güncel spesifikasyonlara göre garanti eder, ancak herhangi bir ürün ve hizmette önceden bildirimde bulunmaksızın herhangi bir zamanda değişiklik yapma hakkını saklı tutar. Intel, Intel tarafından yazılı olarak açıkça kabul edilmedikçe, burada açıklanan herhangi bir bilgi, ürün veya hizmetin uygulanmasından veya kullanılmasından kaynaklanan hiçbir sorumluluk veya yükümlülük kabul etmez. Intel müşterilerinin, yayınlanan herhangi bir bilgiye güvenmeden ve ürün veya hizmet siparişi vermeden önce cihaz teknik özelliklerinin en son sürümünü edinmeleri tavsiye edilir. *Diğer isimler ve markaların başkalarının mülkiyetinde olduğu iddia edilebilir.
Geliştirilmiş DMA Performansı için Optimizasyon
hwloc_topology_load(topoloji); hwloc_obj_t obj = hwloc_get_pcidev_by_busid(topoloji, dom, veri yolu, geliştirici, işlev); hwloc_obj_t obj2 = hwloc_get_non_io_ancestor_obj(topoloji, nesne); #if (FPGA_DMA_DEBUG) hwloc_obj_type_snprintf(str, 4096, obj2, 1); printf(“%s\n”, str);hwloc_obj_attr_snprintf(str, 4096, obj2, ” :: “, 1);printf(“%s\n”, str); hwloc_bitmap_taskset_snprintf(str, 4096, obj2->cpuset); printf(“CPUSET: %s\n”, str); hwloc_bitmap_taskset_snprintf(str, 4096, obj2->nodeset); printf (“düğümler %s \ n”, str); #endif if (belleğer_afinlik) {#if hwloc_api_version> 0x00020000 retval = hwloc_set_membind (topoloji, obj2-> nodeset, hwloc_membind_thread, hwloc_membin_met; #else retval =hwloc_set_membind_nodeset(topoloji, obj2->düğümkümesi, HWLOC_MEMBIND_THREAD,HWLOC_MEMBIND_MIGRATE); #endifON_ERR_GOTO(geri alma, out_destroy_tok, “hwloc_set_membind”); } if (cpu_affinity) { retval = hwloc_set_cpubind(topoloji, obj2->cpuset, HWLOC_CPUBIND_STRICT); ON_ERR_GOTO(geri alma, out_destroy_tok, “hwloc_set_cpubind”); } }
DMA Hızlandırıcı İşlevsel Birim Kullanım Kılavuzu Arşivleri
Intel Hızlandırma Yığın Sürümü | Kullanım Kılavuzu (PDF) |
2.0 | DMA Hızlandırıcı İşlevsel Birimi (AFU) Kullanıcı Kılavuzu |
DMA Hızlandırıcı İşlevsel Birimi Kullanıcı Kılavuzu için Belge Revizyon Geçmişi
Belge Sürümü |
Intel Hızlandırma Yığın Sürümü |
Değişiklikler |
2020.08.03 |
2.0.1 (Intel ile desteklenir)
Quartus® Prime Pro Sürümü Sürüm 19.2) |
AF görüntüsü düzeltildi file bölümdeki isim DMA AFU Ex'in derlenmesiample. |
2020.04.17 |
2.0.1 (Intel ile desteklenir)
Quartus Prime Pro Sürümü Sürüm 19.2) |
Bir ifadeyi düzeltti Hedef Kitle bölüm. |
2020.02.20 |
2.0.1 (Intel ile desteklenir)
Quartus Prime Pro Sürümü Sürüm 19.2) |
Yazım hatası düzeltildi. |
2019.11.04 |
2.0.1 (Intel ile desteklenir) Quartus Prime Pro Sürümü Sürüm 19.2) |
• bölümünde FPGA'yı önceden oluşturulmuş AFU ile yapılandırırken fpgaconf, fpgasupdate ile değiştirildi. DMA AFU Ex'i Çalıştırmaample.
• Altyazı eklendi Intel FPGA Programlanabilir Hızlandırma Kartı D5005 belge başlığına. • $OPAE_PLATFORM_ROOT ortam değişkeni eklendi. • Değiştirilmiş bölüm Yazılım Programlama Modeli küçük düzenlemeler için. • Yeni bölüm eklendi DMA AFU Ex'in derlenmesiample. • Değiştirilmiş bölüm Geliştirilmiş DMA Performansı için Optimizasyon küçük düzenlemeler için. |
2019.08.05 |
2.0 (Intel ile desteklenir)
Quartus Prime Pro Sürümü 18.1.2) |
İlk sürüm. |
Intel Kurumu. Her hakkı saklıdır. Intel, Intel logosu ve diğer Intel markaları Intel Corporation'ın veya yan kuruluşlarının ticari markalarıdır. Intel, FPGA ve yarı iletken ürünlerinin performansını Intel'in standart garantisine uygun olarak güncel spesifikasyonlara göre garanti eder, ancak herhangi bir ürün ve hizmette herhangi bir zamanda bildirimde bulunmaksızın değişiklik yapma hakkını saklı tutar. Intel, Intel tarafından yazılı olarak açıkça kabul edilmedikçe, burada açıklanan herhangi bir bilgi, ürün veya hizmetin uygulanmasından veya kullanılmasından kaynaklanan hiçbir sorumluluk veya yükümlülük kabul etmez. Intel müşterilerinin, yayınlanan herhangi bir bilgiye güvenmeden ve ürün veya hizmet siparişi vermeden önce cihaz teknik özelliklerinin en son sürümünü edinmeleri tavsiye edilir.
- Diğer isimler ve markalar başkalarının malı olarak iddia edilebilir.
Belgeler / Kaynaklar
![]() |
Intel FPGA Programlanabilir Hızlandırma Kartı D5005 [pdf] Kullanıcı Kılavuzu FPGA Programlanabilir Hızlandırma Kartı, D5005, FPGA Programlanabilir Hızlandırma Kartı D5005, DMA Hızlandırıcı Fonksiyonel Birimi |