DMA jednotka pro BCE v systémech s AXI sběrnicí Zdeněk Pohl.

Podobné dokumenty
SML 33 / SMM 33 / SMN 33

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Operační paměti počítačů PC

Základy digitální techniky

Paměti Flash. Paměti Flash. Základní charakteristiky

Obsah. Kapitola 1 Skříně počítačů 15. Kapitola 2 Základní deska (mainboard) 19. Kapitola 3 Napájecí zdroj 25. Úvod 11

VINCULUM VNC1L-A. Semestrální práce z 31SCS Josef Kubiš

Základní principy konstrukce systémové sběrnice - shrnutí. Shrnout základní principy konstrukce a fungování systémových sběrnic.

Moduly MicroUnit serie. všechny typy s výjimkou řady MU-43x, MU-44x a MU-84x

SDRAM (synchronní DRAM) Cíl přednášky:

Periferní operace využívající přímý přístup do paměti

Koncepce DMA POT POT. Při vstupu nebo výstupu dat se opakují jednoduché činnosti. Jednotlivé kroky lze realizovat pomocí speciálního HW.

Vestavné systémy. BI-VES Přednáška 8. Ing. Miroslav Skrbek, Ph.D.

Paměti v PC - souhrn

Paměti EEPROM (1) Paměti EEPROM (2) Paměti Flash (1) Paměti EEPROM (3) Paměti Flash (2) Paměti Flash (3)

Mikrokontroléry. Doplňující text pro POS K. D. 2001

FASTPort. Nová sběrnice pro připojení inteligentních karet* k osmibitovým počítačům. aneb. Jak připojit koprocesor

Rozhraní ATA a ATAPI. Rozhraní ATA a ATAPI. Koncepce ATA. Řadič je součástí diskové jednotky. Původní fyzické rozhraní odvozeno od sběrnice ISA.

WL-5480USB. Quick Setup Guide

českém Úvod Obsah balení Technické údaje PU101 Sweex 2 Port Serial ATA RAID PCI Card

Vstupně - výstupní moduly

Paměti SDRAM (synchronní DRAM)

Základní uspořádání pamětí MCU

Příklady popisu základních obvodů ve VHDL

FPC - Převodník pro čínské čtečky F17 a F18 - podrobný popis služeb a příkazů -

External ROM 128KB For Sinclair ZX Spectrum

Řízení IO přenosů DMA řadičem

Dělení pamětí Volatilní paměti Nevolatilní paměti. Miroslav Flídr Počítačové systémy LS /11- Západočeská univerzita v Plzni

Přednášky o výpočetní technice. Hardware teoreticky. Adam Dominec 2010

Miroslav Flídr Počítačové systémy LS /21- Západočeská univerzita v Plzni

Komunikační protokol EX Bus. Komunikační protokol EX Bus. Topologie. Fyzická vrstva. Přístup ke sdílenému přenosovému mediu (sběrnici)

Protokol Profibus DP rozhraní

PROTOKOL O LABORATORNÍM CVIČENÍ

Albatros MultiV ALBATROS MultiV ALBATROS MultiV-R Datový převodník LG PI485 / MODBUS TCP LG PI485 / MODBUS RTU s možností rozpočítávání spotřeby elekt

Struktura a architektura počítačů (BI-SAP) 10

Paměti Rambus DRAM (RDRAM) Paměti Flash Paměti SGRAM

UPM3 Hybrid Návod na ovládání Čerpadlo UPM3 Hybrid 2-5 Instruction Manual UPM3 Hybrid Circulation Pump 6-9

Modul analogových vstupů M-AI4

Když konvenční disky nestačí tempu vašich aplikací

Paměti SDRAM (synchronní DRAM)

Řadiče periferií pro vývojovou desku Spartan3E Starter Kit Jaroslav Stejskal, Jiří Svozil, Leoš Kafka, Jiří Kadlec.

Využití ICT pro rozvoj klíčových kompetencí CZ.1.07/1.5.00/

Rozhraní USB. Rozhraní USB. Specifikace USB. Doplnění (upřesnění) 1.0. Rychlosti Low Speed (1.5 Mb/sec) a Full Speed (12 Mb/sec).

Sběrnice/sloty pro zásuvné karty

Architektury počítačů

Firmware USBasp pro modul AVRUSB. Milan Horkel. Parametr Hodnota Poznámka. Rozhraní USB Low Speed. Procesor ATmega8 ATmega88 Varianty překladu

Čipové karty Lekařská informatika

Periferní zařízení. Laboratorní úloha F. Měření na PCI sběrnici. Vypracovali: Josef Hajas Přemysl Jiřík Ota Korbel

Komunikační protokol MODBUS RTU v měřicích převodnících AD4xxx a Drak 4

ŠESTNÁCTIKANÁLOVÝ A/D PŘEVODNÍK ±30 mv až ±12 V DC, 16 bitů

WORKSHEET 1: LINEAR EQUATION 1

PŘÍLOHY. PRESTO USB programátor

Value - Powerline ethernet adaptér, 85Mbps Katalogové číslo:

M090. Převodník Modbus TCP / DALI. Shrnutí

Přednáška A3B38MMP. Bloky mikropočítače vestavné aplikace, dohlížecí obvody. 2015, kat. měření, ČVUT - FEL, Praha J. Fischer

GUIDELINES FOR CONNECTION TO FTP SERVER TO TRANSFER PRINTING DATA

Procesor. Základní prvky procesoru Instrukční sada Metody zvýšení výkonu procesoru

MEK1 - Modul externí komunikace RS-232 / MODBUS_RTU.

Paměti Rambus DRAM (RDRAM) Paměti Flash Paměti SGRAM

Jednočipové mikropočítače (mikrokontroléry)

Metody připojování periferií

Principy komunikace s adaptéry periferních zařízení (PZ)

PicoBlaze lekce 4: Aplikace pro výuku asembleru procesoru PicoBlaze Jiří Svozil, Jaroslav Stejskal, Leoš Kafka, Jiří Kadlec

PRESTO. USB programátor. Uživatelská příručka

FPGA intimně. Marek Vašut March 6, 2016

Přednáška. Vstup/Výstup. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Modul digitálních vstupů M-DI8

Intel (2) Intel (1) Intel (3) Intel (4) Intel (6) Intel (5) Nezřetězené zpracování instrukcí:

Uživatelský manuál. KNX232e / KNX232e1k

Local Interconnect Network - LIN

Protokol S-BUS pro MORSE Popis protokolu

Akademický rok: 2004/05 Datum: Příjmení: Křestní jméno: Osobní číslo: Obor:

Vstupně výstupní moduly. 13.přednáška

Metody připojování periferií BI-MPP Přednáška 1

Rozhraní disků. 1. Paralelní rozhraní

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

Úvod do programování a práce s počítačem

Semestrální práce z předmětu Speciální číslicové systémy X31SCS

Přednáška , kat. měření, ČVUT - FEL, Praha J. Fischer. A4B38NVS, 2012, J.Fischer, kat. měření,, ČVUT - FEL 1

MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY. Stručný úvod do programování v jazyce C 2.díl. České vysoké učení technické Fakulta elektrotechnická

Co je uvnitř - senzory a přístrojová technika v NXT robotech. Pavel Ripka katedra měření ČVUT

A/D a D/A PŘEVODNÍK 0(4) až 24 ma DC, 16 bitů

HW počítače co se nalézá uvnitř počítačové skříně

Vestavný modul pro počítačové vidění využívající hradlové pole

Registrový model HDD

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

G R A F I C K É K A R T Y

MIDAM UC 301 modbus regulátor topeni, otočné tlačítko, RTC, 2xDO, 1x DI, externí odporové čidlo PT1000, RS485

Algoritmizace a programování

Modbus SecuriPro Protocol Bridge

Jak studovat systémovou sběrnici

Paralelní rozhraní. Přehled standardů paralelního rozhraní Centronics

Sběrnice používané pro sběr dat

EURO přeshraniční platba

Sběrnicová stanice BL compact pro DeviceNet Interface for Connection of 2 BL ident Read/Write Heads (HF/UHF) BLCDN-2M12S-2RFID-S

ŘÍDÍCÍ DESKA SYSTÉMU ZAT-DV

Zprovoznění kitu Xilinx Spartan-6 FPGA Industrial Video Processing Kit

Z čeho se sběrnice skládá?

Compression of a Dictionary

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ /14

Transkript:

Technická zpráva DMA jednotka pro BCE v systémech s AXI sběrnicí Zdeněk Pohl zdenek.pohl@utia.cas.cz Obsah 1. Úvod... 2 2. Obecný popis k aplikaci... 2 2.1 Software... 2 2.2 Registry axi_pb_dma (axi4lite)... 3 2.3 pb_frontend interface... 4 3. Použité/Potřebné vybavení a nástroje... 5 4. Jak spustit... 5 5. Známé problémy a jejich odstranění... 5 6. Obsah a popis přiloženého balíku... 5 Revize Revize Datum Autor Popis změn v dokumentu 0 19.11.2012 Z.P. Vytvoření dokumentu 1 5.12.2012 Z.P. Revize obsahu, popis testů 2.

1. Úvod Popisuje PCORE axi_pb_dma, sloužící pro datovou komunikaci nahrazující npi_dma v systémech s AXI sběrnicí. 2. Obecný popis k aplikaci PCORE axi_pb_dma využívá pb_frontend interface k zadávání požadavků na komunikaci mezi AXI sběrnicí a BRAM pamětí (max 64kB). Díky tomu je plně zpětně kompatibilní s npi_dma. Narozdíl od npi_dma však nabízí pouze jeden port a tudíž je potřeba jedna instance pro každý BCE. Je spoléháno na to, že paralelní přístup z více BCE jader je řešen na úrovni AXI/AMBA sběrnice. Jednotka pracuje jako master a využívá 32-bitový AXI interface. K ověření funkce a rychlosti komunikace byl vytvořen testovací design, jehož struktura je na obrázku 1. Master AXI GP axi_bram_cntrl (single BRAM BRAM (dual ported, 64 kb) port) Port A Port B Slave AXI lite Master AXI HP axi_pb_dma DMACTRL Obrázek 1 Jedná se o zapojení jednoho bloku BRAM o velikosti 64kB jedním portem na BRAM kontrolér pro přístup přes CPU a druhým portem na blok axi_pb_dma. Tomu je možné zadávat operace prostřednictvím registrů přístupných v paměťovém prostoru přez AXI lite interface nebo pomocí DMACTRL rozhraní přímo propojeného s PicoBlaze (v BCE). 2.1 Software SDK workspace obsahuje 3 aplikace: 1. Aplikaci pro měření rychlosti komunikace mezi DDR, OCM (on chip memory) a BRAM pomocí ARM CPU a vestavěné DMA jednotky (test_speed). Příklad výstupu: --- Entering main() --- Testing CPU transfer speeds 2/5

CPU cache ENABLED (speed in MB/s) DDR->DDR, OCM, BRAM, OCM->DDR, OCM, BRAM, BRAM->DDR, OCM, BRAM DDR OCM BRAM ------------------------------------------ DDR 116.4 116.6 22.2 OCM 118.4 118.4 22.3 BRAM 21.1 21.1 12.1 DMA PS330 (speed in MB/s) DDR->DDR, OCM, BRAM, OCM->DDR, OCM, BRAM, BRAM->DDR, OCM, BRAM DDR OCM BRAM ------------------------------------------ DDR 121.2 130.4 108.5 OCM 129.0 116.2 115.7 BRAM 109.8 113.3 12.1 AXI_PB_DMA speed (read): ------------------------ DDR offset 0: 269.0 MB/sec AXI_PB_DMA speed (write): ------------------------- DDR offset 0: 308.1 MB/sec Rychlost axi_pb_dma je pro 100MHz design a 4kB blok dat a je měřená na BRAM interface. Maximalní teoretická rychlost je tedy 400MB/s. 2. Aplikaci pro testování přenosu dat pomocí axi_pb_dma (test_axi_pb_dma, 8000 transakcí) Příklad výstupu na terminál: OK,transaction 37100, src_ddr = 0x00115184, bram = 0x00003238, len = 0xb5c0, dst_ddr = 0x00164018, chan 4, so far 0 errors Je možné vidět pořadové číslo transakce, zdrojovou DDR adresu, cílovou adresu v BRAM, cílovou adresu v DDR a použitý kanál (viz dokumentace k pb_frontend) 3. Aplikaci pro test 2 paralelních operací (test_paralel_channels). Příklad výstupu: 1 tests started Waiting for 84 iterations done, max_state 3 Waiting for 76 iterations done OK,transaction 0, src_ddr = 0x00114028, bram = 0x00000000, len = 0x8000, dst_ddr = 0x00124030, chan 0, so far 0 errors Tests done, statistics: R/W errors : 0 of 2 operations Exiting... Hodnota max_state indikuje paralelně běžící kanály 0 a 1 (bit 0 a 1 pb_frontend state register) 2.2 Registry axi_pb_dma (axi4lite) Registry jsou identické s automaticky generovaným axi4 master PCORE, jsou však navíc rozšířeny o programování pb_frontend rozhraní (tučně): Control Register (C_BASEADDR + OFFSET + 0x0): 3/5

bit 0 - Rd (Read Request Control) bit 1 - Wr (Write Request Control) bit 2 - BL (Bus Lock Control) bit 3 - Brst (Burst Assertion Control) bit 4-7 - Spare (Spare Control Bits) bit 4 - en signal to pb_frontend bit 5 - we signal to pb_frontend bit 6 - for setting up data transactions use: '0' - pb_frontend '1' original axi4lite registers bit 7 - determines how the pb_frontend will be programmed: '0' DMACTRL '1' extended axi4lite registers Status Register (C_BASEADDR + OFFSET + 0x1): bit 0 - Done (Transfer Done Status) bit 1 - Busy (User Logic Master is Busy) bit 2 - Error (User Logic Master request got error response) bit 3 - Tmout (User Logic Master request is timeout) bit 2-7 - Spare (Spare Status Bits) Addrress Register (C_BASEADDR + OFFSET + 0x4): bit 0-31 - Target Address (This 32-bit value is used to populate the IP2Bus_Mst_Addr(0:31) address bus during a Read or Write user logic master operation) Byte Enable Register (C_BASEADDR + OFFSET + 0x8): bit 0-15 - Master BE (This 16-bit value is used to populate the IP2Bus_Mst_BE byte enable bus during a Read or Write user logic master operation for single data beat transfer) pb_frontend addr (C_BASEADDR + OFFSET + 0xA): bit 0-7 - Address value to pb_frontend pb_frontend dout (C_BASEADDR + OFFSET + 0xB): bit 0-7 - Dout value to pb_frontend (input data) Length Register (C_BASEADDR + OFFSET + 0xC): bit 0-15 - Transfer Length (This 16-bit value is used to populate the IP2Bus_Mst_Length(0:15) transfer length bus which specifies the number of bytes (1 to 65532) to transfer during user logic master Read or Write fixed length burst operations) pb_frontend din (C_BASEADDR + OFFSET + 0xE): bit 0-7 - Din from pb_frontend (output data, read only) Go Register (C_BASEADDR + OFFSET + 0xF): bit 0-7 - Go Port (Write to this byte address initiates the user logic master transfer, data key value of 0x0A must be used) Note: OFFSET may be different depending on your address space configuration, by default it's either 0x0 or 0x100. Refer to IPIF address range array for actual value. 2.3 pb_frontend interface Interface slouží k ovládání dma jednotky pomocí 8-bitových portů, jako například při připojení k PicoBlaze mikrokontroléru. V axi_pb_dma má pb_frontend 8 kanálů. Každý kanál má 256x8bit paměť uspořádanou následujícím způsobem: 4/5

Adresa 0x00 0x3F - 8x r/w channel configuration, 8 byte per channel 0x4x 0x7x - reserved for firmware operations 0x80 0x87 - Commands wr only, initiates DMA transfer 0xC0 - Status rd only, busy bits for each dma channel 3. Použité/Potřebné vybavení a nástroje Xilinx Design Suite 14.3 (2012), Xilinx development board ZC702 (Zynq) 4. Jak spustit Otevřete přiložený PlanAhead projekt. Použijte impact pro naprogramování FPGA Spusťte SDK (File->Export->Export hardware for SDK ) Vyberte jeden ze tří projektů a spusťte ho obvyklým způsobem 5. Známé problémy a jejich odstranění Obsah CD je třeba zkopírovat do cesty bez mezer. V opačném případě nemusí PlanAhead pracovat správně. 6. Obsah a popis přiloženého balíku Struktura balíčku cdrom - 14_3_test_axi_pb_dma PlanAhead projekt s testovacími designy - doc tato dokumentace - include programováni axi_pb_dma přez axi-lite 5/5