Periféria illesztés. BME-MIT FPGA labor



Hasonló dokumentumok
Újrakonfigurálható technológiák nagy teljesítményű alkalmazásai

Számítógép Architektúrák

I 2 C, SPI, I 2 S, USB, PWM, UART, IrDA

Programmable Chip. System on a Chip. Lazányi János. Tartalom. A hagyományos technológia SoC / PSoC SoPC Fejlesztés menete Mi van az FPGA-ban?

Újrakonfigurálható technológiák nagy teljesítményű alkalmazásai. Bevezető Szerver architektúrák Kommunikációs interfészek

Digitális rendszerek. Memória lapkák

Számítógép Architektúrák

MEMÓRIA TECHNOLÓGIÁK. Számítógép-architektúrák 4. gyakorlat. Dr. Lencse Gábor. tudományos főmunkatárs BME Híradástechnikai Tanszék

A Memory Interface Generator (MIG) beállítása a Logsys Kintex-7 FPGA kártyához

Mikrorendszerek tervezése

Digitális rendszerek. Digitális logika szintje

FPGA áramkörök alkalmazásainak vizsgálata

LOGSYS LOGSYS ECP2 FPGA KÁRTYA FELHASZNÁLÓI ÚTMUTATÓ szeptember 18. Verzió

Heterogén számítási rendszerek. Bevezető Szerver architektúrák Kommunikációs interfészek

Számítógép Architektúrák

Programozási segédlet DS89C450 Fejlesztőpanelhez

ARM Cortex magú mikrovezérlők

Nyíregyházi Egyetem Matematika és Informatika Intézete. Input/Output

Perifériák hozzáadása a rendszerhez

I 2 C, RS-232 és USB. Informatikai eszközök fizikai alapjai. Oláh Tamás István

Gigabit Ethernet, 10 Gigabit Ethernet. Jákó András BME EISzK

Első sor az érdekes, IBM PC ra alapul: 16 bites feldolgozás, 8 bites I/O (olcsóbb megoldás). 16 kbyte RAM. Nem volt háttértár, 5 db ISA foglalat

LOGSYS LOGSYS KINTEX-7 FPGA KÁRTYA FELHASZNÁLÓI ÚTMUTATÓ április 3. Verzió

Dr. Oniga István. DIGITÁLIS TECHNIKA 10 Memóriák

Mikrorendszerek tervezése

Rendszertervezés FPGA eszközökkel

Dr. Schuster György szeptember 27.

Architektúra, memóriák

(A DRAM-okkal kapcsolatban a bank megnyitása, bank aktiválása, banksor megnyitása vagy a lap megnyitása kifejezések szinonímák, ugyanazt jelentik.

LOGSYS LOGSYS SZTEREÓ CODEC MODUL FELHASZNÁLÓI ÚTMUTATÓ szeptember 16. Verzió

2008. október 9. Verzió

LOGSYS LOGSYS LCD KIJELZŐ MODUL FELHASZNÁLÓI ÚTMUTATÓ november 8. Verzió

Memóriák - tárak. Memória. Kapacitás Ár. Sebesség. Háttértár. (felejtő) (nem felejtő)

Autóipari beágyazott rendszerek CAN hardver

Dr. Oniga István. DIGITÁLIS TECHNIKA 10 Memóriák

LOGSYS LOGSYS SPARTAN-3E FPGA KÁRTYA FELHASZNÁLÓI ÚTMUTATÓ szeptember 19. Verzió

Programmable Chip. System on a Chip. Lazányi János. Tartalom. A hagyományos technológia SoC / PSoC SoPC Fejlesztés menete Mi van az FPGA-ban?

ARM Cortex magú mikrovezérlők

Feladatlap: Számítógép összetevők keresése

Számítógép Architektúrák (MIKNB113A)

SZORGALMI FELADAT. 17. Oktober

Arduino bevezető Szenzorhálózatok és alkalmazásaik

XII. PÁRHUZAMOS ÉS A SOROS ADATÁTVITEL

Az interrupt Benesóczky Zoltán 2004

Apple számítógépek összehasonlító táblázata

Az I2C egy soros, 8 bit-es, kétirányú kommunikációs protokoll, amelynek sebessége normál üzemmódban 100kbit/s, gyors üzemmódban 400kbit/s.

Járműinformatika Multimédiás buszrendszerek (MOST, D2B és Bluetooth) 4. Óra

7.hét: A sorrendi hálózatok elemei II.

SZÁMÍTÓGÉPARCHITEKTÚRÁK

ELŐADÁS SZÁMÍTÓGÉP MŰKÖDÉSE FIZIKA ÉS INFORMATIKA

Dr. Oniga István DIGITÁLIS TECHNIKA 9

Előadó: Nagy István (A65)

Számítógépek felépítése, alapfogalmak

Programozható vezérlő rendszerek KOMMUNIKÁCIÓS HÁLÓZATOK 2.

Tartalomjegyzék. Előszó... xi. 1. Bevezetés Mechanikai, elektromos és logikai jellemzők... 13

Áramkörön belüli rendszerek

Max. 2 DIMM bővítőhely Nem ECC kétcsatornás 1333 MHz DDR3 SDRAM, 1 8 GB

Új kompakt X20 vezérlő integrált I/O pontokkal

A LOGSYS GUI. Fehér Béla Raikovich Tamás, Laczkó Péter BME MIT FPGA laboratórium

Alaplap. Slot. Bővítőkártyák. Csatolható tárolók. Portok. < Hardver

Számítógép Architektúrák (MIKNB113A)

SR mini PLC Modbus illesztő modul. Modul beállítása Bemeneti pontok kiosztása főmodul esetén Bemeneti pontok címkiosztása kiegészítő modul esetében

Kommunikációs rendszerek programozása. Voice over IP (VoIP)

A MicroBlaze processzor

The modular mitmót system. 433, 868MHz-es ISM sávú rádiós kártya

Digitális technika VIMIAA01

Digitális technika VIMIAA01

Újrakonfigurálható technológiák nagy teljesítményű alkalmazásai

Mikrovezérlők Alkalmazástechnikája

A Számítógépek felépítése, mőködési módjai

Mechatronika és mikroszámítógépek. 2016/2017 I. félév. Analóg-digitális átalakítás ADC, DAC

Jelfeldolgozás a közlekedésben. 2017/2018 II. félév. Analóg-digitális átalakítás ADC, DAC

Szoftver rádió (SDR) rádióamatőröknek. Dr. Selmeczi János HA5FT

PCI Express szabvány

LOGSYS LOGSYS HŐMÉRŐ ÉS EEPROM MODUL FELHASZNÁLÓI ÚTMUTATÓ szeptember 16. Verzió 1.0.

Dr. Oniga István DIGITÁLIS TECHNIKA 9

LOGSYS DIGITÁLIS VIDEO INTERFÉSZ MEGVALÓSÍTÁSA A LOGSYS KINTEX-7 FPGA KÁRTYÁVAL június 16. Verzió 1.0.

Számítógép architektúrák. Tartalom. A memória. A memória

Máté: Számítógép architektúrák

Alaplap. Az alaplapról. Néhány processzorfoglalat. Slot. < Hardver

5. tétel. A számítógép sematikus felépítése. (Ábra, buszok, CPU, Memória, IT, DMA, Periféria vezérlő)

ARM programozás. Iványi László Szabó Béla

Rendszerarchitektúrák labor Xilinx EDK

Nagy Gergely április 4.

Mikrovezérlők Alkalmazástechnikája

RUBICON Serial IO kártya

Parciális rekonfiguráció Heterogén számítási rendszerek VIMIMA15

VGN-TT21XN/B. Extrém stílus és hordozhatóság

A tervfeladat sorszáma: 1 A tervfeladat címe: ALU egység 8 regiszterrel és 8 utasítással

A mikroszámítógép felépítése.

TI TMDSEVM6472 rövid bemutatása

Budapesti Műszaki és Gazdaságtudományi Egyetem. A Verilog HDL II. Nagy Gergely. Elektronikus Eszközök Tanszéke (BME) szeptember 26.

ATMEL ATMEGA MIKROVEZÉRLŐ-CSALÁD

A Texas Instruments MSP430 mikrovezérlőcsalád

Máté: Számítógép architektúrák

Máté: Számítógép architektúrák

Digitális Rendszerek és Számítógép Architektúrák

Kommunikációs rendszerek programozása. Switch-ek

10 Gigabit Ethernet. Jákó András

Mikrorendszerek tervezése

Átírás:

Periféria illesztés

SPI - Serial Peripheral Interface Full-duplex soros átvitel interfész Master slave elrendezés Egyirányú, háromállapotú adatvonalak Slave kiválasztás: egyedi kiválasztó (chip-select) jelekkel Jelek CLK SSn MISO, MOSI

SPI EEPROM illesztés 4 slave egység illesztése Közös órajel Egyedi SSn jelek Közös adatvonalak

SPI átvitel EEPROM írás

SPI átvitel EEPROM olvasás

I2C - Inter-Integrated Circuit I2C (Philips/NXP) == two-wire-interface SMBus: egyszerűsített I2C Half-duplex Multi-master, multi-slave Két vezeték Órajel, adat Eszközök kiválasztása: eszközazonosító alapján ( slave address )

I2C - Inter-Integrated Circuit Órajel (SCL), adat (SDA) Open collector Felhúzó ellenállás kell Slave címzés eszköz azonosító 7 bites standard 10 bites kiterjesztett Átviteli sebesség 400 khz, 1 Mbit, 3 Mbit

I2C START/STOP feltétel Adatátvitel

I2C EEPROM Byte írás Burst írás

I2C EEPROM Olvasás jelenlegi címről Olvasás tetszőleges címről

ADC/DAC interfészek Tipikusan 3 órajelet igényelnek MCLK: belső működés órajele ( Master Clock ) SCLK: soros adat ki/beléptetés órajele LRCK/Frame: mintavételi frekvencia A fenti órajelek aránya IC függő Tipikus interfészek SPI SAI (Serial Audio Interface) I2S (Integrated Interchip Sound) Frame-Sync Serial Interface

AD példa: CS5361 Master mód Minden órajelet a chip állít elő az MCLK-ból Slave mód: minden órajel bemenet

AD példa: CS5361 SAI I2S Létezik left-justified és right-justified

AD példa: TI ADS1287 SPI: CLK, SCLK, DRDY (kimenet) Frame-sync (FSYNC bemenet)

Ethernet PHY Fizikai vonal illesztés Különálló PHY chip PHY MAC egységgel együtt Szabványos interfész Konfiguráció Soros management interfész: MDIO (órajel + kétirányú adat) Párhuzamos adat interfész MII: Media Independent Interface

Ethernet PHY adat interfész Szétválasztott adatirány, full duplex MII: 10 és 100 Mbit esetén 4 adatbit, 1 control, 1 enable 2,5 illetve 25 MHz órajel, irányonként RMII: Reduced MII Közös órajel, 2 bites adatvonal GMII: Gigabit MII 8 adatbit, 125 MHz órajel RGMII: Reduced Gigabit MII 4 adatbit, 125 MHz DDR átvitel

RGMII (1)

RGMII (2)

RGMII órajel kezelés A PHY chipek tipikusan lehetőséget adnak az órajel kis mértékű eltolására mind adó, mind vevő irányban Alternatíva Fix késleltetés az FPGA-ban (IO delay) Órajel fázistolás DCM-mel/PLL-lel A 10 Mbit sebességhez tartozó 2,5 MHz tipikusan kisebb, mint az alsó határfrekvencia! Adat mintavételezés/kiadás fixen DDR FF-kal, SDR üzemmódban megfelelően kezelve

Videó jelek VGA időzítés

Időzítési példa VGA időzítések: VESA szabvány http://www.epanorama.net/faq/vga2rgb/calc.html

Videó interfészek Analóg: Komponens: RGB, YCbCr H HS/VS vagy kompozit szinkron Composite (pl. NTSC, PAL) S-Video: Y + C Digitális DVI, HDMI Soros, differenciális jelátvitel TMDS 3 csatorna + órajel (adatsebesség/10) Kevés FPGA támogatja direktben

Példa: TI TFP410 DVI adó Portok: Pixel órajel (differenciális) Szinkron jelek (HSYNC, VSYNC) Adat engedélyezés (aktív képtartomány) Párhuzamos adat (12 vagy 24 bites mód) A DVI vevők, Videó DAC-k, ADC-k hasonlóan működnek

12 bites DDR mód TFP410 időzítés 24 bites SDR mód

DVI (1) TMDS csatornák:

DVI (2) Adatátvitel: 8b 10b kódolás 8 bites RGB soros adatsebesség :10x pixel órajel: 250 Mbit/s 1650 Mbit/s Továbbított órajel: pixel órajel HS/VS: 4 fenntartott 10 bites érték 10 b1101010100: HS=0, VS=0 10 b0010101011: HS=1, VS=0 10 b0101010100: HS=0, VS=1 10 b1010101011: HS=1, VS=1

DVI vevő (1) Vett órajel felszorzása 10x (PLL) Soros párhuzamos átalakítás (ISERDES) SP6 SERDES max. 8x tud SERDES 5x, CLB-ben 2x Mintavételezés: ISERDES + IODELAY (órajel adat fázis korrekció) Szóhatár keresés: ISERDES BITSLIP ismert mintára Control Word Deskew: 3 TMDS csatorna közötti csúszás kompenzációja Folyamatosan írt/olvasott FIFO, olvasási oldalon Control Word-re szinkronizálva Control word dekódolás (HS, VS), 10b 8b átalakítás

DVI vevő (2)

HDMI A blank periódus alatt InfoFrame-k és Audió adatok is továbbításra kerülhetnek HS, VS: kék csat. C0, C1: zöld csat. C2, C3: piros

PCI és PCIe buszok

PCI PCI, PCI-X: igazi busz struktúra Multiplexált cím/adatvonal Half-duplex Multi-master, DMA 4 interrupt vonal Szabvány Adatszélesség Frekvencia Sávszélesség Mbyte/s PCI 32/64 bit 33 MHz 133/266 PCI 2.1 32/64 bit 66 MHz 266/528 PCI-X 1.0 64 bit 66/133 MHz 528/1056 PCI-X 2.0 64 bit 266/533 MHz 2112/4224

PCI Fontosabb jelek AD: cím/adatvonal C/BE#: parancs vagy byte engedélyezés FRAME#: aktív átvitel IRDY#: initiator (master) ready TRDY#: target ready Perifériák Target: nem kezdeményezhet buszciklust Bus master: lehet master a buszon A központi PCI vezérlő tipikusan NEM tartalmaz DMA vezérlőt!

PCI Parancsok (BUS CMD) Interrupt Ack Special Cycle I/O Read és Write Memory Read és Write Configuration Read és Write Dual Address Cycle (pl.: 64bit címzés)

PCI olvasási ciklus

PCI írási ciklus

PCI Express Soros, pont pont összeköttetés; helyreállított órajel Csomag alapú átvitel Szoftveresen kompatibilis a PCI-jal 1, 2, 4, 8 vagy 16 lane PCIe 1.1: 2,5 Gbit/s (8b/10b) PCIe 2.0: 5 Gbit/s (8b/10b) PCIe 3.0: 8 Gbit/s (128b/130b) Kommunikáció Requester Completer PCIe 1.0 (Gbyte/s) PCIe 2.0 (Gbyte/s) x1 0,25 0,5 x4 1 2 x8 2 4 x16 4 8

PCIe architektúra Root Complex: központi vezérlő Kapcsolat a CPU-val és a memóriával Endpoint: periféria Completer Completer + Requester Nincs központi DMA vezérlő

PCIe Fizikai réteg: differenciális érpár Framing + CRC (2x64 bit) Átviteli réteg Fejléc: 3-4 DW Opcionális CRC: 1 DW Data payload: 128/256/512/1024/2048/4096 byte Root Complex & Endpoint támogatás kell!

PCIe Egy csomagban legfeljebb Data Payload-nyi adat Nagyobb méretű request-ek több csomagban

PCIe A PCIe késleltetése viszonylag nagy De újabb Request-ek elküldhetők a Completion megérkezése előtt

PCIe Egy Request-re adott Completion Egy csomagban Több csomagban a csomagok sorrendje címsorrendben Több, címfolytonos Request A Completion csomagok sorrendje NEM feltétlenül felel meg a címsorrendnek

Valós átviteli sebesség PCIe 1.1 és 2.0 buszon elérhető sebesség (Intel X58 chip, 256 byte Payload)

PCIe TLP Fejléc 1. DW (minden csomagban) Fmt 00 01 10 11 Type 0_0000 Memory Read Request 0_0000 Memory Write Request 00 0_1010 Completion, nincs adat 10 0_1010 Completion, adattal Length: 1 1024 DW (< Data Payload)

PCIe 32 bites Request TLP fejléc Requester ID: Bus number + Device Number + Function number Tag: Minden kintlévő, Completion-t igénylő üzenet egyedi azonosítója (kintlévő üzenetek száma < 32) BE: byte engedélyezés az első és utolsó DW-re Address: cím (DW cím)

PCIe 64 bites Request 3 helyett 4 DW a fejlécben

PCIe - Completion Completion TLP fejléc Tag: A Request-tel megygező Tag Byte Count: A Request-ből még hátralévő byte-ok száma

PCIe FPGA-val Külső PHY Soft-core MAC (minden FPGA) PCIe x1 PCIe PHY PCIe Core (soft) TLP Interface USER LOGIC FPGA Belső Gbit transmitter Soft-core MAC (pl. V2P, V4) PCIe x1/x4/x8 Gbit Trmit PCIe Core (soft) TLP Interface USER LOGIC FPGA Belső Gbit transmitter Hard-core MAC (pl. SP6, V5, V6) PCIe x1/x4/x8 Gbit Trmit PCIe Core (hard) TLP Interface USER LOGIC FPGA

FPGA megvalósítások FPGA x1 x4 x8 PCIe 2.0 hard IP Altera Arria II GX X X X X Altera Cyclone IV GX X X X Altera Startix IV GX X X X X X Altera Arria GX X X Altera Stratix II GX X X X Xilinx Spartan-6 X X Xilinx Virtex-II Pro X X X Xilinx Virtex-4 FX X X X Xilinx Virtex-5 X X X X Xilinx Virtex-5 FXT X X X X X Xilinx Virtex-6 X X X X X Lattice ECP2M X X Lattice ECP3 X X Lattice SCP X X X

PCIe FPGA interfész Gyakorlatilag Memory Read, Memory Write és Completion csomagok fogadása és generálása szükséges TLP interfész: 64 bites FIFO IF 1/4/8 lane: 62,5/125/250 MHz

PCIe Virtex5 - Transmit

PCIe Virtex5 - Receive

Memória típusok SRAM (4-6 tranzisztor/cella) Aszinkron (4 Mbit, x4, x8, x16) NtRAM (64 Mbit, x18, x36, 250 MHz) DDR (32 Mbit, x18, x36, 400 MHz) DDR2 (72 Mbit, x18, x36, 450 MHz) QDR (72 Mbit, x18, x36, 450 MHz) DRAM (tipikusan 1 tranzisztor + kondenzátor / bit) SDRAM (256 Mbit, x8, x16, 167 MHz, 3.3V) DDR (1 Gbit, x4, x8, x16, 200 MHz, 2.5V) DDR2 (4 Gbit, x4, x8, x16, 400 MHz, 1.8V) DDR3 (8 Gbit, x4, x8, x16, 1066 MHz, 1.5V) DDR4 (4 Gbit, x4, x8, x16, 1600 MHz, 1.2V) GDDR3/4/5 (1 Gbit, x32, 7 GHz, 1.5V)

Adatátviteli sebesség

Aszinkron SRAM írás Írás twc=10, taw=7, twp=10, tdw=5, tdh=0, TWHZ=5(MAX)

Aszinkron SRAM olvasás Olvasás trc=10, taa =10 (max), toe=5 (MAX), thz=5 (MAX)

Nt SRAM írás

Nt SRAM olvasás

DDR/DDR2/QDR SRAM DDR: adat átvitel fel- és lefutó órajel élre QDR: szétválasztott be-/kimeneti adatbusz (konkurrens írás/olvasás) Parancs, írás: bemenő órajellel (K) szinkron Olvasás: forrás szinkron (CQ órajel) Burst működési mód

QDR SRAM írás

QDR SRAM olvasás

QDR SRAM írás+olvasás

QDR SRAM interfész

DRAM Folyamatos adatfrissítést igénylő memória cellák Burst orientált működés BANK, ROW, COLUMN címek Parancsok (CS, RAS, CAS, WE bemeneti lábak)

Működtetés Inicializálási szekvencia Mode regiszter írás ACTIVE: bank és sor megnyitás PRECHARGE: sor lezárás Auto precharge READ/WRITE Bank és oszlop kiválasztás Frissítés REFRESH parancs vagy Auto refresh

Inicializálás

DRAM mode regiszter

Activate (Bank & Row) Írás és olvasás előtt a megfelelő BANK-t és ROW-t meg kell nyitni (ACTIVE) READ/WRITE: trcd-vel az ACT után (20 ns) Újabb ACTIVE: Ugyanabban a bankban, másik ROW: PRECHARGE után, min. trc idő az ACT parancsok között (66 ns) Másik BANK: megnyitható az aktuális hozzáférés alatt, min. trrd-vel az előző ACT után (15 tck)

DRAM olvasás (1) Egymást követő Burst-ök CL: CAS latency: READ érvényes adat

DRAM olvasás (2) Véletlen hozzáférés BANK-on belül

DRAM olvasás (3) Különböző BANK-k hozzáférése (csalóka ábra!)

DRAM írás (1) Véletlenszerű írás BANK-on belül

DRAM írás Különböző BANK-k hozzáférése (csalóka ábra!)

DDR/DDR2/DDR3 SDRAM Parancs: CK órajellel szinkron Bemenő adat: DQS jellel szinkron, DQS középre időzített Kimeneti adat: DQS jel élváltással szinkron (forrás szinkron) DLL: DQS szinkronizálás CK-val Burst (2-4-8) orientált működés GDDR: szétválasztott bemeneti és kimeneti DQS jelek

DDR3 ACTIVE t RRD : ACTIVE ACTIVE t RCD : ACTIVE READ/WRITE

DDR3 write 2 egymás utáni write (BL=8) WL :write latency t WPRE : write data késleltetés t CCD : CAS CAS parancs késleletés

Pl.: CL=6 és CL=8 DDR3 read latency

DDR3 korai read ACTIVE parancs utáni READ parancs idő előtti kiadása (<t RCD ) AL Teljes késleltetés: AL + CL

DDR3 write read Írás utáni olvasás (twtr)

DDR3 időzítési paraméterek (1)

DDR3 időzítési paraméterek (2)

Xilinx MIG Memory Interface Generator Használható ISE-ben (CoreGen) és Platform Studio-ban Felhasználói interfész Natív interfész AXI (csak ha Preferred language Verilog) Néhány esetben lehet több portos, egyébként AXI infrastructure-rel megoldható

MIG memória paraméterek

MIG memória paraméterek

Platform Studio AXI Memory Controller DDR2 és DDR3 memória interfész AXI busz Gyakorlatilag a MIG Platform Studio-ban Multi-Port Memory Controller SDRAM/DDR2/DDR3 Max. 8 port: PLB, XCL, SDMA, NPI, VFBC Az alacsony szintű mag a MIG-en alapul

DIMM/SODIMM Szabványosított memória modul + foglalat 64/72 bit adatbusz 3 rank / 3 bank / 15 cím vonal SPD EEPROM (Serial Presence Detect) Memória típus & időzítési információk