intel AN 829 PCI Express* Avalon MM DMA mos yozuvlar dizayni
AN 829: PCI Express* Avalon®-MM DMA mos yozuvlar dizayni
Kirish
PCI Express* Avalon® Memory-Mapped (Avalon-MM) Direct Memory Access (DMA) Reference Design Intel® Arria® 10, Intel Cyclone® 10 GX va Intel Stratix® 10 Hard IP for PCIe* ishlashini namoyish etadi. Avalon-MM interfeysi va o'rnatilgan, yuqori samarali DMA kontrolleri.
Dizayn DMA uzatishni sozlash uchun Linux dasturiy ta'minoti drayverini o'z ichiga oladi. O'qilgan DMA ma'lumotlarni tizim xotirasidan chipdagi yoki tashqi xotiraga o'tkazadi. DMA yozish ma'lumotni chipdagi yoki tashqi xotiradan tizim xotirasiga o'tkazadi. Linux dasturiy ta'minoti drayveri tizim ish faoliyatini ham o'lchaydi. Ushbu mos yozuvlar dizayni o'rnatilgan, yuqori samarali DMA bilan Avalon-MM interfeysidan foydalanishda PCIe protokolining ishlashini baholashga imkon beradi.
1-rasm: PCIe Avalon-MM DMA mos yozuvlar dizayni blok diagrammasiUshbu blok diagrammada chipdagi xotira va tashqi xotira imkoniyatlari ko'rsatilgan.
Eslatmalar:
- Write Mover ma'lumotlarni mahalliy domendan xost domeniga o'tkazadi
- Read Mover ma'lumotlarni xost domenidan mahalliy domenga uzatadi
Intel korporatsiyasi. Barcha huquqlar himoyalangan. Intel, Intel logotipi va boshqa Intel belgilari Intel korporatsiyasi yoki uning sho'ba korxonalarining savdo belgilaridir. Intel o'zining FPGA va yarimo'tkazgich mahsulotlarining Intel standart kafolatiga muvofiq joriy spetsifikatsiyalarga muvofiq ishlashiga kafolat beradi, lekin istalgan vaqtda ogohlantirmasdan istalgan mahsulot va xizmatlarga o'zgartirish kiritish huquqini o'zida saqlab qoladi. Intel tomonidan yozma ravishda kelishilgan hollar bundan mustasno, bu erda tasvirlangan har qanday ma'lumot, mahsulot yoki xizmatdan foydalanish yoki qo'llash natijasida kelib chiqadigan hech qanday javobgarlik yoki javobgarlikni o'z zimmasiga olmaydi. Intel mijozlariga har qanday nashr etilgan ma'lumotlarga tayanishdan va mahsulot yoki xizmatlarga buyurtma berishdan oldin qurilma texnik xususiyatlarining so'nggi versiyasini olish tavsiya etiladi.
- Boshqa nomlar va brendlar boshqalarning mulki sifatida da'vo qilinishi mumkin.
- PCIe Solutions foydalanuvchi uchun qo'llanma uchun Intel Stratix 10 Avalon-MM interfeysi
- PCIe Solutions uchun Intel Arria 10 yoki Intel Cyclone 10 Avalon-MM DMA interfeysi foydalanuvchi qo‘llanmasi
- PCI Express bazasi spetsifikatsiyasining qayta ko'rib chiqilishi 3.0
DMA Reference Dizayn Uskuna va dasturiy ta'minotga qo'yiladigan talablar
Uskunaga qo'yiladigan talablar
Malumot dizayni quyidagi ishlab chiqish to'plamlarida ishlaydi:
- Intel Arria 10 GX FPGA ishlab chiqish to'plami
- Intel Cyclone 10 GX FPGA ishlab chiqish to'plami
- Intel Stratix 10 FPGA ishlab chiqish to'plami
- Malumot dizayni ikkita kompyuterni talab qiladi:
- Linux bilan ishlaydigan PCIe Gen3 x8 yoki x16 uyasi bo'lgan kompyuter. Bu kompyuter 1-raqamli kompyuter.
- Intel Quartus® Prime dasturiy ta'minotining 18.0 versiyasi o'rnatilgan ikkinchi kompyuter. Bu kompyuter FPGA SRAM obyektini yuklab oladi File (.sof) ishlab chiqish to'plamidagi FPGA-ga. Bu kompyuter 2-raqamli kompyuter.
Dasturiy ta'minot talablari
- 1-sonli kompyuterda o'rnatilgan mos yozuvlar dizayni dasturi. Malumot dizaynlari Intel FPGA dizayn do'konida mavjud. Intel Quartus Prime Pro Edition platformasi arxivi File (.par) mos yozuvlar dizaynlarida ko'rsatilgan parametrlar uchun tavsiya etilgan sintez, moslama va vaqtni tahlil qilish parametrlarini o'z ichiga oladi.
- Intel Quartus Prime dasturi 2-raqamli kompyuterga oʻrnatilgan. Siz ushbu dasturni Intel Quartus Prime Pro Edition dasturiy taʼminot xususiyatlari/yuklab olishdan yuklab olishingiz mumkin. web sahifa.
- Linux drayveri ushbu mos yozuvlar dizaynlari uchun maxsus tuzilgan.
Tegishli ma'lumotlar
- Intel Arria 10 mos yozuvlar dizayni
- Dizayn do'konidan mos yozuvlar dizayni va dizayn dasturini yuklab oling.
- Intel Cyclone 10 GX Reference Design
- Dizayn do'konidan mos yozuvlar dizayni va dizayn dasturini yuklab oling.
- Stratix 10 mos yozuvlar dizayni
- Dizayn do'konidan mos yozuvlar dizayni va dizayn dasturini yuklab oling.
- Intel Quartus Prime Pro Edition yuklab olish markazi
Avalon-MM DMA Bridge moduli tavsiflari
DMA bilan Avalon-MM interfeysi quyidagi modullarni o'z ichiga oladi:
2-rasm. PCIe Avalon-MM DMA mos yozuvlar dizayni blok diagrammasiUshbu blok diagrammasi chipdagi xotira va tashqi xotira imkoniyatlarini ko'rsatadi.
Eslatmalar:
- Write Mover ma'lumotlarni mahalliy domendan xost domeniga o'tkazadi
- Read Mover ma'lumotlarni xost domenidan mahalliy domenga uzatadi
Data Mover-ni o'qing
O'qish ma'lumotlarini ko'chirish moslamasi xotirani o'qiladigan Transaction Layer Paketini (TLPs) yuqoriga yuboradi. O'qish ma'lumotlarini ko'chirish moslamasi tugallanishni olgandan so'ng, Read Data Mover qabul qilingan ma'lumotlarni chip yoki tashqi xotiraga yozadi.
Data Moverni yozing
Write Data Mover chipdagi yoki tashqi xotiradan ma'lumotlarni o'qiydi va PCIe havolasida xotira yozish TLPlari yordamida ma'lumotlarni yuqori oqimga yuboradi.
DMA deskriptor boshqaruvchisi
Descriptor Controller moduli DMA o'qish va yozish operatsiyalarini boshqaradi. Xost dasturiy ta'minot dasturlari Avalon-MM RX master porti orqali xost tizimi xotirasida joylashgan deskriptorlar jadvalining joylashuvi va o'lchami bilan Deskriptor Kontrolleridagi ichki registrlarni yaratadi. Ushbu ma'lumotlarga asoslanib, Deskriptor boshqaruvchisi o'qish ma'lumotlarini o'tkazuvchiga butun jadvalni bajarish uchun mahalliy FIFOlarga ko'chirishga yo'naltiradi. Deskriptor tekshiruvi yakunlanish holatini Avalon TX slave (TXS) porti orqali yuqoriga yuboradi.
Ma'lumotlarni o'qish va yozishni boshqarish uchun o'zingizning tashqi deskriptor boshqaruvchisidan ham foydalanishingiz mumkin. Biroq, siz o'zingizning tashqi kontrolleringiz va mos yozuvlar dizayniga o'rnatilgan ma'lumotlarni o'qish va yozish moslamalari o'rtasidagi interfeysni o'zgartira olmaysiz.
TX Slave
TX Slave moduli Avalon-MM ni o'qish va yozishni yuqori oqimga uzatadi. Tashqi Avalon-MM ustalari, jumladan DMA boshqaruv ustasi TX Slave yordamida tizim xotirasiga kirishlari mumkin. DMA tekshiruvi ushbu yo'ldan DMA holatini yuqori oqimda yangilash uchun foydalanadi, bunda Message Signaled Interrupt (MSI) TLPs. RX Master (BAR0 boshqaruvi uchun ichki port) RX Master moduli 32-bitli Avalon-MM master porti orqali Root Portdan Avalon-MM domeniga bitta dword o'qish va yozish TLPlarini tarqatadi. Dasturiy ta'minot RX Master-ga boshqaruv, holat va deskriptor ma'lumotlarini Avalon-MM qullariga, shu jumladan DMA boshqaruv blokiga yuborishni buyuradi. RX Master porti Platform Designer-da ko'rinmaydigan ichki portdir.
Malumot dizayni bilan ishlash
Loyiha ierarxiyasi
Malumot dizayni quyidagi katalog tuzilishidan foydalanadi:
- top - Yuqori darajadagi modul.
- top_hw - yuqori darajadagi platformalar dizayneri files. Agar siz Platform Designer yordamida dizaynni o'zgartirsangiz, o'zgarishlar kuchga kirishi uchun tizimni qayta tiklashingiz kerak.
PCI Express qattiq IP o'zgarishlari uchun parametr sozlamalari
Ushbu mos yozuvlar dizayni 256 baytlik maksimal yuk hajmini qo'llab-quvvatlaydi. Quyidagi jadvallarda barcha parametrlar uchun qiymatlar keltirilgan.
Jadval 1. Tizim sozlamalari
Parametr | Qiymat |
Bo'laklar soni | Intel Cyclone 10 GX: x4
Intel Arria 10, Intel Stratix 10: x8 |
Yo'lak tezligi | Intel Cyclone 10 GX: Gen2 (5.0 Gbit/s)
Intel Arria 10 Intel Stratix 10: Gen3 (8.0 Gbit/s) |
RX bufer kreditini ajratish - qabul qilingan so'rov uchun ishlash | Intel Arria 10, Intel Cyclone 10 GX: past Intel Stratix 10: mavjud emas |
2-jadval.Asosiy manzil registri (BAR) sozlamalari
Parametr | Qiymat |
BAR0 | 64-bitli oldindan olinadigan xotira |
BAR1 | O'chirilgan |
BAR2 | 64-bitli oldindan olinadigan xotira
Intel Stratix 2 uchun BAR10 o'chirilgan |
davom etdi… |
Parametr | Qiymat |
BAR3 | O'chirilgan |
BAR4 | 64-bitli oldindan olinadigan xotira
BAR4 Intel Arria 10 va Intel Cyclone 10 GX uchun o'chirilgan |
BAR5 | O'chirilgan |
Jadval 3. Qurilmani identifikatsiya qilish registrining sozlamalari
Parametr | Qiymat |
Sotuvchi identifikatori | 0x00001172 |
Qurilma identifikatori | 0x0000E003 |
Tahrir identifikatori | 0x00000001 |
Sinf kodi | 0x00000000 |
Quyi tizim sotuvchisi identifikatori | 0x00000000 |
Quyi tizim qurilmasi identifikatori | 0x00000000 |
4-jadval. PCI Express/PCI* Imkoniyatlari
Parametr | Qiymat |
Maksimal yuk hajmi | 256 bayt |
Tugatish muddati oralig'i | Yo'q |
Amalga oshirishni tugatish vaqti tugashini o'chirish | Yoqilgan |
5-jadval. Xatolar haqida xabar berish sozlamalari
Parametr | Qiymat |
Kengaytirilgan xato hisoboti (AER) | Yoqilgan |
ECRC tekshiruvi | O'chirilgan |
ECRC avlodi | O'chirilgan |
6-jadval.Link sozlamalari
Parametr | Qiymat |
Bog'lanish port raqami | 1 |
Slot soati konfiguratsiyasi | Yoqilgan |
Jadval 7. Xabar signalli uzilishlar (MSI) va MSI-XSettings
Parametr | Qiymat |
So'ralgan MSI xabarlari soni | 4 |
MSI-X ni joriy qiling | O'chirilgan |
Jadval hajmi | 0 |
Jadval ofset | 0x0000000000000000 |
davom etdi… |
Parametr | Qiymat |
Jadval BAR ko'rsatkichi | 0 |
Kutilayotgan bit massivi (PBA) ofset | 0x0000000000000000 |
PBA BAR ko'rsatkichi | 0 |
8-jadval. Quvvatni boshqarish
Parametr | Qiymat |
Yakuniy nuqta L0s qabul qilinadigan kechikish | Maksimal 64 ns |
Yakuniy nuqta L1 qabul qilinadigan kechikish | Maksimal 1 ta |
9-jadval.PCIe manzil maydonini sozlash
Parametr | Qiymat |
Foydalanish mumkin bo'lgan PCIe xotira maydonining manzil kengligi | 40 |
PCIe Avalon-MM DMA Reference Design Platform Designer tizimlari
Quyidagi rasmlarda Intel Arria 10, Intel Cyclone 10 GX va Intel Stratix 10 qurilmalari uchun Platform Designer tizimlari ko‘rsatilgan.
3-rasm. Intel Arria 10 GX DMA Reference Design Platform Designer tizimi
4-rasm.Intel Cyclone 10 GX GX DMA Reference Design Platform Designer tizimi
Shakl 5. Intel Stratix 10 GX DMA Reference Design Platform Designer SystemIntel Stratix 10 dizayni boshqa qurilmalarda mavjud bo'lmagan quvur liniyasi komponentlari va soatni kesib o'tish mantiqini o'z ichiga oladi.
10-jadval.Platforma dizayneri portining tavsiflari
Port | Funktsiya | Tavsif |
rxm_bar2
or rxm_bar4 |
Avalon-MM porti | Bu Avalon-MM asosiy portidir. PCIe xosti xotiraga Intel Arria 2 va Intel Cyclone 10 GX qurilmalari uchun PCIe BAR10 orqali kiradi. Xost xotiraga Intel Stratix 4 qurilmalari uchun PCIe BAR10 orqali kiradi. Ushbu BARlar ham chipdagi, ham tashqi xotiraga ulanadi.
Oddiy dasturda tizim dasturi tashqi xotirada tasodifiy ma'lumotlarni ishga tushirish uchun ushbu BARni boshqaradi. Dastur shuningdek, to'g'ri ishlashini tekshirish uchun ma'lumotlarni qayta o'qiydi. |
tx | TX Avalon-MM Slave | Bu Avalon-MM qul portidir. Oddiy dasturda Avalon-MM master ushbu portni PCIe domeniga xotira o'qish va yozishni yuborish uchun boshqaradi.
DMA operatsiyani tugatgandan so'ng, Deskriptor tekshiruvi ushbu portdan DMA holatini PCIe domenidagi deskriptorlar jadvaliga yozish uchun ishlatadi. Deskriptor tekshiruvi ushbu portdan MSI uzilishlarini yuqoriga yuborish uchun ham foydalanadi. |
dma_rd_master | Data Mover-ni o'qing | Bu Avalon-MM asosiy portidir. Read Data Mover ushbu Avalon-MM master-dan ma'lumotlarni PCIe domenidan chipdagi yoki tashqi xotiraga ko'chirish uchun foydalanadi. Read Data Mover ushbu portdan PCIe domenidan identifikatorlarni olish va ularni Deskriptor tekshiruvidagi FIFOga yozish uchun ham foydalanadi.
Dizayn o'qish va yozish deskriptorlari uchun alohida tavsif jadvallarini o'z ichiga oladi. Shunday qilib, dma_rd_master porti FIFO yozish DMA identifikatori uchun wr_dts_slave va o'qilgan DMA FIFO identifikatori uchun rd_dts_slave portiga ulanadi. |
dma_wr_master | Data Moverni yozing | Bu Avalon-MM asosiy portidir. Write Data Mover ushbu Avalon-MM master-dan chipdagi yoki tashqi xotiradan ma'lumotlarni o'qish va keyin PCIe domeniga ma'lumotlarni yozish uchun foydalanadi.
Tashqi xotira boshqaruvchisi bitta portli operativ xotira hisoblanadi. Shunday qilib, Write Data Mover va Read Data Mover tashqi xotirani baholash uchun ushbu portdan foydalanishi kerak. |
wr_dts_slave rd_dts_slave | Deskriptor boshqaruvchisidagi FIFO | Bular Deskriptor boshqaruvchisidagi FIFOlar uchun Avalon-MM tobe portlari. Read Data Mover tizim xotirasidan identifikatorlarni olganida, Read Data Mover wr_dts_slave va rd_dts_slave portlari yordamida FIFOga identifikatorlarni yozadi. |
wr_dcm_master rd_dcm_master | Deskriptor boshqaruvchisidagi boshqaruv moduli | Deskriptor tekshiruvi boshqaruv moduli o'qish va yozish DMA uchun bitta uzatish va bitta qabul qilish portini o'z ichiga oladi. Qabul qilish porti RXM_BAR0 ga ulanadi. Uzatish porti txs ga ulanadi.
RXM_BAR0 dan qabul qilish yo'li ichki ulanadi. RXM_BAR0 Platforma dizayneri ulanishlar panelida ko'rsatilmagan. O'tkazish yo'li uchun DMA o'qish va yozish portlari tashqi txs ga ulanadi. Ushbu portlar Platforma dizaynerining ulanishlar panelida ko'rinadi. |
Ichki ulanish, ko'rsatilmagan | Avalon-MM porti | Ushbu Avalon-MM asosiy porti xotiraga kirishni PCIe xostidan PCIe BAR0 ga o'tkazadi. Xost ushbu portdan Deskriptor boshqaruvchisini dasturlash uchun foydalanadi. Ushbu mos yozuvlar dizayni ichki modul sifatida Deskriptor Controllerni o'z ichiga olganligi sababli, Platforma Designer bu portni yuqori darajadagi ulanishlar panelida ko'rsatmaydi. |
onchip_memory2_0 | 64 KB ikki portli operativ xotira | Bu 64 KB ikki portli chipdagi xotira. Manzil diapazoni Avalon-MM avtobusida 0x0800_0000-0x0800_FFFF. Bu manzil DMA yozish uchun manba manzili yoki o‘qilgan DMA uchun maqsad manzildir.
Ma'lumotlarning buzilishining oldini olish uchun dasturiy ta'minot xotirani o'qish va yozish uchun alohida hududlarga ajratadi. Hududlar bir-biriga mos kelmaydi. |
Intel DDR3 yoki DDR4 kontrolleri | DDR3 yoki DDR4 tekshiruvi | Bu bitta portli DDR3 yoki DDR4 kontrolleri. |
DMA protsedurasi bosqichlari
Xostda ishlaydigan dasturiy ta'minot DMA ni ishga tushirish va natijalarni tekshirish uchun quyidagi bosqichlarni bajaradi:
- Dasturiy ta'minot deskriptorlar jadvali uchun tizim xotirasini ajratadi.
- Dasturiy ta'minot DMA ma'lumotlarini uzatish uchun tizim xotirasini ajratadi.
- Dasturiy ta'minot deskriptorlarni tizim xotirasidagi deskriptorlar jadvaliga yozadi. DMA 128 ta o'qish va 128 tagacha yozish deskriptorlarini qo'llab-quvvatlaydi. Deskriptorlar jadvali quyidagi ma'lumotlarni yozib oladi:
- Deskriptor identifikatori, 0-127 oralig'ida
- Manba manzili
- Belgilangan manzil
- Hajmi
- O'qilgan DMA uchun dasturiy ta'minot tizim xotirasi maydonini tasodifiy ma'lumotlar bilan ishga tushiradi. Read Data Mover bu maʼlumotlarni tizim xotirasidan chipdagi yoki tashqi xotiraga oʻtkazadi. DMA yozish uchun dasturiy ta'minot chipdagi yoki tashqi xotirani tasodifiy ma'lumotlar bilan ishga tushiradi. Write Data Mover ma'lumotlarni chipdagi yoki tashqi xotiradan tizim xotirasiga o'tkazadi.
- Dasturiy ta'minot Deskriptor Controller boshqaruv modulidagi registrlarni BAR0 orqali dasturlaydi. Dasturlash tizim xotirasidagi deskriptorlar jadvalining asosiy manzilini va FPGA da deskriptorlarni saqlaydigan FIFO ning asosiy manzilini belgilaydi.
- DMA ni ishga tushirish uchun dasturiy ta'minot oxirgi deskriptorning identifikatorini Deskriptor Controller boshqaruv mantiqiga yozadi. DMA identifikatorlarni olishni boshlaydi. DMA deskriptor ID 0 dan boshlanadi va oxirgi deskriptorning identifikatori bilan tugaydi.
- Oxirgi identifikator uchun ma'lumotlarni uzatish tugallangandan so'ng, Deskriptor boshqaruvchisi txs porti yordamida PCIe domenidagi oxirgi deskriptorga mos keladigan deskriptor jadvalidagi Bajarildi bitiga 1'b1 yozadi.
- Dasturiy ta'minot oxirgi identifikatorga mos keladigan deskriptor jadvali yozuvidagi Bajarildi bitini so'raydi. DMA Controller Bajarilgan bitni yozgandan so'ng, DMA Controller o'tkazish qobiliyatini hisoblaydi. Dasturiy ta'minot tizim xotirasidagi ma'lumotlarni chipdagi yoki tashqi xotira bilan taqqoslaydi. Agar xato bo'lmasa, sinov o'tadi.
- Bir vaqtning o'zida o'qish va yozish uchun dasturiy ta'minot DMA yozish operatsiyasidan oldin o'qish DMA operatsiyasini boshlaydi. Barcha o'qish va yozish DMAlari tugagach, DMA tugaydi.
Uskunani sozlash
- Kompyuterni o'chirish raqami 1.
- FPGA Development Kit kartasini Gen2 x4 yoki Gen3 x8 ni qo'llab-quvvatlaydigan PCIe uyasiga ulang.
- Intel Stratix 10 10 FPGA Development Kit uchun J26 va J27 ulagichlari kartani quvvatlantiradi. Kartani mavjud PCIe uyasiga joylashtirgandan so'ng, 2-sonli kompyuterning quvvat manbaidan 4 × 2 va 3 × 1 pinli PCIe quvvat kabellarini mos ravishda PCIe kartasining J26 va J27 ga ulang.
- 2-sonli kompyuterdan USB kabelini FPGA Development Kit-ga ulang. Rivojlanish to'plami FPGA dasturlash uchun bortdagi Intel FPGA yuklab olish kabelini o'z ichiga oladi.
- FPGA Development Kitni PCIe uyasi orqali quvvatlantirish uchun 1-sonli kompyuterni yoqing. Shu bilan bir qatorda, FPGA Development Kit-ni to'plam bilan birga kelgan tashqi quvvat adapteri yordamida yoqishingiz mumkin.
- Intel Cyclone 10 GX FPGA Development Kit uchun bortda dasturlashtiriladigan osilator apparat komponentlari uchun soat manbai hisoblanadi. Ushbu osilatorni dasturlash uchun Intel Cyclone 10 GX FPGA dasturlashtiriladigan osilatorini sozlash bo'limidagi ko'rsatmalarga amal qiling.
- 2-sonli kompyuterda Intel Quartus Prime dasturchisini ishga tushiring va FPGA-ni Intel FPGA yuklab olish kabeli orqali sozlang.
Eslatma: FPGA ishlab chiqish to'plami quvvatni yo'qotganda, siz FPGA ni qayta sozlashingiz kerak. - PCIe qurilmasini aniqlash uchun tizim roʻyxatini majburlash uchun 1-kompyuterni qayta ishga tushiring. Agar siz Intel Stratix 10 GX FPGA Development Kit-dan foydalanayotgan boʻlsangiz, BIOS-ni ishga tushirish vaqtida quyidagi xato xabari paydo boʻlishi mumkin, agar xotirada kiritilgan kiritish/chiqish atigi 4 GB boʻlsa: yetarli emas. PCI resurslari aniqlandi. Ushbu muammoni hal qilish uchun BIOS yuklash menyusida 4G dan yuqori dekodlashni yoqing.
Intel Cyclone 10 GX FPGA osilatorini dasturlash 12-betda
- Intel Cyclone 10 GX FPGA osilatorini dasturlash
- Intel Cyclone 10 GX ishlab chiqish to'plami Intel Cyclone 10 GX qurilmalari uchun mos yozuvlar dizaynini ishga tushirishdan oldin sozlashingiz kerak bo'lgan dasturlashtiriladigan osilatorni o'z ichiga oladi. ClockController GUI to'g'ri sozlamalarni import qilish imkonini beradi.
- Intel Cyclone 10 GX FPGA ishlab chiqish to'plamining Hujjatlar maydonida to'plam kafolati (zip) havolasini toping. web sahifa.
- cyclone-10-gx-kit-collateral.zip ni yuklab olish uchun ushbu havoladan foydalaning
- Cyclone-10-gx-kit-collateral.zip faylini 2-sonli kompyuterdagi ishchi katalogga oching.
- Soat boshqaruvchisi dialog oynasini ochish uchun quyidagi buyruqlarni kiriting: % cd /cyclone-10-gx-collateral/examples/board_test_system/ % ./ClockController.sh
6-rasm. Boshlang'ich holatdagi soat boshqaruvchisi GUI - Clock Controller GUI-da Import-ni bosing.
- ga qarang /cyclone-10-gx-collateral/examples/board_test_system/ katalogini tanlang va U64-Registers.txt-ni tanlang.
- Registr sozlamalarini import qilish uchun Ochish tugmasini bosing.
Si5332 registr xaritasi muvaffaqiyatli import qilindi xabari paydo bo'ladi. Quyida ko'rsatilgan soat sozlamalarini ko'rishingiz kerak.
Shakl 7. Intel Cyclone 10 GX FPGA Development Kit uchun soat sozlamalari
Tegishli ma'lumotlar
Uskunani sozlash 11-betda
DMA test drayverini o'rnatish va Linux DMA dasturini ishga tushirish
- 1-kompyuterdagi terminal oynasida DMA drayverlari katalogiga o'ting va quyidagi buyruqlarni terish orqali AN829_driver.tar faylini chiqarib oling: cd % / /_PCIe DMA_ _project/driver% tar -xvf AN829_driver.tar
- Tegishli qurilmalar oilasi uchun Linux drayverini o'rnatish uchun buyruqni kiriting:% sudo./install uchun yaroqli qiymatlar arria10, siklon10 va stratix10.
- DMA ilovasini ishga tushirish uchun quyidagi buyruqni kiriting: %./run Ilova DMA trafigini belgilash uchun mavjud buyruqlarni chop etadi. Odatiy bo'lib, dastur DMA o'qish, DMA yozish va bir vaqtning o'zida DMA o'qish va yozish imkonini beradi. Quyidagi jadvalda mavjud buyruqlar keltirilgan:
11-jadval.DMA test buyruqlari
Buyruq raqami | Funktsiya |
1 | DMA ni ishga tushiring. |
2 | DMA o'qishni yoqish yoki o'chirish. |
3 | DMA yozishni yoqish yoki o'chirish. |
4 | Bir vaqtning o'zida o'qish va yozish DMA ni yoqing yoki o'chiring. |
5 | Deskriptor uchun dwords sonini belgilang. Yuridik diapazon 256-4096 dwords. |
6 | Deskriptorlar sonini belgilang. Yuridik diapazon 1-127 deskriptorni tashkil qiladi. |
7 | Odatiy bo'lib, mos yozuvlar dizayni chipdagi xotirani tanlaydi. Agar ushbu buyruq tanlansa, ketma-ket ishlash chip va tashqi xotira o'rtasida almashinadi. |
8 | DMA ni uzluksiz tsiklda ishga tushiring. |
10 | Chiqish |
Misol uchunample, har bir deskriptorga 4096 dwords va 127 ta identifikatorni belgilash uchun quyidagi buyruqlarni kiriting: % 5 4096 % 6 127 % 8
Quyidagi raqamlar DMA o'qish, DMA yozish va bir vaqtning o'zida DMA o'qish va yozish uchun o'tkazuvchanlikni ko'rsatadi:
Shakl 8. Intel Arria 10 DMA o'tkazuvchanligi
9-rasm. Intel Cyclone 10 GX DMA o'tkazuvchanligi10-rasm. Intel Stratix 10 DMA o'tkazuvchanligi
PCI Express o'tkazish qobiliyatini tushunish
PCI Express tizimidagi o'tkazuvchanlik quyidagi omillarga bog'liq:
- Protokol xarajatlari
- Yuk tashish hajmi
- Tugatish kechikishi
- Oqim nazoratini yangilash kechikishi
- Bog'lanishni tashkil etuvchi qurilmalar
Protokol yuki
Protokolning qo'shimcha xarajatlari quyidagi uchta komponentni o'z ichiga oladi:
- 128b/130b kodlash va dekodlash - Gen3 havolalari 128b/130b kodlashdan foydalanadi. Ushbu kodlash har bir 128-bitli ma'lumotlarni uzatish uchun ikkita sinxronlash (sinxronlash) bitini qo'shadi. Shunday qilib, kodlash va dekodlash uchun qo'shimcha xarajatlar 1.56% da juda kichik. Gen3 x8 havolasining samarali ma'lumot tezligi soniyasiga taxminan 8 gigabaytni (GBps) tashkil qiladi.
- Ma'lumotlar havolasi qatlami paketlari (DLLPs) va jismoniy qatlam paketlari (PLPs) - Faol havola shuningdek DLLP va PLP ni uzatadi. PLPlar SKP tomonidan buyurtma qilingan to'plamlardan iborat
16-24 bayt. DLLPlar ikkita dworddan iborat. DLLPlar oqimni boshqarish va ACK/NAK protokolini amalga oshiradi. - TLP paketli qo'shimcha xarajatlar - Agar ixtiyoriy ECRC kiritilmagan bo'lsa, bitta TLP bilan bog'liq bo'lgan qo'shimcha xarajatlar 5-7 dwords oralig'ida. Qo'shimcha xarajatlar quyidagi maydonlarni o'z ichiga oladi:
- Boshlanish va tugatish ramkalarining belgilari
- Sequence ID
- 3 yoki 4 so'zli TLP sarlavhasi
- Havoning siklik ortiqchaligini tekshirish (LCRC)
- 0-1024 dwords ma'lumotlar yuki
- 11-rasm. TLP paket formati
Boshlash
1 bayt |
ketma-ketlik
2 bayt |
TLP sarlavhasi
3-4 DW |
Ma'lumotlar yuki
0-1024 DW |
XQXQ
1 DW |
LCRC
1 DW |
Oxiri
1 bayt |
Joylashtirilgan yozuvlar uchun o'tkazuvchanlik
Nazariy maksimal o'tkazish qobiliyatini hisoblash quyidagi formuladan foydalanadi: O'tkazish qobiliyati = foydali yuk hajmi / (foydali yuk hajmi + qo'shimcha yuk) * ulanish ma'lumotlar tezligi
Shakl 12. Xotirani yozish uchun maksimal o'tkazuvchanlik
Grafik turli xil TLP sarlavhalari va foydali yuk o'lchamlari bilan maksimal o'tkazish qobiliyatini ko'rsatadi. DLLP va PLP ushbu hisob-kitobdan chiqarib tashlanadi. 256 baytlik maksimal yuk hajmi va 3 so'zli sarlavha uchun qo'shimcha yuk besh dwordsni tashkil qiladi. Interfeys 256 bit bo'lganligi sababli, 5 so'zli sarlavha bitta shina aylanishini talab qiladi. 256 baytlik foydali yuk 8 ta avtobus aylanishini talab qiladi.
Nazariy l M ax im um M em o riy yozuvlar uchun o tkazuvchanlik (x1)
Quyidagi tenglama maksimal nazariy o'tkazish qobiliyatini ko'rsatadi: Maksimal o'tkazish qobiliyati = 8 sikl/9 sikl = 88.88% * 8 GBps = 7.2 GBps
Maksimal yuk hajmini belgilash
Device Control registri, bitlar [7:5] joriy tizimning maksimal TLP foydali yuk hajmini belgilaydi. Device Capabilities registrining maksimal yuk hajmi maydoni, bitlar [2:0], foydali yuk uchun ruxsat etilgan maksimal qiymatni belgilaydi. Siz parametr muharriri yordamida maksimal yuk hajmi deb nomlangan ushbu faqat o'qish parametrini belgilaysiz. Joriy tizim uchun maksimal TLP yukini aniqlagandan so'ng, dasturiy ta'minot ushbu qiymatni Qurilmani boshqarish registriga yozadi. Bu qiymat “Qurilma imkoniyatlari” registrining “Maksimal yuk hajmi” maydonida ko‘rsatilgan maksimal foydali yukdan kam bo‘lishi kerak.
PCI Express uchun oqim nazoratini tushunish
Oqim nazorati qabul qiluvchida TLPni qabul qilish uchun yetarli bufer bo'sh joy bo'lmasa, TLP uzatilmasligini kafolatlaydi. Sarlavhalar va foydali yuk ma'lumotlari uchun alohida kreditlar mavjud. TLP yuborishdan oldin qurilmaga yetarli sarlavha va foydali yuk kreditlari kerak. To'ldiruvchidagi Ilova qatlami TLP ni qabul qilganda, u to'ldiruvchining tranzaksiya qatlamidagi RX bufer maydonini bo'shatadi. To'ldiruvchi iste'mol qilingan kreditlarni to'ldirish uchun oqimni boshqarish yangilanish paketini (FC Update DLLP) yuboradi. Qurilma barcha kreditlarini iste'mol qilganda, sarlavha va foydali yuk kreditlarini to'ldirish uchun FC Update DLLP tezligi o'tkazish qobiliyatini cheklaydi. Oqimni boshqarish yangilanishlari maksimal foydali yuk hajmiga va ikkita ulangan qurilmaning kechikishlariga bog'liq.
O'qish uchun o'tkazuvchanlik
PCI Express o'qish uchun ajratilgan tranzaksiya modelidan foydalanadi. O'qish operatsiyasi quyidagi bosqichlarni o'z ichiga oladi:
- So'rovchi Xotirani o'qish so'rovini yuboradi.
- To'ldiruvchi xotirani o'qish so'rovini tasdiqlash uchun ACK DLLP ni yuboradi.
- To'ldiruvchi ma'lumotlar bilan yakunlashni qaytaradi. To'ldiruvchi Bajarishni bir nechta yakunlovchi paketlarga bo'lishi mumkin.
O'qish tezligi odatda yozish qobiliyatidan pastroq, chunki o'qish uchun bir xil miqdordagi ma'lumotlar uchun bitta yozish o'rniga ikkita tranzaksiya talab qilinadi. O'qish tezligi, shuningdek, Ilova qatlami Xotirani o'qish so'rovini bergan vaqt va so'ralgan ma'lumotni qaytarish vaqti o'rtasidagi aylanish kechikishiga bog'liq. O'tkazish qobiliyatini maksimal darajada oshirish uchun dastur ushbu kechikishni qoplash uchun etarli darajada ajoyib o'qish so'rovlarini berishi kerak.
13-rasm. So'rov vaqtini o'qing
Quyidagi raqamlar Xotirani o'qish so'rovlari (MRD) va ma'lumotlar bilan yakunlash (CplD) uchun vaqtni ko'rsatadi. Birinchi rasmda so'rovchi keyingi so'rovlarni berishdan oldin bajarilishini kutayotganini ko'rsatadi. Kutish pastroq ishlashga olib keladi. Ikkinchi rasmda so'rovchi birinchi ma'lumotlar qaytarilgandan keyin kechikishni bartaraf etish uchun bir nechta ajoyib o'qish so'rovlarini amalga oshirayotganini ko'rsatadi. Kechikishlarni bartaraf etish yuqori o'tkazuvchanlikka olib keladi.
To'liq ma'lumotlar paketlari uchun maksimal o'tkazuvchanlikni ta'minlash uchun so'rovchi quyidagi sozlamalarni optimallashtirishi kerak:
- RX buferidagi tugallanishlar soni
- Ilova qatlami o'qish so'rovlarini berish va yakuniy ma'lumotlarni qayta ishlash tezligi
So'rov hajmini o'qing
O'tkazish qobiliyatiga ta'sir qiluvchi yana bir omil - o'qish so'rovi hajmi. Agar so'rovchi 4 KB ma'lumotni talab qilsa, so'rovchi to'rtta, 1 KB o'qish so'rovini yoki bitta 4 KB o'qish so'rovini berishi mumkin. 4 KB so'rov to'rtta, 1 KB o'qishdan ko'ra yuqori o'tkazuvchanlikka olib keladi. Device Control registridagi maksimal o'qish so'rovi hajmi qiymati, bitlar [14:12], o'qish so'rovi hajmini belgilaydi.
Ajoyib o'qish so'rovlari
O'tkazish qobiliyatiga ta'sir qilishi mumkin bo'lgan yakuniy omil - bu ajoyib o'qish so'rovlari soni. Agar so'rovchi o'tkazish qobiliyatini yaxshilash uchun bir nechta o'qish so'rovlarini yuborsa, mavjud sarlavhalar soni tags to'liq o'qish so'rovlari sonini cheklaydi. Yuqori samaradorlikka erishish uchun Intel Arria 10 va Intel Cyclone 10 GX read DMA 16 tagacha sarlavhadan foydalanishi mumkin. tags. Intel Stratix 10 o'qish DMA 32 tagacha sarlavhadan foydalanishi mumkin tags.
O'tkazuvchanlikni o'lchashni tushunish
O'tkazish qobiliyatini o'lchash uchun dasturiy ta'minot drayveri ikki marta oladiamps. Dasturiy ta'minot birinchi marta oladiamp ko'p o'tmay siz ./run buyrug'ini kiritasiz. Dasturiy ta'minot ikkinchi marta oladiamp DMA tugallangandan so'ng va kerakli tugatish holatini qaytargandan so'ng, EPLAST. Agar DMA-ni o'qish, DMA yozish va bir vaqtning o'zida o'qish va yozish DMA-larning barchasi yoqilgan bo'lsa, haydovchi olti marta vaqt oladi.amps uchta o'lchovni amalga oshirish uchun.
Chipdagi va tashqi xotira uchun o'tkazuvchanlik farqlari
Ushbu mos yozuvlar dizayni FPGA to'qimasida amalga oshirilgan chipdagi xotira va PCBda mavjud bo'lgan tashqi xotira o'rtasida tanlovni ta'minlaydi. Chipdagi xotira alohida o'qish va yozish portlarini qo'llab-quvvatlaydi. Shunday qilib, bu xotira bir vaqtning o'zida o'qish va DMA yozishni qo'llab-quvvatlaydi. Tashqi xotira bitta portni qo'llab-quvvatlaydi. Shunday qilib, tashqi xotira bir vaqtning o'zida DMA o'qish va yozish DMA kirishlarini qo'llab-quvvatlamaydi. Bundan tashqari, tashqi xotiraning kechikishi chipdagi xotiraning kechikishidan yuqori. Chipdagi va tashqi xotira o'rtasidagi bu ikki farq tashqi xotirani amalga oshirish uchun past o'tkazuvchanlikka olib keladi. Chipdagi va tashqi xotiraning o'tkazuvchanligini solishtirish uchun, chipdagi va tashqi xotira o'rtasida almashish uchun ketma-ket ishlash uchun 7-buyrug'ini tanlang.
AN 829 uchun hujjatlarni ko'rib chiqish tarixi: PCI Express Avalon-MM DMA mos yozuvlar dizayni
Hujjat versiyasi | Intel Quartus Prime versiyasi | O'zgarishlar |
2018.06.11 | 18.0 | Dastlabki nashr. |
AN 829: PCI Express* Avalon®-MM DMA mos yozuvlar dizayni 22
Hujjatlar / manbalar
![]() |
intel AN 829 PCI Express* Avalon MM DMA mos yozuvlar dizayni [pdf] Foydalanuvchi uchun qoʻllanma AN 829 PCI Express Avalon MM DMA mos yozuvlar dizayni, AN 829, PCI Express Avalon MM DMA mos yozuvlar dizayni, Express Avalon MM DMA mos yozuvlar dizayni, Avalon MM DMA mos yozuvlar dizayni, DMA mos yozuvlar dizayni |