Leon3-processor in FPGA bestuurt breedbandig dataverwerkingsplatform

Reading time: 5 minutes

Author:

Jos Haesakkers is projectleider en senior firmware- en hardwareontwerper bij Eonic in Delft. Hij heeft inmiddels achttien jaar ervaring in de R&D.

Het Delftse Eonic combineerde op een CompactPCI-kaart een Stratix-FPGA van Altera met een Leon3 van Gaisler Research, een 32 bit Risc-processor die aansluit op de standaard Amba-bus en generiek toepasbaar is in alle FPGA‘s. Projectleider Jos Haesakkers doet het ontwerp uit de doeken en legt uit wat het zo geschikt maakt voor breedbandige dataverwerking.

Het fabricaat van een FPGA bepaalt vaak de keuze voor een embedded microcontroller. Zo zijn er de Nios II van Altera en de Microblaze en PowerPC van Xilinx. In zware industriële en militaire applicaties geniet het gebruik van Linux als besturingssysteem de voorkeur vanwege de portabiliteit en de aansluiting op commerciële applicaties. Aangezien Linux een microcontroller met memory management unit (MMU) nodig heeft, zijn standaard embedded microcontrollers minder geschikt.

In de nieuwe generatie embedded systemen wordt het desalniettemin uit oogpunt van performance en gebruikersgemak steeds wenselijker dat softcoremicrocontrollers general purpose opereren. Gelukkig is er ook nog de Leon3 van Gaisler Research. Deze moderne embedded processor draait embedded Linux dankzij een ingebouwde MMU. Daarmee is hij uitstekend geschikt om bijvoorbeeld een dataverwerkingssysteem te besturen op hoge snelheid. Het system on chip-ontwerp zorgt voor een hoge mate van integratie op basis van de krachtige 32 bit Risc die aansluit op de standaard Amba-bus en generiek toepasbaar is in alle FPGA‘s.

Eonic baseerde zijn Power Storage Card op een FPGA van Altera, hier afgebeeld de Stratix II.

Eonic heeft voor de Leon3-processor een generieke 3U CompactPCI-kaart ontwikkeld die onder meer high-speed data kan transporteren via zes seriële links, twee Gigabit Ethernet-verbindingen en een PMC-mezzanineaansluiting via een 64 bit PCI-X-brug. De kaart bevat een Stratix III-FPGA waarop alle externe interfaces en de vier DDR2 SDRam-banken parallel zijn aangesloten. Daarbij heeft Eonic een Linux-applicatie ontwikkeld om intelligente en snelle I/O-controllers in breedbandige data-acquisitiesystemen te besturen. De kaart met applicatie draagt de naam Power Storage Card.

Dit Leon3-platform inclusief de Linux-applicatie zorgt dat alle high-speed datastromen worden bestuurd in Eonics Signal Intelligence Recorders (SRI‘s). Deze zetten breedbandige analoge signalen om naar digitaal, bewerken die en bewaren deze grote hoeveelheden digitale data op harddisk. De SRI‘s van Eonic gebruiken digitalisatiechips, waardoor bij het omzetten van het analoge naar het digitale domein gigahertzhoge bandbreedtes kunnen worden bereikt met een minimaal verlies aan gevoeligheid, een maximaal behoud van signaalkwaliteit en een extreem lage ruisvloer.

Onder meer militaire veiligheidsdiensten maken gretig gebruik van dit soort veeleisende systemen. Zo gebruikt het Duitse leger ze bijvoorbeeld in Afghanistan om informatie over de aanwezigheid en activiteiten van de taliban te vergaren. Daarbij worden de opgeslagen gegevens geanalyseerd op informatie die duidt op vijandige of terroristische activiteiten.

Hoge doorvoersnelheid

De kracht van het Leon3-platform zit enerzijds in de integratie van een multiprocessorsysteem in FPGA inclusief standaard SMP-embedded Linux en anderzijds in de flexibele en supersnelle breedbandige verwerking van generieke externe interfaces als Ethernet en PCI-X. Verder ontsluit de PMC-mezzanine-interface verschillende I/O-toepassingen, zoals netwerk- en hostbusadapters als Sas en SCSI voor snelle dataopslag en analoog-naar-digitaalomzetters voor breedbandige data-acquisitie. Ook de 200 MHz kloksnelheid van de Leon3 32 bit Risc-processor strekken tot aanbeveling. Daarnaast is hij schaalbaar en uitbreidbaar met een floating point unit.

De Power Storage Card wordt grafisch bediend.

De Leon3 heeft zich bovendien reeds bewezen in militaire en ruimtevaarttoepassingen, waarmee van deze processor en ook de geheugeninterfaces fouttolerante varianten beschikbaar zijn. De Leon3 is namelijk ontwikkeld door ruimtevaartorganisatie Esa-Estec (European Space Agency-European Space Research and Technology Centre). Gaisler Research, een spin-off van Esa, brengt de Leon3-processor op de markt tezamen met een complete bibliotheek van IP-cores, zoals DDR2-geheugen, Ethernet-Mac, flash, I2C gebaseerd op de Amba-interface, PCI en USB.

Door de hoge eis aan de DMA-doorvoersnelheid – maar liefst 750 Mbyte per seconde – heeft Eonic een commercieel verkrijgbare 64 bit 133 MHz PCI-X-IP-core geïntegreerd in de Leon3-architectuur. Deze kern is als host-bridge uitgevoerd en met een Amba-businterface op de Leon3-processor aangesloten. De core is in staat DMA-overdrachten te verwerken zowel vanuit de Amba-bus als direct vanuit het high-speed datapad op de switch fabric, het hart van de datagedreven applicaties. Deze kan parallel en flexibel alle 64 bit Fifo-data-interfaces met elkaar verbinden.

Realtime en in het veld

Eonic heeft de specificaties van de IP-core zelf opgesteld, maar door een extern bedrijf laten ontwikkelen. De onderste vier Osi-lagen van het IEEE 802.3-2005-protocol worden gecodeerd in HDL. Deze Ethernet-verbinding kan direct middels een Fifo-interface worden aangesloten op de switch fabric. Daarmee is de maximaal haalbare datadoorvoer van 2 Gbit per seconde full-duplex mogelijk, zonder de processor ook maar enigszins te belasten. De ontwikkeling van deze hardware-TOE werd ons opgelegd doordat we over Ethernet via een op de Leon3 draaiend softwarematig TCP/IP-protocol een effectieve datadoorvoer haalden van slechts 0,03 Gbit per seconde, waarbij bovendien de processor volledig werd belast met protocolafhandeling.

Het gekozen FPGA-platform voor de Leon3, de nieuwe Altera Stratix III, levert ten opzichte van de huidige Stratix II-generatie niet alleen een betere performance op, maar vooral ook een veel lager stroomverbruik. Alle externe interfaces, 32 bit CFI-flash, vier 32 bit DDR2 SDRam-banken, de CompactPCI-bus en de PMC-mezzaninebus zijn parallel uitgevoerd op de FPGA. De twee Gigabit Ethernet-PHY‘s en zes Powerlink-interfaces – Eonics snelle seriële dataverbinding – completeren de externe I/O. Complete breedbandige high-speed dataverwerkingssystemen worden hiermee op een chip geïntegreerd. Altera belooft zelfs compatibiliteit met de nog snellere en zuinigere Stratix IV, de reeds aangekondigde opvolger van de Stratix III.

Op dit moment werkt Eonic aan nog een andere applicatie op basis van het Leon3-platform, die op hoge snelheid data kan verwerken via een hostbusadapter: een standaard PMC-mezzaninemodule met Sas-chipset die een diskarray aanstuurt. In een samenwerkingsverband met de TU Delft werken we ook aan signaalverwerkende applicaties in het high-speed datapad op FPGA. Daarbij isoleert en analyseert de applicatie frequentiebanden en worden automatische detecties en zelfs demodulatietechnieken geïntegreerd. Hetzelfde hardwareplatform dient hierbij als uitgangspunt en ook hier wordt de Leon3-processor ingezet voor de data-analyse.

Vanuit de signal intelligence-community is er een duidelijke trend om meer en breedbandigere signalen op te nemen en te analyseren met steeds kleinere en mobielere systemen. Dit drijft de vraag naar complete dataverwerkende systemen geïntegreerd op een enkele chip. De huidige FPGA‘s zijn in staat zeer grote hoeveelheden data gelijktijdig op hoge snelheid te verwerken. En daarom zullen we steeds meer dataprotocolafhandeling in FPGA en Asic zien. Naast de FPGA worden op de borden dan alleen nog fysieke interfaces en geheugen-IC‘s geplaatst. Behalve voor datatransfer en protocolafhandeling zullen de steeds generiekere embedded processoren, waaronder de Leon3, meer en meer worden ingezet voor bewerking en analyse van data in realtime en in het veld.

Blokschema met hardware- en firmwarearchitectuur van Eonics CPCI-PMC-carrierbord.