PCI Ontwikkelplatformen



Vergelijkbare documenten
Hardware-software Co-design

Jan Genoe KHLim. PCI Signalen en timing

Herconfigureerbare Hardware in Ieders Bereik

Hoofdstuk 18. Embedded systemen

EDK Walkthrough: Hardwareontwerp met GPIO en UART Deel 1

Jan Genoe KHLim. VHDL Inleiding. In dit hoofdstuk situeren we het steeds toenemende belang van VHDL in het elektronisch ontwerp.

Digitale Systemen (ET1 410)

informatica. hardware. overzicht. moederbord CPU RAM GPU architectuur (vwo)

Departement industriële wetenschappen en technologie

HET BESTURINGSSYSTEEM

Voorblad tentamen

IEEE 1394 firewire. Jan Genoe KHLim. I-link DV (digital video)

Industrial Internet of Things

Modbuskoppeling Verdyn - Priva (engineering in Priva)

De seriële poort Jan Genoe KHLIM

CV Installaties & OpenTherm Protocol. Cees Tuinman

Computer architecturen: Muis en toetsenbord

AVR-DOPER MINI ASSEMBLAGE HANDLEIDING + LAYOUT. Geschreven door: Tom Vocke

Toelichting op modbus-koppeling van Robur toestellen en frames

Opgave Tussentijdse Oefeningen Jaarproject I Reeks 4: Lcd Interface & Files

Scan-pad technieken. Zet elk register om in een scan-pad register (twee opeenvolgende D-latches: master-slave):

Xelion ESPA koppeling Handleiding Beheer V1.6

Naam student: Studentnr: Klas: Cijfer:

API...1 Identificatie...1 Opties...2 Acties...3 Webserver...6 Heartbeat...6 Buffer groottes...8

Systeemeisen Exact Compact product update 406

SI-Profinet. Unidrive M200-M400 en Siemens S PLC (TIA portal)

MINIMALE SYSTEEMEISEN. Vakware 6

Microcontrollers Week 1 Introductie microcontroller Jesse op den Brouw INLMIC/

Samenvatting Field programmabale gate arrays (FPGA s) Dynamische herconfiguratie.

RAM geheugens. Jan Genoe KHLim. Situering RAM-geheugens. Geheugens. Halfgeleider Geheugens. Willekeurig toegankelijk geheugen

Tekla Structures Hardware aanbevelingen

Digitale technieken Microprocessoren

Klas : 5 Industriële ICT Herhalingsvragen reeks 1 PC-techniek

De Arduino-microcontroller in de motorvoertuigentechniek (4)

SI-Profinet. Unidrive M700 en Siemens S7-300 PLC (Step 7)

How To Do mbspider met VIPA Modbus-TCP coupler

IO-Link: de industriële communicatiestandaard. De basis van IO-Link


Factsheet KICKSTARTERS Mirabeau

Internet of Things (IoT)

De PROFIBUS, PROFINET & IO-Link dag. Share our Vision for Automation

1-poorts RS232 seriële adapter kaart met UART

De Kruispuntbank van de Sociale Zekerheid

Wat is Arduino? Arduino = microprocessor (Atmel)

Plug and Play in de machinebouw. Zelf configurerende machines

INHOUD SPI : SERIAL PERIPHERAL INTERFACE ALGEMEEN. Videolessen Deel 3 DATACOMMUNICATIE SPI

SI-Profibus. Unidrive M700-M702 en Siemens S7-300 PLC (STEP 7)

HANDLEIDING. Dit document beschrijft de installatie, configuratie en gebruik van de Netduino Plus 2 monitoring oplossing

Technische implementatie De infrastructuur rondom Transit kent de volgende rollen:

2-poorts PCI Express SuperSpeed USB 3.0 kaart met UASP-ondersteuning - 1 intern, 1 extern

Hardwarevereisten RAID. Geheugen

WDS WDS Bridge mode Repeater mode

USB 3.0 naar VGA externe videokaartadapter voor meerdere schermen voor Mac en pc 1920x1200 / 1080p

Van Small Business Server naar Cloud Small Business Services. Uw vertrouwde Small Business Server in de cloud

2 Algemene opbouw van een computersysteem

ENGENIUS ENS202EXT EZ HOTSPOT

BuildingOn WebOTP.

Thunderbolt naar esata plus USB 3.0 adapter - Thunderbolt-adapter

EE1410: Digitale Systemen BSc. EE, 1e jaar, , 6e hoorcollege

Software Test Plan. PEN: Paper Exchange Network Software Engineering groep 1 (se1-1415) Academiejaar

Om de Wake on LAN functie te laten werken zult op zowel de PC en op de DrayTek modem/router een aantal zaken moeten instellen.

Voltijdse dagopleiding PC technicus

Foutdetectie. Toenemend belang van foutdetectie

DrayTek Vigor AP700 MAC Filtering

Handleiding TAPI Driver

De AT90CAN microprocessor van ATMEL in de motorvoertuigentechniek (4)

Visie van De Ictivity Groep op het Virtuele Desktop Infrastructuur (VDI) concept (onderdeel van De Ictivity Groep werkplekconcepten)

S88XPressNetLI v1.0. Installatie- en gebruikershandleiding en naslagwerk KDesign Electronics, PCB ontwerp door RoSoft

Installatiegids Registratie Hardware specificaties

ViSoft Premium. Nieuw in Update NIEUWE FUNCTIES. worden dan automatisch alle profielen vervangen en in 3D getoond.

1 Deelproject Spraakherkenning: SHoUT Audio Indexering Service

Verslag over computers

Slanke USB 3.0 naar DisplayPort videokaart adapter voor meerdere schermen x1600 / 1080p

Private Cloud: Virtuele servers op basis van Windows Azure Pack

Benchmarken van Programmable Logic Devices met Enhanced Parallel Port Implementaties

Handleiding. MED PLUS software

USB naar VGA Adapter - Externe USB Video Grafische Kaart voor PC en MAC x1200

Combinatorische schakelingen

VHDL overzicht. Digitale Systemen (ET1 410) VHDL? VHDL? Sequentieel vs. Concurrent 2/15/2011

Software Test Document

Het SEESCOA project; jouw user interface, altijd en overal

Van Poort tot Pipeline. Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam

Bedieningshandleiding Christiaens Group Stapelaar en Ontstapelaar

Handleiding HCS VB5118

Hoe zet u virtualisatie slim in bij forensische onderzoeksomgevingen?

HANDLEIDING WINDOWS INTUNE

Xilinx JTAG Programmer

Opgave Tussentijdse Oefeningen Jaarproject I Reeks 3: Tijd, licht en warmte

Hoe industrieel Ethernet de taak van de PLC beïnvloed heeft. Henk Capoen, CATAEL

computerarchitectuur antwoorden

Slanke USB 3.0 naar VGA externe videokaart multi monitor adapter x1200 / 1080p

Slanke USB 3.0 naar HDMI externe videokaartadapter voor meerdere schermen 1920x1200 / 1080p

CTCSS Encoder Super Flexibel Ontwerpen met een Arduino Nano

USB 3.0 naar HDMI en DVI 2x Monitor Externe Videokaart Adapter

EE1410: Digitale Systemen BSc. EE, 1e jaar, , 10e hoorcollege

MULTIMEDIABOX.nl Custom made solutions hardware & software. Advanced Menu

IPoE. Er zijn twee mogelijke oplossingen om IPoE op een DrayTek product te configureren, we zullen beide mogelijkheden in deze handleiding bespreken.

De reden dat providers (KPN) voor Routed IPTV kiezen is vanwege het ondersteunen van bepaalde diensten zoals Netflix op de SetupBox.

BEELDVERWERKING VAN INFRAROOD BEELDOPNEMERS MET BEHULP VAN EEN DSP

Transcriptie:

PCI Ontwikkelplatformen Jan Genoe KHLim In dit deel bespreken we de verschillende ontwikkelplatformen die ter beschikking staan om een PCI kaart te ontwikkelen. 1

Ontwikkelplatformen van PCI kaarten Gebruik makende van Standard PCI Chipsets ASIC cores Fixed FPGA cores Modulaire FPGA cores met een open backend interface. 2

Gebruik makende van Standaard PCI Chipsets Origineel was dit de enige mogelijkheid Verschillende IC van verschillende fabrikanten op de markt AMCC, PLX, Tundra, V3, en andere Vendor ID ligt vaak al vast, Device ID kan aangevraagd worden bij deze fabrikant. We kunnen gebruik maken van een PCI IC die ontwikkeld is als een algemene interface naar de PCI bus. We zullen hierbij natuurlijk moeten werken volgens de normen en het protocol dat deze IC gebruikt voor zijn backend bus. 3

Ontwikkeling met PCI chipset devices: Processor Wanneer je schrijft naar een bepaald basisadres, wordt de data in een FIFO opgeslagen. De processor (of de bus op de kaart) kan deze aan zijn tempo eruit halen. Er is een FIFO voorzien in de 2 richtingen Wanneer je schrijft naar een ander basis adres wordt de data via DMA in een bepaald deel van het kaartgeheugen opgenomen. In de meeste gevallen zal deze backend bus geïmplementeerd zijn als een processor bus. Dit kan bijvoorbeeld een 8 bit of 16 bit brede data en adres bus zijn van een Motorola processor (68HC11), maar ook eender welke andere processor. Deze processor verwerkt dan de data van een naar de kaart aan zijn eigen snelheid, volgens zijn eigen code. Deze processor heeft natuurlijk ook geheugen beschikbaar. Vaak zal op een dergelijke IC ook nog een DMA unit voorzien zijn zodat de PCI interface rechtstreeks in het geheugen kan schrijven. 4

Hoe bepalen we de inhoud van de configuratie ruimte? De inhoud van de configuratieruimte kan bijvoorbeeld opgeslagen worden in een seriële nonvolatile RAM (EEPROM) geheugen dat geladen wordt bij het opstarten De configuratie ruimte van zo een standaard PCI IC kan natuurlijk niet op de juiste wijze door de IC fabrikant geïmplementeerd worden. Daarom is er meestal voorzien dat deze wordt opgeladen bij het opstarten vanuit een EEPROM. 5

Ontwikkeling met PCI chipset devices: PLD Diezelfde IC hoeft niet noodzakelijk met een processor gebruikt te worden. Er kan een CPLD of een FPGA geprogrammeerd worden die de aangeboden data van de backend bus afhaalt en de nieuwe data aan de backend bus doorgeeft. Deze component geeft deze data dan weer verder door aan de toepassing van de gebruiker. Dit heeft het voordeel dat deze PLD eenvoudig kan geprogrammeerd worden, en dus niet groot hoeft te zijn. Op de backend bus hoeft enkel maar het volgende voorzien te worden: Het gelijktijdig lezen van data en adres en deze doorgeven Het gelijktijdig schrijven van data en adres. De PCI chipset voorziet het gehele PCI protocol. Je moet je hierbij dan wel neerleggen bij de keuzes die door deze IC gemaakt werden. Er bestaan ook verschillende ASIC fabrikanten die een bouwblok met gelijkaardige functionaliteit als de PCI chip-set ter beschikking stellen aan diegenen die hun technologie wensen te gebruiken voor het maken van een ASIC. Dit bouwblok wordt dan als "black box" ter beschikking gesteld. Er worden geen details over de implementatie. De gebruiker kan dan de rest van zijn IC lay-outen en aansluiten op de back-end bus. Er kan dan een oplossing bekomen worden die volledig in een IC is opgenomen. 6

Vaste FPGA PCI core Als derde optie kan er gebruik gemaakt worden van een vaste PCI core. Deze core heeft dan dezelfde functionaliteit dan de eerste optie: zij voorziet een vaste backend interface. Meestal wordt deze door de IC fabrikant "post synthese" (gratis) ter beschikking gesteld. Vaak vullen zij ongeveer de helft (of minder) van een daartoe voorzien FPGA. Deze postsynthese vorm houdt rekening met de specifieke hardware en wordt ook in een vorm eigen aan de specifieke hardware ter beschikking gesteld. Hierdoor kan ze onmogelijk gebruikt worden op FPGA's van concurrenten of aangepast worden aan eigen eisen. Het overblijvende deel van de FPGA kan dan door de gebruiker ingevuld worden. Hierdoor kan er ook een compacte oplossing bekomen worden. 7

Xilinx PCI core De gebruiker heeft het krachtigste ontwikkelplatform indien hij de volledige code (in VHDL) van de PCI interface ter beschikking krijgt. Verschillende fabrikanten bieden een dergelijke core aan, tegen betaling. Deze code is dan grondig getest en wordt dan regelmatig ge-update. Een aantal universiteiten heeft ook een PCI core, maar deze is veel minder goed getest. Deze methode levert de efficiëntste en de krachtigste implementatie op. Hierboven tonen we de verschillende bouwblokken die in de Xilinx PCI core aanwezig zijn. De initiator state machine is natuurlijk alleen nodig indien het de implementatie van een PCI-master betreft. We overlopen hierna deze verschillende bouwblokken. 8

Bouwblokken: 1 pariteitsgenerator/controle Controlleert de even pariteit op de AD-bus (Address-data bus) CBE (Command/Byte enable) PAR Een fout wordt gerapporterd in PERR- (indien het een data pariteitsfout is) SERR- (indien het een address pariteitsfout is) Als er data binnenkomt wordt de pariteit gecontroleerd en indien er fouten zijn worden deze gerapporteerd. Data die naar buiten gaat krijgt een pariteitsbit mee. 9

Bouwblokken: 2 Target state machine Produceert de signalen TRDY STOP DEVSEL Hoge performantie nodig One hot encoding Continue bursting (zero wait state) Deze FSM moet zeer snel op inputs kunnen reageren, omdat anders de prestaties van de bus sterk gaan dalen. 10

Bouwblokken: 3. Initiators state machine Moet enkel voorzien worden als het een PCImaster betreft. Ook hier is een zeer snelle FSM nodig. De geproduceerde signalen zijn REQ FRAME IRDY 11

Bouwblokken: 4. PCI configuratie ruimte De gehele functionaliteit van de standaard PCI configuratieruimte wordt hierin voorzien en kan door de gebruiker naar zijn wensen aangepast worden. 12

Bouwblokken: 5. Gebruikers toepassing Hierin kan de toepassing van de gebruiker geïmplementeerd worden. 13