Blog

Was ist ein IP-Core?

Was ist ein IP-Core? Was verbirgt sich hinter der Bezeichnung IP-Core und was hat das mit FPGAs zu tun? Es soll erklärt werden, wie die Begrifflichkeiten einzuordnen sind und wie IP-Cores mit FPGAs realisiert werden können. Zudem wird ein Überblick über die Vor und Nachteile kostenloser und kostenpflichtiger IP-Cores gegeben.

Ein Begriff der dem Anwender, je weiter er in der Entwicklung seiner Baugruppe voranschreitet, immer öfter begegnet ist der Begriff des IP-Cores. Steht IP hier für „intellectual property“ bringt die direkte Übersetzung für das Verständnis des Anwenders im ersten Moment nicht sonderlich viel. Vor allem tragen die verschiedenen Formen, in denen ein IP-Core in ein System eingebunden werden kann, ebenfalls nicht zu einem besseren Verständnis bei. In erster Linie geht es dabei um die unterschiedlichen Lizenzmodelle, aus denen der Ersteller eines IP Cores wählen kann.

IP Core im FPGA

Zunächst aber nochmal zur Erklärung des Begriffs, bzw. der Bedeutung selbst. Grundsätzlich wird mit einem IP Core eine bereits erzeugte Komponente bezeichnet, die der Anwender, durch die nach außen gelegten Signale in sein eigenes System einbinden kann. Die Funktion der integrierten Komponente kann dabei einen verschiedenen Grad an Transparenz für den Anwender besitzen.

Der IP Core selbst wird einen Teil der im FPGA verwendeten Ressourcen beanspruchen um die beschrieben Funktion abbilden zu können. Die Angabe des dabei erwarteten Verbrauchs an Logikblöcken und RAM-Blöcken ist für den Anwender ein wichtiger Punkt bei der Abschätzung der benötigten Gesamtressourcen.

Unterschiedliche Modelle von IP Cores

Beispielhafte Darstellung eines IP Cores im FPGA

Die erwerbbaren IP Cores können teilweise verschlüsselt sein und können inhaltlich somit auch nicht mehr verändert werden. Der Anwender muss anhand der Funktionsbeschreibung das Verhalten des IP Cores als gegeben betrachten und sein eigenes System dementsprechend anpassen. Einige IP Cores werden zusätzlich noch durch eine zusätzliche Lizenz geschützt, die während des Kompiliervorgangs des Designs abgefragt wird. Einige Lizenzen werden von den Bausteinhersteller bereits kostenlos bei der Installation der Programmieroberfläche mit integriert. Andere müssen vom Anwender projektspezifisch, oder einmalig global erworben werden.

Es gibt allerdings zahlreiche IP Cores, die kostenlos aus dem Internet bezogen werden können. Hier muss sich der Anwender an die beigelegten Richtlinien des Erstellers halten, die ihm zwar meist eine Veränderung des Source-Codes erlauben, allerdings mitunter eine Offenlegung zur Folge haben können.

Fazit

Gerade an dieser Stelle muss sich der Anwender über die Anforderungen an sein Gerät, als auch den geplanten Zeitaufwand Gedanken machen. Funktion, Integration und Verifikation seines Designs kommen auf ihn zu. Die Erzeugung eines eigenen IP Cores oder der Griff zum fertigen, kostenlosen oder kostenpflichtigen IP Core, muss mit der gewünschten Funktion, der verfügbaren Zeit, und dem finanziellen Aufwand abgeglichen werden.

Entscheidungsmatrix FunktionZeit Kosten
Do (selbst erstellter IP-Core)Eine tiefgreifende Erfahrung im FPGA Bereich muss vorhanden beim Entwickler vorhanden sein um die Funktion optimal umzusetzen. Allerdings wird er wirklich nur das erstellen, was er auch braucht und so eine ressourcenschonendere Umsetzung erzeugen.Je nach Funktionsaufwand und Erfahrung des Entwicklers wird er mehr oder weniger Zeit benötigen. Die Zeitspanne hängt unmittelbar von seinem Know-How ab.Es handelt sich dann natürlich um EDA-Kosten. Der Entwickler wird den IP-Core Erstellen, Integrieren und Verifizieren.
Try (kostenloser „open“ IP-Core)Die Funktion sollte gegeben sein, muss aber verifiziert werden. Enthält der IP-Core einen funktionalen Overhead, werden im FPGA unnötig Ressourcen belegt.Funktioniert der IP Core nicht, muss der Entwickler fremden Source-Code debuggen. Dies geschieht dann meist mit wenig oder gar keinem Support des Herstellers.Auch hier handelt es sich um EDA-Kosten. Der IP-Core muss integriert und verifiziert werden.
Buy (Lizenzgebundener IP-Core)Die Funktion des IP Cores wird vom Hersteller garantiert, allerdings kann auch hier ein funktionaler Overhead unnötig Ressourcen im FPGA verbrauchen.Der volle Support des IP Core Herstellers für die Funktion und Verifikation beschleunigt das Design.Für den Einsatz des IP Cores müssen Lizenzkosten entrichtet werden. Die Integration des IP Cores in das System bleibt beim Entwickler, wird aber eventuell durch den Support gestützt.

No Comments

Leave a Comment