Zum Inhalt springen

„IP-Core“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
[ungesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
Anbieter: entfernt, die Tabelle enthält hauptsächlich Kleinstanbieter für Spezialanwendungen mit einer künstlichen Limitierung auf Deutschland. Wikipedias Aufgabe ist hier nicht diese zu bewerben.
Zeile 15: Zeile 15:
* Soft-Cores liegen als Quellcode oder in Form einer Netzliste vor und werden im frei programmierbaren Bereich eines FPGAs implementiert. Soft-Cores entsprechen somit der Soft-IP bei ASICs. Ein IP-Core, der im Quellcode vorliegt, kann sowohl für FPGAs als auch ASICs benutzt werden. Dagegen können in Form einer Netzliste vorliegende Soft-Cores nur mit einem spezifischen FPGA-Modell benutzt werden. Daher gibt es häufig IP-Core Generatoren, mit denen der Anwender Netzlisten für die verschiedenen FPGA Modelle eines Herstellers generieren kann. Typische Beispiele für Soft-Cores sind auf die jeweilige FPGA-Architektur optimierte Prozessorkerne, wie der [[Nios II]] von [[Altera]] oder der [[MicroBlaze]] von [[Xilinx]], welche samt ihren Programmen bei Bedarf in den FPGA integriert werden. Eine weitere Klasse sind Schnittstellencontroller für Busse wie [[Serial Peripheral Interface|SPI]] und [[I2C]], aber auch Controller zum Ansteuern von externen [[DRAM]]-Speichermodulen.
* Soft-Cores liegen als Quellcode oder in Form einer Netzliste vor und werden im frei programmierbaren Bereich eines FPGAs implementiert. Soft-Cores entsprechen somit der Soft-IP bei ASICs. Ein IP-Core, der im Quellcode vorliegt, kann sowohl für FPGAs als auch ASICs benutzt werden. Dagegen können in Form einer Netzliste vorliegende Soft-Cores nur mit einem spezifischen FPGA-Modell benutzt werden. Daher gibt es häufig IP-Core Generatoren, mit denen der Anwender Netzlisten für die verschiedenen FPGA Modelle eines Herstellers generieren kann. Typische Beispiele für Soft-Cores sind auf die jeweilige FPGA-Architektur optimierte Prozessorkerne, wie der [[Nios II]] von [[Altera]] oder der [[MicroBlaze]] von [[Xilinx]], welche samt ihren Programmen bei Bedarf in den FPGA integriert werden. Eine weitere Klasse sind Schnittstellencontroller für Busse wie [[Serial Peripheral Interface|SPI]] und [[I2C]], aber auch Controller zum Ansteuern von externen [[DRAM]]-Speichermodulen.
* Hard-Cores sind als fertige Schaltung herstellerseitig unveränderbar in den Chip des FPGAs integriert. Der Vorteil dabei ist, dass Hard-Cores weniger Chipfläche belegen und meist auch schneller als mit frei programmierter Logik implementierte Soft-Cores arbeiten können. Nachteilig ist die Unmöglichkeit, eigene Adaptionen anzubringen oder eine Portierung (Migration) zu anderen Logikfamilien, die nicht über die meist sehr spezifischen Hard-Cores verfügen, durchzuführen. So enthalten die meisten FPGAs dedizierte Speicherblöcke sowie fertige Multiplizierer, welche von der Synthesesoftware bei Bedarf instanziiert werden. Größere FPGAs bieten mitunter auch vollständige Prozessoren wie die [[PowerPC]]-Cores in FPGAs der Virtex-Serie von Xilinx. Zusätzlich können Schnittstellen-Controller für komplexere Schnittstellen wie Ethernet sowie [[SerDes]] für die Implementierung von Hochgeschwindigkeits-Schnittstellen wie [[PCI-Express]] und [[S-ATA]] enthalten sein.
* Hard-Cores sind als fertige Schaltung herstellerseitig unveränderbar in den Chip des FPGAs integriert. Der Vorteil dabei ist, dass Hard-Cores weniger Chipfläche belegen und meist auch schneller als mit frei programmierter Logik implementierte Soft-Cores arbeiten können. Nachteilig ist die Unmöglichkeit, eigene Adaptionen anzubringen oder eine Portierung (Migration) zu anderen Logikfamilien, die nicht über die meist sehr spezifischen Hard-Cores verfügen, durchzuführen. So enthalten die meisten FPGAs dedizierte Speicherblöcke sowie fertige Multiplizierer, welche von der Synthesesoftware bei Bedarf instanziiert werden. Größere FPGAs bieten mitunter auch vollständige Prozessoren wie die [[PowerPC]]-Cores in FPGAs der Virtex-Serie von Xilinx. Zusätzlich können Schnittstellen-Controller für komplexere Schnittstellen wie Ethernet sowie [[SerDes]] für die Implementierung von Hochgeschwindigkeits-Schnittstellen wie [[PCI-Express]] und [[S-ATA]] enthalten sein.

== Anbieter ==
Für den Entwurf von ASICs sind kommerzielle IP-Cores von verschiedenen Herstellern im Angebot. Frei verfügbare IP-Cores gibt es z. B. bei ''OpenCores.org''.

Bei FPGAs bieten die Hersteller meist IP-Cores an.

{| class="wikitable sortable"
|+ IP-Core-Anbieter in Deutschland
|-
! Anbieter !! Sitz in !! Gründungsjahr !! Produkte für
|-
|BellComTec
|München
|2017
|Satellitenkommunikation
|-
| Creonic || Kaiserslautern || 2010 || Kommunikation und [[Fehlerkorrektur]]
|-
| Dr. Wolf Wireless || Teltow || 2008 || „Parallel Sequence Spread Spectrum“ (PSSS)
|-
| Dream Chip Technologies || Garbsen || 2010 || 2D- und 3D-Bild- und Videoverarbeitung
|-
| DSI GmbH || Bremen || 1997 || sichere Kommunikation
|-
| DWA Wireless || Berlin || 2003 || [[Terrestrial_Trunked_Radio|TETRA]]
|-
| InnoRoute || München || 2010 || [[Quality_of_Service|Dienstgüte]] für Netzwerke, EFM-Bonding
|-
| iv-tec || Freiburg || 2009 || HD-Video-Verarbeitung
|-
| MorethanIP || Karlsfeld || 2000 || Gigabit-Ethernet
|-
| Oregano Systems || Wien || 2001 || [http://www.oreganosystems.at/?page_id=99 Uhrensynchronisation]
|-
| videantis || Hannover || 2004 || HD-Video-Verarbeitung
|}


== Weblinks ==
== Weblinks ==

Version vom 9. Mai 2018, 13:47 Uhr

Als IP-Core (von englisch intellectual property core) wird in der Mikroelektronik ein vielfach einsetzbarer, vorgefertigter Funktionsblock eines Chipdesigns (im Sinne von Bauplänen) in der Halbleiterindustrie bezeichnet. Dieser enthält das geistige Eigentum (engl. intellectual property) des Entwicklers oder Herstellers und wird in der Regel lizenziert bzw. hinzugekauft, um es in ein eigenes Design zu integrieren.[1]

Unternehmen wie ARM Limited und MIPS Technologies (Prozessoren), Imagination Technologies (Grafikkerne) oder CEVA, Inc. (digitale Signalprozessoren) haben sich darauf spezialisiert, Teile oder auch ganze integrierte Schaltkreise zu entwerfen und Lizenzen dieser Designs zu verkaufen. Chiphersteller erweitern die lizenzierten Kerne dann um zusätzliche Peripheriekomponenten wie Grafikkerne, Analog-Digital-Umsetzer sowie standardisierte Schnittstellen, um ein System-on-a-Chip für einen spezifischen Anwendungsfall zu entwickeln. Der Lizenznehmer verringert dabei durch den Einkauf vielfach getesteter Standarddesigns sein Risiko, beschleunigt die Entwicklungszeit und vereinfacht bei der Lizenzierung von Prozessoren auch die Softwareentwicklung. Je nach Anwendungsfall können die IP-Cores dabei als ASIC gefertigt oder, bei kleineren Designs, als Konfiguration in einen FPGA geladen werden. Verwandt mit dieser in Hardware implementierbaren IP ist die sogenannte „verification IP“. Dies sind wiederverwendbare Softwarekomponenten, die zur Verifikation von Hardware und insbesondere Hardware-IP-Cores eingesetzt werden.

IP-Cores bei ASICs

Es wird zwischen Soft-IP und Hard-IP-Core unterschieden:

  • Ein Soft-IP-Core existiert in Form von Quell-Code in einer speziellen Hardwarebeschreibungssprache wie Verilog oder VHDL. Er kann auch als bereits vom Hersteller synthetisierte Netzliste, als textuelle Beschreibung eines Schaltplanes, vorliegen. Man spricht in diesem Fall von Firm-IP-Cores. Bei kommerziellen IP-Cores oder IP-Cores mit Verfahrensgeheimnissen kann die Netzliste auch in verschlüsselter Form vorliegen.
  • Ein Hard-IP-Core ist ein Block mit bereits fertiggestelltem Layout. Somit kann der Nutzer kaum oder keine Änderungen an der IP vornehmen und ist an einen Prozess gebunden. Zum Schutz von Verfahrensgeheimnissen erhält ein Nutzer häufig nur eine Black-Box-Darstellung eines gekauften Hard-IP-Cores. Der Inhalt ist dann nur der Foundry bzw. einem Dienstleister bekannt, der das Layout des Chips fertigstellt. Analoge Schaltungen sind immer als Hard-IP realisiert.

IP-Cores bei FPGAs

Auch bei den IP-Cores für FPGAs wird zwischen Soft-Cores und Hard-Cores unterschieden:

  • Soft-Cores liegen als Quellcode oder in Form einer Netzliste vor und werden im frei programmierbaren Bereich eines FPGAs implementiert. Soft-Cores entsprechen somit der Soft-IP bei ASICs. Ein IP-Core, der im Quellcode vorliegt, kann sowohl für FPGAs als auch ASICs benutzt werden. Dagegen können in Form einer Netzliste vorliegende Soft-Cores nur mit einem spezifischen FPGA-Modell benutzt werden. Daher gibt es häufig IP-Core Generatoren, mit denen der Anwender Netzlisten für die verschiedenen FPGA Modelle eines Herstellers generieren kann. Typische Beispiele für Soft-Cores sind auf die jeweilige FPGA-Architektur optimierte Prozessorkerne, wie der Nios II von Altera oder der MicroBlaze von Xilinx, welche samt ihren Programmen bei Bedarf in den FPGA integriert werden. Eine weitere Klasse sind Schnittstellencontroller für Busse wie SPI und I2C, aber auch Controller zum Ansteuern von externen DRAM-Speichermodulen.
  • Hard-Cores sind als fertige Schaltung herstellerseitig unveränderbar in den Chip des FPGAs integriert. Der Vorteil dabei ist, dass Hard-Cores weniger Chipfläche belegen und meist auch schneller als mit frei programmierter Logik implementierte Soft-Cores arbeiten können. Nachteilig ist die Unmöglichkeit, eigene Adaptionen anzubringen oder eine Portierung (Migration) zu anderen Logikfamilien, die nicht über die meist sehr spezifischen Hard-Cores verfügen, durchzuführen. So enthalten die meisten FPGAs dedizierte Speicherblöcke sowie fertige Multiplizierer, welche von der Synthesesoftware bei Bedarf instanziiert werden. Größere FPGAs bieten mitunter auch vollständige Prozessoren wie die PowerPC-Cores in FPGAs der Virtex-Serie von Xilinx. Zusätzlich können Schnittstellen-Controller für komplexere Schnittstellen wie Ethernet sowie SerDes für die Implementierung von Hochgeschwindigkeits-Schnittstellen wie PCI-Express und S-ATA enthalten sein.

Einzelnachweise

  1. Frank Kesel, Ruben Bartholomä: Entwurf von digitalen Schaltungen und Systemen mit HDLs und FPGAs: Einführung mit VHDL und SystemC. Oldenbourg Verlag, 2013, ISBN 978-3-486-73181-1, S. 8.