Intel FPGA Proqramlaşdırıla bilən Sürətləndirmə Kartı D5005
Bu Sənəd haqqında
Bu sənəd yaddaşa birbaşa giriş (DMA) Sürətləndirici Funksional Vahidin (AFU) həyata keçirilməsini və aparatda və ya simulyasiyada işləmək üçün dizaynın necə qurulmasını təsvir edir.
Nəzərdə tutulan Auditoriya
Nəzərdə tutulan auditoriyaya Intel FPGA cihazına qoşulmuş yaddaşda məlumatları yerli olaraq bufer etmək üçün Sürətləndirici Funksiya (AF) tələb edən aparat və ya proqram təminatı tərtibatçıları daxildir.
Konvensiyalar
Sənəd Konvensiyaları
Konvensiya | Təsvir |
# | Komandanın kök kimi daxil edilməli olduğunu göstərən əmrdən əvvəl gəlir. |
$ | Komandanın istifadəçi kimi daxil edilməli olduğunu göstərir. |
Bu şrift | Fileadlar, əmrlər və açar sözlər bu şriftdə çap olunur. Uzun əmr sətirləri bu şriftlə çap olunur. Uzun əmr sətirləri növbəti sətirə keçə bilsə də, qaytarma əmrin bir hissəsi deyil; enter düyməsini basmayın. |
Bucaq mötərizələri arasında görünən yertutan mətnin müvafiq dəyərlə əvəz edilməli olduğunu göstərir. Bucaq mötərizələrinə daxil olmayın. |
Akronimlər
Akronimlər
Akronimlər | Genişlənmə | Təsvir |
AF | Sürətləndirici funksiyası | Tətbiqi sürətləndirən FPGA məntiqində həyata keçirilən tərtib edilmiş Hardware Accelerator təsviri. |
AFU | Sürətləndirici Funksional Bölmə | Performansı yaxşılaşdırmaq üçün CPU-dan proqram üçün hesablama əməliyyatını yükləyən FPGA məntiqində həyata keçirilən Hardware Accelerator. |
API | Tətbiq proqramlaşdırma interfeysi | Proqram təminatının yaradılması üçün alt proqram tərifləri, protokollar və alətlər toplusu. |
CCI-P | Core Cache Interface | CCI-P AFU-ların ev sahibi ilə əlaqə saxlamaq üçün istifadə etdiyi standart interfeysdir. |
DFH | Cihaz Xüsusiyyətinin Başlığı | Xüsusiyyətlər əlavə etmək üçün genişləndirilə bilən bir üsul təmin etmək üçün xüsusiyyət başlıqlarının əlaqəli siyahısını yaradır. |
davam etdi... |
Intel Korporasiyası. Bütün hüquqlar qorunur. Intel, Intel loqosu və digər Intel markaları Intel Korporasiyasının və ya onun törəmə şirkətlərinin ticarət nişanlarıdır. Intel FPGA və yarımkeçirici məhsullarının Intel-in standart zəmanətinə uyğun olaraq cari spesifikasiyalara uyğun işləməsinə zəmanət verir, lakin istənilən vaxt xəbərdarlıq etmədən istənilən məhsul və xidmətlərə dəyişiklik etmək hüququnu özündə saxlayır. Intel tərəfindən yazılı şəkildə razılaşdırılmış hallar istisna olmaqla, burada təsvir edilən hər hansı məlumatın, məhsulun və ya xidmətin tətbiqi və ya istifadəsindən irəli gələn heç bir məsuliyyət və ya öhdəlik daşımır. Intel müştərilərinə hər hansı dərc edilmiş məlumata etibar etməzdən və məhsul və ya xidmətlər üçün sifariş verməzdən əvvəl cihazın texniki xüsusiyyətlərinin ən son versiyasını əldə etmələri tövsiyə olunur. *Başqa adlar və brendlər başqalarının mülkiyyəti kimi iddia oluna bilər.
Akronimlər | Genişlənmə | Təsvir |
FIM | FPGA interfeys meneceri | FPGA interfeys vahidi (FIU) və yaddaş, şəbəkə və s. üçün xarici interfeysləri ehtiva edən FPGA aparatı.
Sürətləndirici Funksiya (AF) işləmə zamanı FIM ilə interfeys yaradır. |
FIU | FPGA interfeys vahidi | FIU, PCIe*, UPI kimi platforma interfeysləri və CCI-P kimi AFU tərəfi interfeysləri arasında körpü rolunu oynayan platforma interfeysi təbəqəsidir. |
MPF | Yaddaş Xüsusiyyətləri Fabriki | MPF, AFU-ların FIU ilə əməliyyatlar üçün CCI-P trafik formalaşma əməliyyatlarını təmin etmək üçün istifadə edə biləcəyi Əsas Tikinti Blokudur (BBB). |
Sürətləndirmə lüğəti
FPGA Lüğəti ilə Intel® Xeon® CPU üçün sürətləndirici yığın
Müddət | İxtisar | Təsvir |
FPGA ilə Intel Xeon® CPU üçün Intel® Sürətləndirmə Yığması | Sürətləndirmə yığını | Intel FPGA və Intel Xeon prosessoru arasında performans baxımından optimallaşdırılmış əlaqəni təmin edən proqram, proqram təminatı və alətlər toplusu. |
Intel FPGA Proqramlaşdırıla bilən Sürətləndirmə Kartı | Intel FPGA PAC | PCIe FPGA sürətləndirici kartı.
PCIe avtobusu üzərində Intel Xeon prosessoru ilə cütləşən FPGA Interface Manager (FIM) ehtiva edir. |
- DMA Sürətləndirici Funksional Vahid İstifadəçi Təlimatı: Intel FPGA Proqramlaşdırıla bilən Sürətləndirmə Kartı D5005
DMA AFU Təsviri
Giriş
Direct Memory Access (DMA) AFU example host prosessoru və FPGA arasında yaddaş köçürmələrinin necə idarə olunacağını göstərir. Siz host yaddaşı və FPGA yerli yaddaşı arasında verilənləri köçürmək üçün DMA AFU-nu dizaynınıza inteqrasiya edə bilərsiniz. DMA AFU aşağıdakı alt modullardan ibarətdir:
- Yaddaş Xüsusiyyətləri Fabriki (MPF) Əsas Tikinti Bloku (BBB)
- Avalon® Yaddaş Xəritəli (Avalon-MM) Adapterinə Əsas Keş İnterfeysi (CCI-P)
- DMA BBB ehtiva edən DMA Test Sistemi
Bu alt modullar aşağıdakı DMA AFU Avadanlıq Komponentləri mövzusunda daha ətraflı təsvir edilmişdir.
Əlaqədar Məlumat
- DMA AFU Avadanlıq Komponentləri səhifə 6
- Avalon İnterfeys Xüsusiyyətləri
Avalon-MM protokolu, o cümlədən oxumaq və yazma əməliyyatları üçün vaxt diaqramları haqqında ətraflı məlumat üçün.
DMA AFU Proqram Paketi
FPGA paketi ilə Intel Xeon CPU üçün Intel Acceleration Stack file (*.tar.gz), DMA AFU ex daxildirample. Bu keçmişample istifadəçi sahəsi sürücüsü təmin edir. Host proqramı bu drayverdən elə istifadə edir ki, DMA verilənləri host və FPGA yaddaş arasında köçürür. Təchizat binaları, mənbələr və istifadəçi sahəsi drayveri aşağıdakı kataloqda mövcuddur: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu . DMA AFU ilə sınaqdan əvvəl, Open Programmable Acceleration Engine (OPAE) proqram paketini quraşdırmalısınız. Quraşdırma təlimatları üçün Intel FPGA Proqramlaşdırıla bilən Sürətləndirmə Kartı D5005 üçün Intel Acceleration Stack Tez Başlanğıc Təlimatında OPAE Proqram Paketinin Quraşdırılmasına baxın. Bu Sürətli Başlanğıc Bələdçisinə Açıq Proqramlaşdırıla bilən Sürətləndirmə Mühərriki (OPAE) və AFU-nun konfiqurasiyası haqqında əsas məlumatlar da daxildir. Açıq Proqramlaşdırıla bilən Sürətləndirmə Mühərriki (OPAE) proqram paketini quraşdırdıqdan sonra, kimiample host proqramı və DMA AFU istifadəçi sahəsi drayveri aşağıdakı kataloqda mövcuddur: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw. s çalıştırmak üçünampIntel FPGA PAC D5005 aparatınızda fpga_dma_test host proqramı üçün DMA AFU Ex-in işə salınması bölməsindəki addımlara baxın.ample. Intel Korporasiyası. Bütün hüquqlar qorunur. Intel, Intel loqosu və digər Intel markaları Intel Korporasiyasının və ya onun törəmə şirkətlərinin ticarət nişanlarıdır. Intel FPGA və yarımkeçirici məhsullarının Intel-in standart zəmanətinə uyğun olaraq cari spesifikasiyalara uyğun işləməsinə zəmanət verir, lakin istənilən vaxt xəbərdarlıq etmədən istənilən məhsul və xidmətlərə dəyişiklik etmək hüququnu özündə saxlayır. Intel tərəfindən yazılı şəkildə açıq şəkildə razılaşdırılan hallar istisna olmaqla, burada təsvir edilən hər hansı məlumat, məhsul və ya xidmətin tətbiqi və ya istifadəsi nəticəsində Intel heç bir məsuliyyət və ya öhdəlik götürmür. Intel müştərilərinə hər hansı dərc edilmiş məlumata etibar etməzdən və məhsul və ya xidmətlər üçün sifariş verməzdən əvvəl cihazın texniki xüsusiyyətlərinin ən son versiyasını əldə etmələri tövsiyə olunur. *Başqa adlar və brendlər başqalarının mülkiyyəti kimi iddia oluna bilər.
Əlaqədar Məlumat
- Intel FPGA Proqramlaşdırıla bilən Sürətləndirmə Kartı D5005 üçün Intel Acceleration Stack Tez Başlanğıc Bələdçisi
- OPAE Proqram Paketinin quraşdırılması
DMA AFU Avadanlıq Komponentləri
DMA AFU FPGA Interface Unit (FIU) və FPGA yaddaşı ilə birləşir. FPGA yaddaşının ətraflı spesifikasiyası üçün Intel FPGA Proqramlaşdırıla bilən Sürətləndirmə Kartı D5005 üçün FPGA İnterfeys Meneceri Məlumat Vərəqinə baxın. Hazırda mövcud olan avadanlıq bu yaddaş konfiqurasiyasını diktə edir. Gələcək avadanlıq müxtəlif yaddaş konfiqurasiyalarını dəstəkləyə bilər. Aşağıdakı mənbə və təyinat yerləri arasında məlumatları köçürmək üçün DMA AFU-dan istifadə edə bilərsiniz:
- Hostdan cihaza FPGA yaddaşı
- Cihazın FPGA yaddaşı hosta
Platforma Dizayner sistemi, $OPAE_PLATFORM_ROOT/hw/samples/ dma_afu/hw/rtl/TEST_dma/ /dma_test_system.qsys DMA-nın çoxunu həyata keçirir
- AFU. Platforma Dizaynçısı sistemində həyata keçirilən DMA AFU-nun bir hissəsini aşağıda tapa bilərsiniz
yer:$OPAE_PLATFORM_ROOT/hw/samples/dma_afu/hw/rtl/TEST_dma/ Siz DMA BBB-ni aşağıdakı yerdə tapa bilərsiniz:
- $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/hw/rtl/dma_bbb
DMA Sürətləndirici Funksional Vahid İstifadəçi Təlimatı: Intel FPGA Proqramlaşdırıla bilən Sürətləndirmə Kartı D5005
DMA AFU Hardware Blok Diaqramı
DMA AFU, FPGA Interface Unit (FIU) ilə interfeys üçün aşağıdakı daxili modulları ehtiva edir:
- Yaddaş Xəritəli IO (MMIO) Dekoder Məntiqi: MMIO oxuma və yazma əməliyyatlarını aşkarlayır və onları gəldiyi CCI-P RX 0 kanalından ayırır. Bu, MMIO trafikinin heç vaxt MPF BBB-yə çatmamasını və müstəqil MMIO komanda kanalı tərəfindən xidmət göstərilməsini təmin edir.
- Yaddaş Xüsusiyyətləri Fabriki (MPF): Bu modul DMA-dan oxunan cavabların verildiyi qaydada qayıtmasını təmin edir. Avalon-MM protokolu düzgün qaydada qayıtmaq üçün oxunan cavabları tələb edir.
- CCI-P-dən Avalon-MM Adapterinə: Bu modul CCI-P və Avalon-MM əməliyyatları arasında aşağıdakı kimi tərcümə olunur:
- CCI-P-dən Avalon-MMIO Adapterinə: Bu yol CCI-P MMIO əməliyyatlarını Avalon-MM əməliyyatlarına çevirir.
- Avalon to CCI-P Host Adapter: Bu yollar DMA-nın host yaddaşına daxil olması üçün yalnız oxumaq və yazmaq üçün ayrı yollar yaradır.
- DMA Test Sistemi: Bu modul DMA ustalarını AFU-da məntiqin qalan hissəsinə çıxarmaq üçün DMA BBB ətrafında sarğı rolunu oynayır. O, DMA BBB və CCI-P-dən Avalon Adapter arasında interfeysi təmin edir. O, həmçinin DMA BBB və yerli FPGA SDRAM bankları arasında interfeysi təmin edir.
Əlaqədar Məlumat
Intel FPGA Proqramlaşdırıla bilən Sürətləndirmə Kartı D5005 üçün FPGA İnterfeys Meneceri Məlumat Vərəqi
DMA Test Sistemi
DMA test sistemi DMA BBB-ni CCI-P adaptasiyası və yerli FPGA yaddaşı daxil olmaqla FPGA dizaynının qalan hissəsinə birləşdirir.
DMA Test Sisteminin Blok Diaqramı
Bu blok diaqram DMA test sisteminin daxili hissələrini göstərir. DMA test sistemi səhifə 1-də Şəkil 7-də monolit blok kimi göstərilmişdir.
DMA test sisteminə aşağıdakı daxili modullar daxildir:
- Uzaq Reach Körpüsü/Boru Kəməri Körpüsü: Topologiyaya nəzarət etmək və Fmax dizaynını təkmilləşdirmək üçün tənzimlənən gecikmə ilə boru kəməri körpüsü.
- DMA AFU Cihaz Xüsusiyyət Başlığı (DFH): Bu, DMA AFU üçün DFH-dir. Bu DFH ofset 0x100 (DMA BBB DFH) səviyyəsində yerləşən növbəti DFH-yə işarə edir.
- Null DFH: Bu komponent DFH əlaqəli siyahısını dayandırır. Dizayna daha çox DMA BBB əlavə etsəniz, null DFH əsas ünvanının DFH əlaqəli siyahının sonunda yerləşdiyinə əmin olun.
- MA Əsas Tikinti Bloku (BBB): Bu blok məlumatı host və yerli FPGA yaddaşı arasında köçürür. O, həmçinin deskriptor zəncirlərinə daxil olmaq üçün host yaddaşına daxil olur.
DMA BBB
DMA BBB alt sistemi Avalon-MM əməliyyatlarından istifadə edərək məlumatları mənbədən təyinat ünvanlarına köçürür. DMA sürücüsü sistem daxilində müxtəlif komponentlərin idarəetmə və status reyestrinə daxil olaraq DMA BBB-ni idarə edir. DMA sürücüsü həmçinin köçürmə deskriptorlarını əlaqələndirmək üçün paylaşılan yaddaşdan istifadə edərək DMA BBB-yə nəzarət edir. DMA BBB, 0x0 ofsetində FPGA yaddaşındakı məlumatlara daxil olur. DMA BBB 0x1_0000_0000_0000 ofsetində host yaddaşındakı məlumatlara və deskriptorlara daxil olur.
DMA BBB Platforma Dizaynerinin Blok Diaqramı
Bu blok diaqram bəzi daxili Boru Kəməri Körpüsü IP nüvələrini istisna edir.
DMA Sürətləndirici Funksional Vahid İstifadəçi Təlimatı: Intel FPGA Proqramlaşdırıla bilən Sürətləndirmə Kartı D5005
DMA AFU Təsviri
DMA BBB Platforma Dizaynerindəki komponentlər aşağıdakı funksiyaları həyata keçirir:
- Uzaq Reach Körpüsü/Boru Kəməri Körpüsü: Topologiyaya nəzarət etmək və Fmax dizaynını təkmilləşdirmək üçün tənzimlənən gecikmə ilə boru kəməri körpüsü daxildir.
- MA BBB DFH: Bu, DMA BBB üçün cihaz xüsusiyyətinin başlığıdır. Bu DFH ofset 0x100 (Null DFH) nöqtəsində yerləşən növbəti DFH-yə işarə edir.
- Deskriptor Frontend: Deskriptorların alınması və dispetçerə ötürülməsinə cavabdehdir. DMA ötürülməsi başa çatdıqda, frontend dispetçerdən statusun formalaşmasını alır və host yaddaşındakı deskriptorun üzərinə yazır.
- Dispetçer: Bu blok DMA sorğularını Oxu və Yazma Ustasına köçürməni planlaşdırır.
- Ustadı oxuyun: Bu blok host və ya yerli FPGA yaddaşından verilənlərin oxunması və onu axın məlumatı kimi Write Master-a göndərilməsi üçün cavabdehdir.
- Ustaya yazın: Bu blok Read Master-dan axın məlumatlarını qəbul etmək və məzmunu host və ya yerli FPGA yaddaşına yazmaq üçün cavabdehdir.
Xəritə və Ünvan Məkanlarını Qeydiyyatdan Keçin
DMA AFU iki yaddaşı dəstəkləyir views: DMA view və ev sahibi view. DMA view 49 bitlik ünvan sahəsini dəstəkləyir. DMA-nın aşağı yarısı view yerli FPGA yaddaşına xəritələr. DMA-nın yuxarı yarısı view yaddaşı yerləşdirmək üçün xəritələr. Ev sahibi view DFH cədvəlləri kimi MMIO girişləri vasitəsilə əldə edilə bilən bütün registrləri və DMA AFU daxilində istifadə olunan müxtəlif IP nüvələrinin nəzarət/status registrlərini ehtiva edir. MMIO DMA BBB-də qeydiyyatdan keçir və AFU 32 və 64 bit girişi dəstəkləyir. DMA AFU 512-bit MMIO girişlərini dəstəkləmir. DMA BBB daxilində Dispetçer registrlərinə giriş 32 bit olmalıdır (Descriptor frontend 64-bit registrləri həyata keçirir).
DMA AFU Qeydiyyat Xəritəsi
DMA AFU reyestr xəritəsi vahid daxilindəki bütün yerlərin mütləq ünvanlarını təmin edir. Bu registrlər hostdadır view çünki onlara daxil ola bilən yalnız ev sahibidir.
DMA AFU Yaddaş Xəritəsi
Bayt Ünvan Ofsetləri | ad | Baytlarda yayılma | Təsvir |
0x0 | DMA AFU DFH | 0x40 | DMA AFU üçün cihaz xüsusiyyətləri başlığı. ID_L 0x9081f88b8f655caa, ID_H isə 0x331db30c988541ea olaraq təyin edilib. DMA AFU DFH, növbəti DFH (DMA BBB DFH) tapmaq üçün 0x100 ofsetinə işarə etmək üçün parametrləşdirilib. Siz DMA AFU DFH-nin əsas ünvanını dəyişdirməməlisiniz, çünki o, CCIP spesifikasiyası ilə müəyyən edildiyi kimi 0x0 ünvanında yerləşməlidir. |
0x100 | DMA BBB | 0x100 | DMA BBB nəzarəti və status qeydiyyatı interfeysini müəyyən edir. Əlavə məlumat üçün DMA BBB reyestr xəritəsinə müraciət edə bilərsiniz. DMA BBB daxilində ofset 0-da DMA BBB öz DFH-ni ehtiva edir. Bu DFH növbəti DFH-ni 0x100 (NULL DFH) ofsetində tapmaq üçün təyin edilmişdir. Daha çox DMA BBB əlavə etsəniz, onları 0x100 məsafədə yerləşdirin və NULL DFH-nin son DMA-nı 0x100 izlədiyinə əmin olun. |
0x200 | NULL DFH | 0x40 | DFH ilə əlaqəli siyahını dayandırır. ID_L 0x90fe6aab12a0132f, ID_H isə 0xda1182b1b3444e23 olaraq təyin edilib. NULL DFH, aparatda sonuncu DFH olmaq üçün parametrləşdirilmişdir. Bu səbəbdən NULL DFH 0x200 ünvanında yerləşir. Sistemə əlavə DMA BBB-ləri əlavə etsəniz, ən yüksək ünvanda qalması üçün NULL DFH əsas ünvanını müvafiq olaraq artırmalısınız. DMA drayveri və test proqramı bu avadanlığı istifadə etmir. |
Intel Korporasiyası. Bütün hüquqlar qorunur. Intel, Intel loqosu və digər Intel markaları Intel Korporasiyasının və ya onun törəmə şirkətlərinin ticarət nişanlarıdır. Intel FPGA və yarımkeçirici məhsullarının Intel-in standart zəmanətinə uyğun olaraq cari spesifikasiyalara uyğun işləməsinə zəmanət verir, lakin istənilən vaxt xəbərdarlıq etmədən istənilən məhsul və xidmətlərə dəyişiklik etmək hüququnu özündə saxlayır. Intel tərəfindən yazılı şəkildə razılaşdırılmış hallar istisna olmaqla, burada təsvir edilən hər hansı məlumatın, məhsulun və ya xidmətin tətbiqi və ya istifadəsindən irəli gələn heç bir məsuliyyət və ya öhdəlik daşımır. Intel müştərilərinə hər hansı dərc edilmiş məlumata etibar etməzdən və məhsul və ya xidmətlər üçün sifariş verməzdən əvvəl cihazın texniki xüsusiyyətlərinin ən son versiyasını əldə etmələri tövsiyə olunur. *Başqa adlar və brendlər başqalarının mülkiyyəti kimi iddia oluna bilər.
Xəritə və Ünvan Məkanlarını Qeydiyyatdan Keçin
DMA BBB Yaddaş Xəritəsi
Aşağıdakı bayt ünvanları DMA AFU sistemində (0x100) DMA BBB əsas ünvanından nisbi ofsetlərdir.
Bayt Ünvan Ofsetləri | ad | Baytlarda yayılma | Təsvir |
0x0 | DMA BBB DFH | 0x40 | DMA AFU üçün cihaz xüsusiyyətləri başlığı. ID_L 0xa9149a35bace01ea, ID_H isə 0xef82def7f6ec40fc olaraq təyin edilib. DMA BBB DFH növbəti DFH ofseti üçün 0x100-ə işarə etmək üçün parametrləşdirilib. Bu növbəti ofset başqa DMA BBB, başqa DFH (bu dizayna daxil deyil) və ya NULL DFH ola bilər. |
0x40 | dispetçer | 0x40 | Dispetçer üçün idarəetmə portu. DMA sürücüsü bu məkandan DMA-ya nəzarət etmək və ya onun statusunu sorğulamaq üçün istifadə edir. |
0x80 | Deskriptor Frontend | 0x40 | Deskriptorun ön hissəsi host yaddaşından deskriptorları oxuyan və DMA ötürülməsi başa çatdıqda deskriptorun üzərinə yazan fərdi komponentdir. Sürücü, ilk deskriptorun host yaddaşında yaşadığı frontend-ə göstəriş verir, sonra isə frontend aparatı, əsasən host yaddaşında saxlanan deskriptorlara baxmayaraq, sürücü ilə əlaqə saxlayır. |
DMA AFU Ünvan Məkanı
Host 4-ci səhifədəki Cədvəl 12-də və 5-cü səhifədəki Cədvəl 13-də sadalanan registrlərə daxil ola bilər. DMA BBB altsisteminin tam 49 bitlik ünvan sahəsinə çıxışı var. Bu ünvan sahəsinin aşağı yarısına yerli FPGA yaddaşları daxildir. Bu ünvan sahəsinin yuxarı yarısına 48 bitlik host ünvan yaddaşı daxildir. Aşağıdakı şəkildə host və DMA göstərilir viewyaddaş s.
DMA AFU və Host Views Yaddaş
Cihaz Xüsusiyyətinin Başlığı Əlaqəli Siyahı
DMA AFU dizaynı keçmişample əlaqəli siyahı təşkil edən üç cihaz xüsusiyyət başlığını (DFH) ehtiva edir. Bu əlaqəli siyahı s imkan verirampDMA AFU-nu, eləcə də DMA BBB-ni müəyyən etmək üçün sürücünü müəyyən etmək üçün proqram. DFH siyahısına sonunda NULL DFH daxildir. Əlaqədar siyahının sonuna null DFH-nin daxil edilməsi dizaynınıza daha çox DMA BBB əlavə etməyə imkan verir. Siz sadəcə olaraq NULL DFH-ni digər BBB-lərdən sonrakı ünvana köçürməlisiniz. Hər bir DMA BBB növbəti DFH-nin BBB-nin əsas ünvanından 0x100 bayt məsafədə yerləşəcəyini gözləyir. Aşağıdakı şəkildə DMA AFU dizaynı üçün əlaqəli siyahı təsvir edilmişdirample.
Xəritə və Ünvan Məkanlarını Qeydiyyatdan Keçin
DMA AFU Cihaz Xüsusiyyət Başlığı (DFH) Zəncirləmə
Proqram təminatının proqramlaşdırma modeli
DMA AFU, öz host proqramında istifadə edə biləcəyiniz proqram sürücüsünü ehtiva edir. fpga_dma.cpp və fpga_dma.h fileaşağıdakı yerdə yerləşən s proqram sürücüsünü həyata keçirir:$OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw Bu sürücü aşağıdakı funksiyaları dəstəkləyir:
API | Təsvir |
fpgaCountDMACkanalları | DMA BBB-lər üçün cihaz xüsusiyyətləri zəncirini skan edir və bütün mövcud kanalları sayır. |
fpgaDMAOpen | DMA kanalı üçün açar açır. |
fpgaDMAClose | DMA kanalına tutacaq bağlayır. |
fpgaDMATtransferInit | DMA transferini təmsil edən obyekti işə salır. |
fpgaDMATtransferReset | DMA transfer atribut obyektini defolt dəyərlərə sıfırlayır. |
fpgaDMATtransferDestroy | DMA transfer atribut obyektini məhv edir. |
fpgaDMATtransferSetSrc | Köçürmənin mənbə ünvanını təyin edir. Bu ünvan 64 bayt hizalanmalıdır. |
fpgaDMATtransferSetDst | Köçürmənin təyinat ünvanını təyin edir. Bu ünvan 64 bayt hizalanmalıdır. |
fpgaDMATtransferSetLen | Transfer uzunluqlarını baytlarla təyin edir. Qeyri-paket köçürmələri üçün köçürmə uzunluğunu 64 bayta çoxaltmalısınız. Paket köçürmələri üçün bu, tələb deyil. |
fpgaDMATtransferSetTransferType | Transfer növünü təyin edir. Hüquqi dəyərlər bunlardır:
• HOST_MM_TO_FPGA_MM = TX (AFU üçün Host) • FPGA_MM_TO_HOST_MM = RX (host üçün AFU) |
fpgaDMATtransferSetTransferCallback | Asinxron köçürmənin tamamlanması haqqında bildiriş üçün geri çağırışı qeyd edir. Geri çağırışı göstərsəniz, fpgaDMATransfer dərhal qaytarır (asinxron köçürmə).
Geri çağırışı göstərməsəniz, ötürmə tamamlandıqdan sonra fpgaDMATransfer qayıdır (sinxron/bloklama köçürmə). |
fpgaDMATtransferSetLast | DMA-nın əvvəlcədən gətirilən köçürmələri emal etməyə başlaya bilməsi üçün son köçürməni göstərir. Defolt dəyər DMA köçürmələr üzərində işə başlamazdan əvvəl boru kəmərində 64 köçürmədir. |
fpgaDMATtransfer | DMA köçürməsini həyata keçirir. |
API, giriş və çıxış arqumentləri haqqında ətraflı məlumat üçün başlığa baxın file $OPAE_PLATFORM_ROOT/hw/s yerləşiramples/dma_afu/sw/fpga_dma.hIntel Korporasiyası. Bütün hüquqlar qorunur. Intel, Intel loqosu və digər Intel markaları Intel Korporasiyasının və ya onun törəmə şirkətlərinin ticarət nişanlarıdır. Intel FPGA və yarımkeçirici məhsullarının Intel-in standart zəmanətinə uyğun olaraq cari spesifikasiyalara uyğun işləməsinə zəmanət verir, lakin istənilən vaxt xəbərdarlıq etmədən istənilən məhsul və xidmətlərə dəyişiklik etmək hüququnu özündə saxlayır. Intel tərəfindən yazılı şəkildə açıq şəkildə razılaşdırıldığı hallar istisna olmaqla, Intel burada təsvir edilən hər hansı məlumat, məhsul və ya xidmətin tətbiqi və ya istifadəsindən irəli gələn heç bir məsuliyyət və ya öhdəlik götürmür. Intel müştərilərinə hər hansı dərc edilmiş məlumata etibar etməzdən və məhsul və ya xidmətlər üçün sifariş verməzdən əvvəl cihazın texniki xüsusiyyətlərinin ən son versiyasını əldə etmələri tövsiyə olunur. Digər adlar və markalar başqalarının mülkiyyəti kimi iddia edilə bilər.
Proqram təminatının proqramlaşdırma modeli
Proqram drayverindən istifadə modeli haqqında daha çox bilmək üçün README-ə baxın file $OPAE_PLATFORM_ROOT/hw/s-də yerləşiramples/dma_afu/README.md
İşləyən DMA AFU Example
Başlamazdan əvvəl:
- Keçmişlə tanış olmalısanamples Intel FPGA Proqramlaşdırıla bilən Sürətləndirmə Kartı D5005 üçün Intel Acceleration Stack Quick Start Guide.
- Siz mühit dəyişənini təyin etməlisiniz. Ətraf mühit dəyişəni istifadə etdiyiniz Intel Acceleration Stack versiyasından asılıdır:
- Cari versiya üçün mühit dəyişənini $OPAE_PLATFORM_ROOT olaraq təyin edin
- Siz Intel Threading Building Blocks (TBB) kitabxanasını quraşdırmalısınız, çünki DMA sürücüsü ondan asılıdır.
- s-i işə salmaq üçün siz həmçinin iki 1 GB böyük səhifə qurmalısınızamptətbiq. $ sudo sh -c “echo 2 > /sys/kernel/mm/hugepages/hugepages-1048576kB/ nr_hugepages”
DMA Accelerator Function (AF) bit axını yükləmək, proqram və sürücü qurmaq və əvvəlki dizaynı işə salmaq üçün aşağıdakı addımları yerinə yetirin.ample:
- DMA tətbiqi və sürücü qovluğuna dəyişin: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw
- Sürücü və tətbiqi yaradın: düzəldin
- DMA AFU bit axını yükləyin: sudo fpgasupdate ../bin/dma_afu_unsigned.gbs
- Host yaddaşından FPGA cihazının yaddaşına 100 MB hissələrə 1 MB yazmaq üçün host proqramını icra edin və onu yenidən oxuyun: ./ fpga_dma_test -s 104857600 -p 1048576 -r mtom
Əlaqədar Məlumat
Intel FPGA Proqramlaşdırıla bilən Sürətləndirmə Kartı D5005 Intel Korporasiyası üçün Intel Acceleration Stack Quick Start Guide. Bütün hüquqlar qorunur. Intel, Intel loqosu və digər Intel markaları Intel Korporasiyasının və ya onun törəmə şirkətlərinin ticarət nişanlarıdır. Intel FPGA və yarımkeçirici məhsullarının Intel-in standart zəmanətinə uyğun olaraq cari spesifikasiyalara uyğun işləməsinə zəmanət verir, lakin istənilən vaxt xəbərdarlıq etmədən istənilən məhsul və xidmətlərə dəyişiklik etmək hüququnu özündə saxlayır. Intel tərəfindən yazılı şəkildə açıq şəkildə razılaşdırıldığı hallar istisna olmaqla, Intel burada təsvir edilən hər hansı məlumat, məhsul və ya xidmətin tətbiqi və ya istifadəsindən irəli gələn heç bir məsuliyyət və ya öhdəlik götürmür. Intel müştərilərinə hər hansı dərc edilmiş məlumata etibar etməzdən və məhsul və ya xidmətlər üçün sifariş verməzdən əvvəl cihazın texniki xüsusiyyətlərinin ən son versiyasını əldə etmələri tövsiyə olunur. *Başqa adlar və brendlər başqalarının mülkiyyəti kimi iddia oluna bilər.
DMA AFU-nun tərtib edilməsi Example
AF-ni tərtib etmək üçün sintez qurma mühiti yaratmaq üçün afu_synth_setup əmrindən aşağıdakı kimi istifadə edin:
- DMA AFU-ya dəyişinampkataloqu: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu
- Dizayn qurma kataloqunu yaradın: afu_synth_setup –source hw/rtl/filelist.txt build_synth
- afu_synth_setup tərəfindən yaradılan sintez qurma kataloqundan hədəf aparat platforması üçün AF yaratmaq üçün terminal pəncərəsindən aşağıdakı əmrləri daxil edin: cd build_synth run.sh run.sh AF generasiya skripti eyni baza ilə AF şəklini yaradır. fileAFU-nun platforma konfiqurasiyası kimi ad file (.json) yerində .gbs şəkilçisi ilə:$OPAE_PLATFORM_ROOT/hw/samples/build_synth/dma_afu_s10.gbs Intel Korporasiyası. Bütün hüquqlar qorunur. Intel, Intel loqosu və digər Intel markaları Intel Korporasiyasının və ya onun törəmə şirkətlərinin ticarət nişanlarıdır. Intel FPGA və yarımkeçirici məhsullarının Intel-in standart zəmanətinə uyğun olaraq cari spesifikasiyalara uyğun işləməsinə zəmanət verir, lakin istənilən vaxt xəbərdarlıq etmədən istənilən məhsul və xidmətlərə dəyişiklik etmək hüququnu özündə saxlayır. Intel tərəfindən yazılı şəkildə açıq şəkildə razılaşdırıldığı hallar istisna olmaqla, Intel burada təsvir edilən hər hansı məlumat, məhsul və ya xidmətin tətbiqi və ya istifadəsindən irəli gələn heç bir məsuliyyət və ya öhdəlik götürmür. Intel müştərilərinə hər hansı dərc edilmiş məlumata etibar etməzdən və məhsul və ya xidmətlər üçün sifariş verməzdən əvvəl cihazın texniki xüsusiyyətlərinin ən son versiyasını əldə etmələri tövsiyə olunur. *Başqa adlar və brendlər başqalarının mülkiyyəti kimi iddia oluna bilər.
AFU-nun simulyasiyası Example
Intel, Intel FPGA PAC cihazınız üçün Intel Accelerator Functional Unit (AFU) Simulyasiya Mühiti (ASE) Tez Başlanğıc Bələdçisinə müraciət etməyi tövsiyə edir.amples və mühitinizi qurmaq üçün. Aşağıdakı addımları yerinə yetirməzdən əvvəl OPAE_PLATFORM_ROOT mühit dəyişəninin OPAE SDK quraşdırma kataloquna təyin olunduğunu yoxlayın. DMA AFU üçün aparat simulyatorunu quraşdırmaq üçün aşağıdakı addımları tamamlayın:
- DMA AFU-ya dəyişinampkataloqu: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu
- Yeni kataloqda ASE mühiti yaradın və onu AFU-nu simulyasiya etmək üçün konfiqurasiya edin: afu_sim_setup –source hw/rtl/filelist.txt build_ase_dir
- ASE qurma qovluğuna dəyişin: cd build_ase_dir
- Sürücü və tətbiqi yaradın: düzəldin
- Simulyasiya edin: sim hazırlayın
Samphardware simulyatorundan çıxış:
[SIM] ** DİQQƏT: proqram təminatını işə salmazdan ƏVVƏL ** [SIM] Proqramın işləyəcəyi terminalda env(ASE_WORKDIR) təyin edin (kopyala və yapışdır) => [SIM] $SHELL | Çalıştır:[SIM] ———+—————————————————— [SIM] bash/zsh | ixrac 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] Hər hansı digər $SHELL üçün Linux administratorunuzla məsləhətləşin [SIM] [SIM] Simulyasiyaya hazırdır... [SIM] Simulyatoru bağlamaq üçün CTRL-C düyməsini basın...Simulyasiya mühitində DMA AFU proqramını tərtib etmək və icra etmək üçün aşağıdakı addımları tamamlayın:
- Yeni terminal pəncərəsi açın.
- Kataloqu dəyişdirin: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw
Intel Korporasiyası. Bütün hüquqlar qorunur. Intel, Intel loqosu və digər Intel markaları Intel Korporasiyasının və ya onun törəmə şirkətlərinin ticarət nişanlarıdır. Intel FPGA və yarımkeçirici məhsullarının Intel-in standart zəmanətinə uyğun olaraq cari spesifikasiyalara uyğun işləməsinə zəmanət verir, lakin istənilən vaxt xəbərdarlıq etmədən istənilən məhsul və xidmətlərə dəyişiklik etmək hüququnu özündə saxlayır. Intel tərəfindən yazılı şəkildə razılaşdırılmış hallar istisna olmaqla, burada təsvir edilən hər hansı məlumatın, məhsulun və ya xidmətin tətbiqi və ya istifadəsindən irəli gələn heç bir məsuliyyət və ya öhdəlik daşımır. Intel müştərilərinə hər hansı dərc edilmiş məlumata etibar etməzdən və məhsul və ya xidmətlər üçün sifariş verməzdən əvvəl cihazın texniki xüsusiyyətlərinin ən son versiyasını əldə etmələri tövsiyə olunur. *Başqa adlar və brendlər başqalarının mülkiyyəti kimi iddia oluna bilər.
AFU-nun simulyasiyası Example
- Aparat simulyasiyasında yuxarıdakı addımlardan terminal pəncərəsinə ətraf mühit quraşdırma sətirini (qabığınız üçün uyğun olan sətri seçin) kopyalayın. s-də aşağıdakı sətirlərə baxınampaparat simulyatorundan çıxış. [SIM] bash/zsh | ixrac 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
- Proqram təminatını tərtib edin: $ USE_ASE=1 etmək
- Geri dönmə rejimində ana yaddaşdan FPGA cihazının yaddaşına 4 KB hissələrə 1 KB yazmaq üçün host proqramını icra edin: ./ fpga_dma_test -s 4096 -p 1024 -r mtom
Əlaqədar Məlumat
Intel Sürətləndirici Funksional Vahid (AFU) Simulyasiya Mühiti (ASE) Tez Başlanğıc İstifadəçi Təlimatı
Təkmilləşdirilmiş DMA Performansı üçün optimallaşdırma
fpga_dma_test.cpp-də NUMA (vahid olmayan yaddaşa çıxış) optimallaşdırmasının həyata keçirilməsi prosessora qeyri-yerli yaddaşa (digər prosessorun lokal yaddaşı) daxil olmaqdan daha sürətli öz yerli yaddaşına daxil olmağa imkan verir. Tipik NUMA konfiqurasiyası aşağıdakı diaqramda göstərilmişdir. Yerli giriş bir nüvədən yerli yaddaşa eyni nüvəyə girişi təmsil edir. Uzaqdan giriş, Node 0-da bir nüvənin Node 1-in lokal yaddaşında yerləşən yaddaşa daxil olduqda keçdiyi yolu göstərir.
Tipik NUMA Konfiqurasiyası
Test tətbiqinizdə NUMA optimallaşdırmasını həyata keçirmək üçün aşağıdakı kodu istifadə edin:
// Əgər (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(rekvizit, (uint8_t *) və avtobus);ON_ERR_GOTO(res, out_destroy_tok, “fpgaPropertiesGetBus”); res = fpgaPropertiesGetDevice(rekvizitlər, (uint8_t *) & dev);ON_ERR_GOTO(res, out_destroy_tok, “fpgaPropertiesGetDevice”) res = fpgaPropertiesGetFunction(rekvizit, (uint8_t *) & func);ON_ERR_t_t *) & func;ON_ERR_GOTOfunction “Açıq_ERR_GetDestroy”("Res, out_destroy_tok, “fpgaPropertiesGetDevice”); // hwloc_topology_t topologiyasından cihazı tapın; hwloc_topology_init(&topologiya); hwloc_topology_set_flags(topologiya, HWLOC_TOPOLOGY_FLAG_IO_DEVICES);Intel Corporation. Bütün hüquqlar qorunur. Intel, Intel loqosu və digər Intel markaları Intel Korporasiyasının və ya onun törəmə şirkətlərinin ticarət nişanlarıdır. Intel FPGA və yarımkeçirici məhsullarının Intel-in standart zəmanətinə uyğun olaraq cari spesifikasiyalara uyğun işləməsinə zəmanət verir, lakin istənilən vaxt xəbərdarlıq etmədən istənilən məhsul və xidmətlərə dəyişiklik etmək hüququnu özündə saxlayır. Intel tərəfindən yazılı şəkildə açıq şəkildə razılaşdırıldığı hallar istisna olmaqla, Intel burada təsvir edilən hər hansı məlumat, məhsul və ya xidmətin tətbiqi və ya istifadəsindən irəli gələn heç bir məsuliyyət və ya öhdəlik götürmür. Intel müştərilərinə hər hansı dərc edilmiş məlumata etibar etməzdən və məhsul və ya xidmətlər üçün sifariş verməzdən əvvəl cihazın texniki xüsusiyyətlərinin ən son versiyasını əldə etmələri tövsiyə olunur. *Başqa adlar və brendlər başqalarının mülkiyyəti kimi iddia oluna bilər.
Təkmilləşdirilmiş DMA Performansı üçün optimallaşdırma
hwloc_topology_load(topologiya); hwloc_obj_t obj = hwloc_get_pcidev_by_busid(topologiya, dom, avtobus, inkişaf, funksiya); hwloc_obj_t obj2 = hwloc_get_non_io_ancestor_obj(topologiya, obyekt); #if (FPGA_DMA_DEBUG) hwloc_obj_type_snprintf(küç, 4096, obj2, 1); printf(“%s\n”, str);hwloc_obj_attr_snprintf(str, 4096, obj2, ” :: “, 1);printf(“%s\n”, küç); hwloc_bitmap_taskset_snprintf(küç, 4096, obj2->cpuset); printf(“CPUSET %s\n”, str); hwloc_bitmap_taskset_snprintf(küç, 4096, obj2->nodeset); printf(“NODESET %s\n”, str);#endif if (yaddaş_yaxşılığı) { #if HWLOC_API_VERSION > 0x00020000 retval = hwloc_set_membind(topologiya, obj2->nodeset,HWLOC_MEMBIND_LODEMET_YOK,HWLOC_MEMBIND_LOGMEBİNDƏMƏK | #else retval =hwloc_set_membind_nodeset(topologiya, obj2->nodeset, HWLOC_MEMBIND_THREAD,HWLOC_MEMBIND_MIGRATE); #endifON_ERR_GOTO(retval, out_destroy_tok, “hwloc_set_membind”); } if (cpu_affinity) { retval = hwloc_set_cpubind(topologiya, obj2->cpuset, HWLOC_CPUBIND_STRICT); ON_ERR_GOTO(retval, out_destroy_tok, “hwloc_set_cpubind”); } }
DMA Accelerator Funksional Vahid İstifadəçi Təlimatları Arxivləri
Intel Acceleration Stack Versiyası | İstifadəçi Təlimatı (PDF) |
2.0 | DMA Sürətləndirici Funksional Vahid (AFU) İstifadəçi Təlimatı |
DMA Sürətləndirici Funksional Vahid İstifadəçi Təlimatı üçün Sənədin Təftiş Tarixçəsi
Sənəd versiyası |
Intel sürətləndirilməsi Stack Version |
Dəyişikliklər |
2020.08.03 |
2.0.1 (Intel ilə dəstəklənir
Quartus® Prime Pro Edition Edition 19.2) |
AF şəklini düzəltdi file bölmədə ad DMA AFU-nun tərtib edilməsi Example. |
2020.04.17 |
2.0.1 (Intel ilə dəstəklənir
Quartus Prime Pro Edition Edition 19.2) |
Bir ifadəyə düzəliş etdi Nəzərdə tutulan Auditoriya bölmə. |
2020.02.20 |
2.0.1 (Intel ilə dəstəklənir
Quartus Prime Pro Edition Edition 19.2) |
Sabit yazı xətası. |
2019.11.04 |
2.0.1 (Intel ilə dəstəklənir Quartus Prime Pro Edition Edition 19.2) |
• Bölmədə əvvəlcədən qurulmuş AFU ilə FPGA konfiqurasiya edərkən fpgaconf fpgasupdate ilə əvəz edildi DMA AFU-nun işlədilməsi Example.
• Altyazı əlavə edildi Intel FPGA Proqramlaşdırıla bilən Sürətləndirmə Kartı D5005 sənədin başlığına. • Ətraf mühit dəyişəni $OPAE_PLATFORM_ROOT əlavə edildi. • Dəyişdirilmiş bölmə Proqram təminatının proqramlaşdırma modeli kiçik düzəlişlər üçün. • Yeni bölmə əlavə edildi DMA AFU-nun tərtib edilməsi Example. • Dəyişdirilmiş bölmə Təkmilləşdirilmiş DMA Performansı üçün optimallaşdırma kiçik düzəlişlər üçün. |
2019.08.05 |
2.0 (Intel ilə dəstəklənir
Quartus Prime Pro Edition 18.1.2) |
İlkin buraxılış. |
Intel Korporasiyası. Bütün hüquqlar qorunur. Intel, Intel loqosu və digər Intel markaları Intel Korporasiyasının və ya onun törəmə şirkətlərinin ticarət nişanlarıdır. Intel FPGA və yarımkeçirici məhsullarının Intel-in standart zəmanətinə uyğun olaraq cari spesifikasiyalara uyğun işləməsinə zəmanət verir, lakin istənilən vaxt xəbərdarlıq etmədən istənilən məhsul və xidmətlərə dəyişiklik etmək hüququnu özündə saxlayır. Intel tərəfindən yazılı şəkildə açıq şəkildə razılaşdırıldığı hallar istisna olmaqla, Intel burada təsvir edilən hər hansı məlumat, məhsul və ya xidmətin tətbiqi və ya istifadəsindən irəli gələn heç bir məsuliyyət və ya öhdəlik götürmür. Intel müştərilərinə hər hansı dərc edilmiş məlumata etibar etməzdən və məhsul və ya xidmətlər üçün sifariş verməzdən əvvəl cihazın texniki xüsusiyyətlərinin ən son versiyasını əldə etmələri tövsiyə olunur.
- Digər adlar və markalar başqalarının mülkiyyəti kimi iddia edilə bilər.
Sənədlər / Resurslar
![]() |
Intel FPGA Proqramlaşdırıla bilən Sürətləndirmə Kartı D5005 [pdf] İstifadəçi təlimatı FPGA Proqramlaşdırıla bilən Sürətləndirmə Kartı, D5005, FPGA Proqramlaşdırıla bilən Sürətləndirmə Kartı D5005, DMA Sürətləndirici Funksional Bölmə |