Transcript for:
Einführung zu FPGAs

hallo und herzlich willkommen zu einem neuen video wir wollen uns heute mit dem thema ist beschäftigung und zwar wird margret bisserl auf die grundlage eingehe also die frage beantwortet was ist überhaupt ein fpga wie ist der ungefähr intern aufgebaut und wofür kann man sowas brauche ein fpga implementiert digitale logik im games hat zumeist der andere ics thema auf markt kaufen kann ist die funktion von fpk also zum kaufzeitpunkt noch gar nicht bestimmt das ding macht erstmal gar nichts während aber wenn man zum beispiel microcontroller kaufte der microcontroller wo immer ein mikrocontroller bleibt kann man fpk beliebig konfigurieren zum beispiel aber ebenso dass er sich wie ein mikrocontroller verhält daher kommt auch die bezeichnung fpk das steht nämlich für field programmable gate array field programmable weil sich die konfiguration der logik jederzeit wieder ändern lässt und gate array weil es sich um eine anordnung digitaler schaltungen handelt die man flexibel konfigurieren kann dazu aber gleich mehr stellen wir uns mal vor dass wir im fpga genau diese schaltung hier realisierung wolle dabei handelt es sich um eine relativ simple kombinatorische schaltung mit vier eingänge a bis d und einem ausgang und in der mitte war in dem fall drei grund logik gatter um cool zu berechnungen und hier auf der rechten seite in dem gespräch oder kaster habe ich versucht den fpga zu skizzieren der besteht aus europa ins im wesen oder also ein wichtiges element in europa die sind hier durch die rote kreise gekennzeichnet sind willkürlich jetzt nur links und rechts bezeichnet könnte natürlich auch oben unter sein an diese opens würden wir jetzt unsere unsere eingänge anschließe also a bis d und natürlich auch irgendwo eine neue open als ausgang benutze um unser rechenergebnisse abgreifen zu können die eigentliche logik also hier die die und gatter und dass das oder gatter hier die wärter im fpga in sogenannte cds realisiert zb steht für konfigurator logic block und ein sohn clb ist eben genau in der lage eine logische verknüpfung zu erstellen zum beispiel das was wir hier haben also ein clb wäre in der lage diese ganze schaltung hier zu realisieren jetzt stellt sich natürlich noch die frage wie kommt das signal eigentlich von opel zu den cs um diese frage beantworten zu können und kommen zudem zudem dritter großer bestandteil von fpk und das sind diese blaue linie hier das bezeichnet man als routing ressource das kann man sich letztlich wie eine große schallt matrix vorstellen die es uns ermöglicht beispielsweise eine verbindung von diesem open über die schalt matrix zunahm clb herzustellen oder aber auch von einem clp zurückzunehmen wenn es wenn sich so einen ausgang handelt oder bei komplexere designs natürlich auch cs untereinander zu verbinden die drei wichtigsten bestandteile von am fbh sind also die opens die logik ressource selber in diesem fall die cs und die routing ressource um das alles sinnvoll miteinander zu verbinden die cbs selber können noch viel mehr als nur so eine einfache kombinatorische schaltung hier abbilden in jedem clb ist zum beispiel noch mindestens ein flip flop enthalte um zustände speichern zu können in der regel ist da noch spezielle logik vorgesehen die man für arithmetische operation braucht und noch vieles mehr aber das würde jetzt an dieser stelle hier zu weit führen in so einem fpga kann es einige tausend bis zu einige hunderttausend solcher clb es gebe und wie man sich einfach vorstellen kann kann man damit auch sehr komplexe schaltungen realisierung der typische anwendung liegt zb im bereich der digitale signalverarbeitung was ich da vorstellt dass man viele digitale filter rechnen muss dann ist das eine aufgabe die man grundsätzlich auch mit einem prozessor realisierung könnte dort würde diese filter allerdings alle sequenziell berechnet werden wodurch das ganze möglicherweise zu langsam wird in einem fpga haben wir die möglichkeit all diese filter tatsächlich in hardware aufzubauen wodurch die alle parallel berechnet werden es gibt also in fpga oder allgemein in der digitale hartberg gibt es echte parallelität die man ausnutzen kann für seine anwendung grundsätzlich kann man die fpk entwicklung also ein stück weit mit der so genannte asic entwicklung vergleichen asic steht für application specific integrated circuit das bedeutet aber dass man sich im voraus überlegt was muss die schaltung tun und dann wird die schaltung einmalig so designt dass sie genau das macht dies dann aber nicht mehr veränderbar die design methode ist aber vergleichbar mit asics eben mit dem vorteil dass man bei fpgas die schaltung auch im nachhinein noch ändern kann allerdings verliert man natürlich ein stück weit designfreiheit denn ich kann im fpga natürlich nur die funktion realisierung die mir beispielsweise ins 100 clb angebote version wenn ich jetzt irgendwas anderes braucht beispielsweise analoge schaltungstechnik mit einem pda nicht weiter in eine mäßig könnte ich auch analoge schaltungstechnik ihre um jetzt entscheiden zu können welche fpk für eure anwendung geeignet ist ist es leider relativ schwierig das ohne erfahrung machen zu können denn man muss irgendwie abschätzen wie viele logik ressource brauche ich denn um die schaltung implementieren zu können die ich möchte trotzdem möchte ich euch mal einige typische kenngröße von fpgas zeigen und die erste beide das habt ihr euch wahrscheinlich schon schon gedacht da gehört die anzahl der clp es dazu und wie viele kopien habe ich an meinem fpk weil ich muss ja natürlich alle signale die ich irgendwie verarbeitung möchte erstmal in den chip bringen und irgendwann auch wieder aus dem chip raus darüber hinaus gibt es weitere kenngröße die sich insbesondere auf erweiterte logik ressource pc also neben den cl ps gibt es noch viele andere spezielle hardware im fch zb sogenannte dsp blöcke da sind eigentlich in jedem fpk hardware multipliziere vorhanden speziell mit dem augenmerk auf digitale signalverarbeitung die maximale taktfrequenz mit der man ein flip flop schalter kann ist oder kann eine relevante design größe sein und dann gibt es noch unzählige weitere auf die ich jetzt gar nicht groß eingehen möchte aber natürlich gibt es auch kenngröße die jetzt nicht speziell die logik ressource im fpga betreffe sondern vielmehr das aus herum dazu gehört zb wie hoch ist denn die leistungsaufnahme von dem fbh auch wieder ein thema über das man auf jeden fall ein eigenes video machen könnte was auch noch relevant ist die konfigurations zeit so ein fpga vergisst seine konfiguration wieder wenn er stromlos wird das heißt er braucht irgendeine art von von gut speicher konfiguration speicher nennt sich das und es dauert eben eine gewisse zeit wenn der fpk strom bekommt dann lädt das seine konfiguration aus dem speicher das dauert eben momentum auf diese zeit die vergeht kann für eine anwendung relevant sein jetzt habe ich viel über typische kenngröße von mfp gesprochen und erklärt wie der intern aufgebaut ist aber sich noch gar nicht erwähnt habe ist wie man eigentlich die schaltung beschreibt die nachher in dem fpk implementiert werden soll und an der stelle kommen wir zu den sogenannten hardware beschreibung sprachen oder meistens abgekürzt mit hdl für hardware description language und die zwei gängigsten vertreter davon sinn vhd l&w relog wobei in europa rv hdl vertreter ist blog findet man eher in den usa wobei sich das auch immer mehr vermischt und an der stelle möchte ich noch darauf hinweisen diese beide sprache sehen gängige programmiersprache wie c++ und so weiter und so fort recht ähnlich die konstrukte sind ähnlich dennoch ist eine ganz andere denkweise nötig wenn man fpgas programmiert als firma klassische software programmiert das war jetzt also der einstieg in die welt der fpgas ich hoffe es hat euch gefallen und das video wenn ihr interesse an dem thema fpk entwicklung habt dann lass uns das doch einfach in den kommentaren wissen und wir überlegen uns ob man zu dem jeweiligen thema auch noch ein video machen können vielen dank fürs zuschauer und bis zum nächsten mal [Musik]