Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> VHDL

Een inleiding tot FPGA's en programmeerbare logica

Deze video is een inleidende presentatie over FPGA en programmeerbare logica-technologie. Ik hield deze lezing van 45 minuten op een evenement georganiseerd door 7 Peaks Software in Bangkok, Thailand, op 19 november 2019.

Hoogtepunten uit de presentatie zijn:

  • 05:07 Wie gebruikt FPGA's?
  • 09:06 Wat is een FPGA?
  • 12:13 Hoe logische poorten te emuleren met statisch RAM
  • 17:47 Algemene FPGA-primitieven
  • 19:51 Goedkoopste en duurste FPGA
  • 20:53 Plattegrond van een FPGA
  • 24:30 VHDL
  • 28:05 Synthese en plaats en route
  • 30:50 zachte kernen
  • 33:15 Hybride FPGA/CPU (Zynq-7000)
  • 36:44 Voor- en nadelen van FPGA
  • 40:28 Voorbeelden van producten die FPGA's bevatten
  • 45:18 Gratis leermiddelen van VHDLwhiz.com

Wie gebruikt FPGA's?

Er is een breed scala aan toepassingen voor FPGA-technologie. Producten variërend van satellieten in de ruimte tot handelsrobots op Wall Street maken gebruik van programmeerbare logica. Hier volgen enkele industrieën waarvan bekend is dat ze veel gebruikers van FPGA's zijn.

Verdediging

De defensie-industrie bevindt zich in een uitstekende positie om te profiteren van aangepaste FPGA-implementaties. Ze hebben veel geld en hoge eisen aan kwaliteit. De specificatielijsten voor hun producten zijn vaak extreem omdat uitrusting van militaire kwaliteit een niveau van betrouwbare techniek is dat ver boven de consumenten- en industriële kwaliteit ligt. Hun budgetten zijn altijd hoog en soms vrijwel onbeperkt, afkomstig van een stabiele bron zoals overheidssteun.

Al het bovenstaande zijn redenen waarom FPGA's veel worden gebruikt voor defensietoepassingen. Niet alleen voor wapens, maar ook voor zaken als radiocommunicatieapparatuur en testapparatuur. Ik heb in de industrie gewerkt. Je kunt hier meer lezen over mijn ervaring als FPGA-ingenieur in de defensie-industrie.

Ruimte

FPGA's worden op grote schaal gebruikt in de ruimtevaartindustrie. Er zijn veel redenen waarom ze geschikt zijn voor satellieten. Ze zijn inherent energiezuinig, kunnen stralingshard worden gemaakt en het is gemakkelijker om de juistheid van een FPGA te controleren dan de software die op een CPU of microcontroller draait.

Veel elektronische ontwerpen in de ruimte zijn voor zaken als interfacebesturing, het lezen van sensorgegevens, signaalverwerking of besturingssystemen, taken die goed bij een FPGA passen. Bovendien vallen ruimtevaarttoepassingen vaak onder dezelfde betrouwbaarheidseisen die standaard zijn in de lucht- en ruimtevaartindustrie.

Lucht- en ruimtevaart

De lucht- en ruimtevaartindustrie houdt van FPGA's om veel van dezelfde redenen als de ruimtevaartindustrie, maar vooral omdat het gemakkelijker is om de juistheid van een FPGA te verifiëren dan software.

Bewijzen dat een computerprogramma geen onbedoelde gevolgen heeft, is moeilijk en tijdrovend. Internationale normen voor systemen in de lucht schrijven voor dat elektronica die in vliegtuigen wordt gebruikt, aan strikte verificatievereisten moet voldoen.

Hoewel software de DO-178C-luchtvaartstandaard moet volgen, vallen FPGA's onder de DO-254 ontwerpgarantiegids voor elektronische hardware in de lucht. In de meeste gevallen is het gemakkelijker en goedkoper om aan de eisen van de hardwarestandaard te voldoen dan voor een bijbehorende software-implementatie.

Automobiel

Voertuigfabrikanten gebruiken FPGA's voor zaken als motorbesturing van dieselmotoren in vrachtwagens en ook voor geautomatiseerde rijsystemen. Je vindt zelfs FPGA-versnelde communicatie- en entertainmentsystemen in moderne auto's.

Bovendien zullen elektrische en hybride voertuigen waarschijnlijk FPGA's gebruiken voor motorbesturingstaken. Driefasige inductiemotoren vereisen een strikte timingcontrole van de magnetische velden terwijl de motor draait. Elke onnauwkeurigheid vertaalt zich in verlies van energie-efficiëntie.

Telecommunicatie

De telecommunicatie-infrastructuur maakt gebruik van veel FPGA-technologie. Zoals eerder vermeld, zijn FPGA's standaard in ruimtevaarttoepassingen zoals communicatiesatellieten. Andere toepassingen van FPGA's in de telecomindustrie waren onder meer netwerkrouters en draadloze basisstations.

Voor consumententelecomapparatuur zoals mobiele telefoons zijn FPGA's niet zo gebruikelijk. Bij een maatwerkoplossing in een mobiele telefoon zie je eerder een ASIC dan een FPGA. Hoewel de initiële kosten van ASIC-productie veel hoger zijn dan die van een FPGA, zijn ze nog steeds economisch vanwege de hoge verkoopvolumes van mobiele telefoons.

Datacenters

Alle grote vier technologiebedrijven ontwikkelen aangepaste FPGA-oplossingen voor gebruik in hun datacenters. FPGA's zijn essentieel voor hen om zulke grote hoeveelheden gegevens met zo'n lage latentie te kunnen verwerken.

Het is moeilijk om details te vinden over wat voor soort problemen ze oplossen met FPGA's. Toch wordt het, te oordelen naar indirect bewijs, zoals vacatures, duidelijk dat ze sterk afhankelijk zijn van FPGA's. Diensten zoals Amazon AWS, Microsoft Azure, Google en Facebook worden allemaal mede mogelijk gemaakt door FPGA's.

Hoogfrequent handelen

Bij algoritmische hoogfrequente aandelenhandel (HFT) draait alles om het sneller verwerken van de cijfers dan de concurrentie. Bedrijven die zich met deze activiteiten bezighouden, doen er alles aan om de latentie van hun verwerkingspijplijnen te verlagen.

Hun servers staan ​​fysiek dicht bij de beurs en ze investeren in de snelste computerhardware die er te koop is. Wanneer de concurrentie CPU's en GPU's gebruikt, wendt u zich tot FPGA's. Dan kunnen ze de statistische analyse van binnenkomende marktgegevens iets sneller uitvoeren en meer geld verdienen.

Cryptocurrency-mining

FPGA's hebben de afgelopen jaren een renaissance doorgemaakt onder de reguliere IT-gemeenschap. Vanwege de Bitcoin-hype hebben veel gewone mensen nu gehoord over FPGA's.

De economie van cryptocurrency-mining heeft alles te maken met het beheren van de elektriciteitsrekening. De munt moet meer waard zijn dan wat je hebt betaald voor de elektriciteit om hem te ontginnen, wil hij winstgevend zijn.

Een aangepaste FPGA-oplossing is meestal energiezuiniger dan een algoritme dat op een CPU of zelfs een GPU draait. Er zijn de afgelopen jaren veel crowdfunded FPGA-minerboards opgedoken.

Voorbeelden van producten die FPGA's bevatten

FPGA's komen niet zo vaak voor in consumentenelektronica. Toch zijn er genoeg voorbeelden van. Hier volgen een paar producten waarvan je misschien hebt gehoord die FPGA's bevatten.

HTC Vive

Deze VR-headset gebruikt drie Lattice FPGA's, zoals we kunnen zien aan deze demontage. Het is onduidelijk wat het doel van de FPGA's is in dit ontwerp.

Dit zijn echter apparaten met een relatief lage capaciteit, dus een goede gok is dat het bedoeld is voor het besturen van een interface of het lezen van een sensor, in plaats van voor beeldverwerking.

Google Waymo

De zelfrijdende auto van Google draait op FPGA-technologie. Het project bevindt zich nog in de ontwikkelingsfase en FPGA's zijn geweldig voor prototyping.

In het artikel waarnaar wordt verwezen, staat dat ze FPGA's gebruiken voor 'sensorverwerking', wat de LiDAR-systemen kunnen zijn die de auto heeft.

iPhone 7

Het is ongebruikelijk om een ​​FPGA in een mobiele telefoon te vinden. Een ASIC is doorgaans zuiniger vanwege de grote productiehoeveelheden mobiele telefoons. Desondanks gebruikt de iPhone 7 een FPGA.

Het gelinkte artikel suggereert dat het misschien om een ​​nieuwe kunstmatige intelligentie (AI) -functie gaat. Misschien was Apple nog niet klaar met deze specifieke hardware en had hij de mogelijkheid nodig om over-the-air (OTA) hardware-updates naar deze chip te pushen. Dat is een innovatief gebruik van een FPGA.

Apple Afterburner

De high-end grafische versnellerkaart van Apple kan tot 3 8k ProRes RAM-videostreams tegelijkertijd en in realtime renderen.

Interessant is dat het een FPGA gebruikt om het zware werk uit te voeren. Beeldverwerking is iets dat FPGA's heel goed doen. Misschien moesten ze een aangepaste oplossing maken omdat GPU's 8k-video niet snel genoeg aankonden.

Nvidia G-Sync

De Nvidia G-Sync-kaart synchroniseert de uitvoer van de grafische kaart met de verversingssnelheid van het scherm. Als je een pc-gamer bent, heb je misschien gehoord van V-Sync, de softwareoplossing van Nvidia voor dit probleem.

De framerate-synchronisatie is een voorbeeld van een taak die gemakkelijk in hardware kan worden uitgevoerd, maar die veel CPU verbruikt wanneer deze met software wordt gedaan.

Sigilent-oscilloscoop

De Sigilent SDS 1202X-E is een 200MHz, 2+1 kanaals oscilloscoop. Een demontage door EEVblog onthult wat het aandrijft, een Xilinx Zynq-7000 hybride CPU/FPGA.

De Zynq-7000-chip heeft twee harde ARM-CPU's en een on-chip programmeerbaar FPGA-deel. Het voordeel van het gebruik van de Zynq is dat je Linux kunt draaien op het Processing System (PS) gedeelte. Met Linux kun je alle GUI-bibliotheken op hoog niveau gebruiken om een ​​prachtige gebruikersinterface te creëren.

Tegelijkertijd kunt u sensorgegevens met hoge snelheden samplen door aangepaste logica te gebruiken in het programmeerbare logica (PL)-gedeelte van de chip. De interconnect tussen het PS- en PL-gedeelte heeft een zeer hoge bandbreedte omdat deze zich in dezelfde siliciummatrijs bevindt. Al met al een uitstekende chip voor het maken van krachtige internet of things (IoT)-toepassingen.

UltraMiner FPGA

De UltraMiner is een van de vele door crowdfunding gefinancierde FPGA-mijnwerkers die in de loop der jaren zijn verschenen. De financieringscampagne loopt op het moment van schrijven nog steeds.

Volgens de verkoopargumenten op de projectpagina heeft het vier keer de energie-efficiëntie van een GPU-mijnwerker.

Kiezeltijd

De Pebble is een vroege smartwatch die in 2012 werd gecrowdfund via een Kickstarter-campagne. Hij gebruikt een kleine FPGA voor het besturen van het LCD-scherm.

Als je een Pebble had, liep je de hele tijd rond met een FPGA om je pols. De firmware voor het besturen van de Pebble is open source, de code voor het koppelen van de FPGA staat in hun repo op GitHub.

Wil je leren hoe je een FPGA programmeert?

Om logica voor een FPGA te maken, moet u een hardwarebeschrijvingstaal (HDL) gebruiken. Deze blog is gespecialiseerd in VHDL, een van de twee populaire HDL's.

U kunt VHDL-programmering gratis op uw computer uitproberen in het comfort van uw huis. Elke VHDL-ontwikkeling begint in een simulator en de gratis, Basic VHDL-tutorials leren je hoe je kunt simuleren met de studenteneditie van de populairste VHDL-simulator:ModelSim.

VHDLwhiz leermiddelen

GRATIS: Basis VHDL-zelfstudies

PREMIUM: Dot Matrix FPGA en VHDL cursus

FPGA en VHDL Fast-Track:hands-on voor absolute beginners

Ben je bekend met programmeren maar nieuw bij VHDL?

Heb je een korte introductie nodig over dit onbekende onderwerp?

Zit je agenda vol en heb je geen tijd meer om te studeren?

Begrijp in een paar avonden de basis van FPGA-ontwikkeling met VHDL! Deze cursus is bedoeld voor IT-professionals en studenten die snel kennis willen maken met het onderwerp. Met deze cursus en het goedkope Lattice iCEstick-ontwikkelbord ontwikkel je binnen enkele uren echte hardware.

Klik hier om meer te lezen en in te schrijven:
FPGA en VHDL Fast-Track:hands-on voor absolute beginners


VHDL

  1. Zelfstudie - Inleiding tot VHDL
  2. Inleiding tot Verilog
  3. Een inleiding tot doorlopende scharnieren
  4. Een inleiding tot stereolithografie (SLA)
  5. Een inleiding tot titaniumlegering
  6. Inleiding tot DC-circuits
  7. Inleiding tot AC-circuits
  8. Inleiding tot SPICE
  9. Inleiding tot Booleaanse algebra
  10. Wat u moet weten over programmeerbare logische controllers
  11. Field Programmable Gate Array (FPGA) versus microcontroller:wat is het verschil?