intel-AN-829-PCI-Express-Avalon-MM-DMA-Reference-Dizayn-LOGO.

intel AN 829 PCI Express* Avalon MM DMA mos yozuvlar dizayni

intel-AN-829-PCI-Express-Avalon-MM-DMA-ma'lumotnoma-dizayn-mahsulot

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 diagrammasiintel-AN-829-PCI-Express-Avalon-MM-DMA-Referent-dizayn-FIG-1Ushbu blok diagrammada chipdagi xotira va tashqi xotira imkoniyatlari ko'rsatilgan.

Eslatmalar:

  1. Write Mover ma'lumotlarni mahalliy domendan xost domeniga o'tkazadi
  2. 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.

Tegishli ma'lumotlar

  • 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 diagrammasiintel-AN-829-PCI-Express-Avalon-MM-DMA-Referent-dizayn-FIG-2Ushbu blok diagrammasi chipdagi xotira va tashqi xotira imkoniyatlarini ko'rsatadi.

Eslatmalar:

  1. Write Mover ma'lumotlarni mahalliy domendan xost domeniga o'tkazadi
  2. 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 tizimiintel-AN-829-PCI-Express-Avalon-MM-DMA-Referent-dizayn-FIG-3

4-rasm.Intel Cyclone 10 GX GX DMA Reference Design Platform Designer tizimiintel-AN-829-PCI-Express-Avalon-MM-DMA-Referent-dizayn-FIG-4

Shakl 5. Intel Stratix 10 GX DMA Reference Design Platform Designer Systemintel-AN-829-PCI-Express-Avalon-MM-DMA-Referent-dizayn-FIG-5Intel 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:

  1. Dasturiy ta'minot deskriptorlar jadvali uchun tizim xotirasini ajratadi.
  2. Dasturiy ta'minot DMA ma'lumotlarini uzatish uchun tizim xotirasini ajratadi.
  3. 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:
    1. Deskriptor identifikatori, 0-127 oralig'ida
    2. Manba manzili
    3. Belgilangan manzil
    4. Hajmi
  4.  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.
  5. 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.
  6. 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.
  7. 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.
  8. 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.
  9. 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

  1. Kompyuterni o'chirish raqami 1.
  2. FPGA Development Kit kartasini Gen2 x4 yoki Gen3 x8 ni qo'llab-quvvatlaydigan PCIe uyasiga ulang.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. 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.
Tegishli ma'lumotlar

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.
  1. Intel Cyclone 10 GX FPGA ishlab chiqish to'plamining Hujjatlar maydonida to'plam kafolati (zip) havolasini toping. web sahifa.
  2. cyclone-10-gx-kit-collateral.zip ni yuklab olish uchun ushbu havoladan foydalaning
  3. Cyclone-10-gx-kit-collateral.zip faylini 2-sonli kompyuterdagi ishchi katalogga oching.
  4. 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 GUIintel-AN-829-PCI-Express-Avalon-MM-DMA-Referent-dizayn-FIG-6
  5. Clock Controller GUI-da Import-ni bosing.
  6. ga qarang /cyclone-10-gx-collateral/examples/board_test_system/ katalogini tanlang va U64-Registers.txt-ni tanlang.
  7. 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 sozlamalariintel-AN-829-PCI-Express-Avalon-MM-DMA-Referent-dizayn-FIG-7

Tegishli ma'lumotlar

Uskunani sozlash 11-betda

DMA test drayverini o'rnatish va Linux DMA dasturini ishga tushirish
  1. 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
  2. Tegishli qurilmalar oilasi uchun Linux drayverini o'rnatish uchun buyruqni kiriting:% sudo./install uchun yaroqli qiymatlar arria10, siklon10 va stratix10.
  3. 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'tkazuvchanligiintel-AN-829-PCI-Express-Avalon-MM-DMA-Referent-dizayn-FIG-8

9-rasm. Intel Cyclone 10 GX DMA o'tkazuvchanligiintel-AN-829-PCI-Express-Avalon-MM-DMA-Referent-dizayn-FIG-910-rasm. Intel Stratix 10 DMA o'tkazuvchanligiintel-AN-829-PCI-Express-Avalon-MM-DMA-Referent-dizayn-FIG-10

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'tkazuvchanlikintel-AN-829-PCI-Express-Avalon-MM-DMA-Referent-dizayn-FIG-11

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:

  1. So'rovchi Xotirani o'qish so'rovini yuboradi.
  2. To'ldiruvchi xotirani o'qish so'rovini tasdiqlash uchun ACK DLLP ni yuboradi.
  3. 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'qingintel-AN-829-PCI-Express-Avalon-MM-DMA-Referent-dizayn-FIG-12

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

Ma'lumotnomalar

Fikr qoldiring

Sizning elektron pochta manzilingiz nashr etilmaydi. Majburiy maydonlar belgilangan *