In jedem Artikel ĂŒber HabrĂ©, der sich auf die eine oder andere Weise mit inlĂ€ndischen Mikroprozessoren befasst, wird die Frage der lizenzierten IP-Blöcke und wie stark ihre Anwesenheit und Abwesenheit den Wert, die HĂ€uslichkeit oder die Sicherheit der Entwicklung verringert, angesprochen. Gleichzeitig verstehen viele Kommentatoren das Diskussionsthema nicht sehr gut. Versuchen wir also, genau herauszufinden, wie die Lizenzierung in der mikroelektronischen Industrie funktioniert, was gute und schlechte lizenzierte Blöcke sind und wie die Entwicklung einer Mikroschaltung ablĂ€uft, wenn die meisten Blöcke darin gekauft werden.

Jede moderne Mikroschaltung wurde vor einiger Zeit stolz als âSystem auf einem Chipâ bezeichnet: Selbst dreibeinige Linearregler und Spannungsquellen haben eine digitale Einstellung, die dem Benutzer verborgen bleibt. Was können wir ĂŒber Mikroprozessoren und Mikrocontroller sagen, die Dutzende verschiedener Blöcke enthalten, deren Entwicklung Davon sind spezielle FĂ€higkeiten und umfangreiche Erfahrung erforderlich, um Fallstricke zu umgehen, ĂŒber die nicht in BĂŒchern und Artikeln geschrieben wird. DarĂŒber hinaus verfĂŒgt jedes Projekt in der Regel ĂŒber eine eigene Killer-Funktion, aufgrund derer Entwickler einen Vorteil gegenĂŒber Wettbewerbern erwarten. Diese Killer-Funktion sollte so gut wie möglich ausgefĂŒhrt werden, und alle anderen Blöcke sollten einfach nicht schlechter sein als andere.
Achtung, die Frage ist: Ist es notwendig, ein teures Entwicklungsteam zu unterhalten, das alle notwendigen Blöcke unabhÀngig voneinander selbst herstellen kann?
Eine noch interessantere Frage: Wenn Sie selbst ein Mikroprozessor-Befehlssystem entwickelt haben, mĂŒssen Sie ein Programmiererteam enthalten,
das einen Compiler dafĂŒr schreibt , neue Kernel gĂ€ngiger Betriebssysteme portiert, viele andere harte Arbeiten ausfĂŒhrt und Ihre Kreation höchstwahrscheinlich nicht auf eines setzt Niveau mit populĂ€ren Architekturen, auf denen viel mehr Menschen arbeiten?
Und vor allem: Werden positive Antworten auf die beiden vorherigen Fragen Ihrem Produkt Wettbewerbsvorteile verschaffen?
Lyrischer ExkursAm 5. Juni ging Morris Chang in den Ruhestand, ein Mann, von dem Sie noch nie gehört hatten, ohne den es jedoch keine moderne Elektronik geben wĂŒrde. Morris Chang wurde in China geboren, auf dem Höhepunkt des BĂŒrgerkriegs, den er in die USA verlieĂ, absolvierte das MIT und arbeitete dann viele Jahre bei Texas Instruments und General Instruments. In jenen Jahren war ein wesentlicher Bestandteil eines jeden mikroelektronischen Unternehmens seine eigene Produktion, deren AusrĂŒstung mehrere GröĂenordnungen billiger war als jetzt, aber dennoch sehr teuer. So schrieb Chang selbst darĂŒber:
Als ich bei TI und General Instrument war, sah ich viele IC-Designer, die gehen und ihr eigenes Unternehmen grĂŒnden wollten, aber das einzige oder gröĂte, was sie davon abhielt, diese Unternehmen zu verlassen, war, dass sie nicht genug Geld sammeln konnten eine eigene Firma zu grĂŒnden. Denn zu dieser Zeit glaubte man, dass jedes Unternehmen eine Herstellung brauchte, eine Waferherstellung und das war der kapitalintensivste Teil eines Halbleiterunternehmens, eines IC-Unternehmens. Und ich sah all die Leute, die gehen wollten, aber durch die mangelnde FĂ€higkeit, viel Geld fĂŒr den Bau einer Waffelfabrik zu sammeln, gestoppt wurden.
1985 wollte Morris Chang in den Ruhestand gehen, nahm jedoch das Angebot der taiwanesischen Regierung an, am Industrial Technology Research Institute zu arbeiten, einem Forschungsinstitut, das dazu beitragen sollte, eine industrielle Revolution in Taiwan herbeizufĂŒhren und die LĂŒcke zwischen der entwickelten Wirtschaft und den IndustrielĂ€ndern zu schlieĂen. Parallel zu seiner Arbeit bei ITRI grĂŒndete Chang 1987 TSMC, ein Unternehmen, das sich zum weltweit gröĂten Hersteller von integrierten Schaltkreisen entwickelte. Das GeschĂ€ftsmodell von TSMC basierte ursprĂŒnglich auf der Tatsache, dass das Unternehmen nichts entwickelt, sondern nur die Entwicklungen anderer Menschen produziert. Dies war einer der ersten Schritte zur Schaffung eines modernen Ăkosystems fĂŒr die Entwicklung und Produktion von Mikroschaltungen, das als Fabless-Modell bekannt ist.
Das Ende des lyrischen ExkursesWas ist Fabless?
Fabless ist ein Modell fĂŒr die Entwicklung und Produktion von Mikroschaltungen, bei denen das Entwicklerunternehmen keine eigene Produktion hat und die Dienste einer Drittfabrik nutzt, die auch mit anderen Entwicklern zusammenarbeitet (und manchmal ĂŒber eigene Produkte verfĂŒgt).
Das Vorhandensein von Fabriken von Drittanbietern kann die Schwelle fĂŒr den Eintritt in den Mikroelektronikmarkt (von der Morris Chang einmal getrĂ€umt hatte) von Hunderten auf Millionen Dollar drastisch senken, da keine Produktionsanlagen gekauft und gewartet werden mĂŒssen. Sie können diesen Schwellenwert auch noch weiter senken, da sich ein Markt fĂŒr Anbieter komplexer Funktionsblöcke bildet (diese sind auch Silicon IP). Wenn Sie Chips in Ihrer eigenen Fabrik produzieren, können Sie sich nur auf Ihre eigenen StĂ€rken verlassen und mĂŒssen ein Team haben, das alle erforderlichen Blöcke erstellen kann. Wenn die Fabrik nicht nur von Ihnen, sondern auch von anderen Unternehmen genutzt wird, hat bereits jemand die meisten typischen Aufgaben vor Ihnen gelöst, und Sie können die Ergebnisse der Arbeit eines anderen verwenden - oder Ihre eigene Lösung an einen anderen weiterverkaufen, nachdem Sie zuvor den Preis und die Bedingungen so vereinbart haben niemand blieb im Verlierer. NatĂŒrlich ist es unwahrscheinlich, dass Sie Ihr Know-how an direkte Wettbewerber verkaufen, aber es gibt viele Situationen, in denen Sie verdienen können, ohne in einen Interessenkonflikt verwickelt zu werden. Aus der Möglichkeit und dem Wunsch heraus, die Ergebnisse der Lösung typischer Probleme wiederzuverwenden, entstand der IP-Block-Markt, dessen GröĂe ab 2017 fast vier Milliarden Dollar betrug und weiterhin schnell wĂ€chst.
Wie ist es rentabel?
KĂ€ufer IP - vor allem sparen. Nach verschiedenen SchĂ€tzungen ist der Kauf von IP-Blöcken in der Regel zwei- bis fĂŒnfmal billiger als die Selbstentwicklung. DarĂŒber hinaus können Sie durch den Kauf in der Regel die Entwicklungszeit erheblich verkĂŒrzen, da Sie keine eigenstĂ€ndigen Testchips erstellen und Fehler beheben mĂŒssen.
FĂŒr den IP-Entwickler - die Möglichkeit, ein funktionierendes GeschĂ€ft auf einer Nischenlösung aufzubauen und die GeschĂ€ftskosten erheblich zu senken. Ein wesentlicher Teil der Kosten fĂŒr die Mikroschaltung sind die Kosten fĂŒr Marketing, Verpackung, Test, technischen Support, Anwendungssoftware und schlieĂlich Fotovorlagen fĂŒr die Massenproduktion usw. usw. Wenn Sie keine fertigen Produkte herstellen, sondern nur Blöcke verkaufen, haben Sie nicht alle diese Kosten.
Fabrik - eine Gelegenheit, mehr Kunden anzulocken. GroĂe Fabriken bemĂŒhen sich, ein Ăkosystem von IP-Block-Lieferanten um sie herum zu schaffen, da ihre Verwendung das Design erheblich beschleunigen und, was ebenso wichtig ist, so weit wie möglich automatisieren kann. Ein reichhaltiges Portfolio an vorgefertigten Komponenten ist eine groĂe Hilfe bei der Gestaltung des Endprodukts, da Sie nur Ihr eigenes Know-how selbst einsetzen und keine wertvollen Ressourcen fĂŒr die Entwicklung von allem im Allgemeinen ausgeben können - insbesondere in einer Situation, in der bereits eine von Menschen entwickelte vorgefertigte Lösung vorhanden ist Wer hat in seine Entwicklung deutlich mehr Zeit und Erfahrung investiert, als Sie sich leisten können. Dementsprechend kann eine groĂe Auswahl an vorgefertigten IPs ein schwerwiegender Faktor bei der Auswahl einer bestimmten Fabrik fĂŒr die Produktion Ihres Projekts sein.
Wie funktioniert es
Betrachten wir die Lizenzierung von Kernen am Beispiel eines kugelförmigen benutzerdefinierten Systems auf einem Chip. Das System enthĂ€lt einen Prozessorkern, Busse zum Kombinieren von Kern und PeripheriegerĂ€ten, eine bestimmte Menge an Cache-Speicher, Schnittstellen fĂŒr die Kommunikation mit der AuĂenwelt (z. B. CAN und I2C), PLL, DAC und ADC. Nehmen wir fĂŒr die Reinheit des Experiments an, dass alles ohne unabhĂ€ngige Entwicklung ĂŒberhaupt gekauft wird. "Dumme Annahme", sagen Sie, und Sie werden nicht ganz richtig sein. In der RealitĂ€t sind solche Situationen natĂŒrlich Ă€uĂerst selten, aber es ist durchaus möglich, sich vorzustellen, dass das Killer-Merkmal des Produkts kein Block an sich ist, sondern eine bestimmte Kombination vorhandener Blöcke. Sie sind beispielsweise der erste KĂ€ufer eines Blocks (daher haben Wettbewerber ihn noch nicht) oder Sie haben einen vorhandenen Block zur Verwendung in einem fĂŒr ihn untypischen Segment entwickelt (daher haben Wettbewerber in diesem Segment nichts Ăhnliches).
Beginnen wir also mit ...
... nein, nicht vom Prozessorkern, sondern von der analogen Bindung. Nehmen Sie zum Beispiel den Analog-Digital-Wandler (ADC) - eine typische Einheit der meisten Mikrocontroller und aller anderen Systeme, die Daten von auĂerhalb verarbeiten.
Der ADC ist ein analoger Block, was bedeutet, dass seine Parameter nicht nur stark von seiner Schaltung abhĂ€ngen, sondern auch davon, wie genau diese Schaltung auf einem Chip implementiert ist. Wenn wir die fertige Datei mit der Topologie aus einem technischen Prozess nehmen und in einer anderen Fabrik mit denselben Konstruktionsstandards produzieren, können wir völlig andere Parameter erhalten (ganz zu schweigen von der Ăbertragung auf andere Konstruktionsstandards). Die seit der Mitte des Jahrhunderts bekannte Kultur der âZweitlieferantenâ existiert jedoch immer noch. Beispielsweise bietet die Towerjazz-Fabrik Kopien einiger TSMC-Herstellungsprozesse an.
Der ADC ist ein hervorragendes Beispiel fĂŒr einen Hard IP-Block, der an einen bestimmten Prozess gebunden ist. Um ein solches GerĂ€t zu kaufen, mĂŒssen Sie genau wissen, auf welcher Technologie Ihr Endprodukt hergestellt wird. Wie oben erwĂ€hnt, kann die VerfĂŒgbarkeit des erforderlichen Hard IP einen ernsthaften Wettbewerbsvorteil fĂŒr das Werk darstellen.
Wie wird Hard IP geliefert? Dies ist eine interessante Frage, und um sie zu beantworten, muss diskutiert werden, in welcher Form ein solcher Block entwickelt wird. Bei den meisten analogen Blöcken erfolgt die Entwicklung der Schaltung auf der Ebene einzelner Transistoren, dh die Ausgangsdateien sind die elektrische Schaltungsdatei und die Datei mit der Topologie. DarĂŒber hinaus können die Merkmale sowohl des Schemas als auch der Topologie einen ernsthaften kommerziellen Wert haben, den ich natĂŒrlich nicht der Seite geben möchte. Und damit der Client das Schema nicht nach Topologie zurĂŒckentwickeln kann, wird die Topologie normalerweise auch nicht ĂŒbertragen. Daher sehen die gelieferten Dateien im Normalfall folgendermaĂen aus:
- Anstelle eines Stromkreises erhĂ€lt der Client ein Verhaltensmodell auf hoher Ebene, das keine Implementierungsmerkmale offenbart. Ein solches Modell kann in Verilog-A geschrieben werden. Eine Alternative besteht darin, dass einige CAD-Systeme (z. B. Cadence Virtuoso) die VerschlĂŒsselung elektrischer Schaltkreise unterstĂŒtzen. Das heiĂt, der Client kann Ihren Schaltkreis (oder die Verilog-A-Datei) verwenden, den Inhalt jedoch nicht öffnen und anzeigen.
- Dimensionslayout der Topologie mit markierten externen Schlussfolgerungen und einer Beschreibung, wie viele Metallisierungsstufen ein Block einnimmt.
- Testumgebung zur ĂberprĂŒfung der Hauptparameter.
- Dokumentation
In diesem Fall ist natĂŒrlich die Teilnahme eines Dritten erforderlich, auf den Sie die Topologie ohne Angst vor Wettbewerb und Reverse Engineering ĂŒbertragen können. Diese dritte Partei ist die Fabrik, und ihre Vermittlerrolle zwischen Kunden und Auftragnehmern ist ein wichtiger Bestandteil des Ăkosystems fĂŒr die Entwicklung von Fabless-Chips. Die Fabrik sollte natĂŒrlich einen kristallklaren Ruf haben (hier geht es um Lesezeichen) und im Idealfall sollte sie selbst nichts Ăhnliches produzieren, da die Arbeit in einer Fabrik eines konkurrierenden Unternehmens auf jeden Fall ein zweifelhaftes VergnĂŒgen ist. Samsung ist es gelungen, Prozessoren gleichzeitig fĂŒr sich und Apple zu produzieren, aber andere groĂe Fabriken konzentrieren sich normalerweise entweder auf ihre eigene Produktion (wie Intel) oder geben die Selbstentwicklung (wie TSMC) vollstĂ€ndig auf. Der Wunsch, diesen Interessenkonflikt loszuwerden, war ĂŒbrigens einer der Treiber fĂŒr die Zuweisung von Globalfoundries (dem zweitgröĂten Player auf dem Fabrikmarkt) von AMD.
Lyrischer ExkursĂbrigens gibt es in Russland keine reinen Fabriken in Russland. DarĂŒber hinaus hat fĂŒr absolut alle Marktteilnehmer die Herstellung eigener Produkte PrioritĂ€t, und alle vollstĂ€ndig inlĂ€ndischen Chips, die von Fabless-Entwicklern hergestellt werden, werden in den Einrichtungen ihrer potenziellen Wettbewerber hergestellt - oder in reinen Fabriken im Ausland.
Das Ende des lyrischen ExkursesDarĂŒber hinaus gibt es ein weiteres wichtiges Detail der Lieferanten-Fabrik-Interaktion: Die Fabrik gibt Ihren IP-Block in ihre eigene Datenbank ein und ĂŒberprĂŒft alle eingehenden Projekte auf das Vorhandensein Ihrer Topologie (die jemand von Ihnen sowie illegal erhalten könnte) Fragen Sie bei Ihnen nach, ob die Person, die die Produktion anfordert, eine Lizenz besitzt (da viele billige Lizenzen die Verwendung des GerĂ€ts in nur einem Projekt implizieren). Das Vorhandensein einer ĂberprĂŒfung durch die Fabrik ermöglicht es dem Hard IP-Entwickler, eine geeignete Lizenzierungsoption zu wĂ€hlen - abhĂ€ngig von der Anzahl der Projekte, der Anzahl der verkauften Chips, dem Zeitpunkt des Starts der Chips in die Produktion usw. usw. Aber mehr ĂŒber die Arten von Lizenzen im nĂ€chsten Teil.
Wie bei Hard IP in einem typischen System auf einem Chip benötigen Sie ADCs, PLL und physische Schichten von E / A-Schnittstellen.

CAD-Fenster Cadence Virtuoso Layout Suite mit der Topologie des analogen Hard IP-Blocks (dies ist PLL, wenn jemand interessiert ist). Die Grenzen zwischen den einzelnen Untereinheiten (die normalerweise von verschiedenen Personen hergestellt werden) und beispielsweise einem fĂŒr integrierte Schaltkreise sehr seltenen Element - dem Induktor in der unteren rechten Ecke - sind deutlich sichtbar. Und oben links befindet sich ein digitaler Block (wahrscheinlich Steuerung) und seine Multi-Bit-Schnittstelle zum Rest.

Es ist das gleiche, aber bereits in Form eines fertigen Chips (zum Beispiel zum Testen). E / A-Pads und die Ringe, die sie von den LÀndern und VorrÀten verbinden, sind deutlich sichtbar.
Der Begriff "Hard IP" wird auch in Bezug auf IP-Blöcke fĂŒr FPGAs verwendet. In diesem Fall versteht es sich, dass der Blockcode fĂŒr die Verwendung in einem bestimmten FPGA-Modell optimiert und fĂŒr die Platzierung in diesem synthetisiert wurde.
Soft ip
Der nÀchste Block, den wir betrachten werden, ist der Prozessorkern. TatsÀchlich kann fast jede digitale Schaltung an ihrer Stelle sein, beispielsweise eine Signalcodiereinheit mit einem Reed-Solomon-Code, aber Prozessorkerne sind am weitesten verbreitet und machen gut die HÀlfte des gesamten Marktes aus (auch aufgrund der KomplexitÀt und der hohen Kosten).
Der Hauptunterschied zwischen der Entwicklung digitaler und der Entwicklung analoger Schaltungen besteht darin, dass digitale Schaltungen normalerweise in speziellen Hochsprachen geschrieben werden - Verilog oder VHDL. AnschlieĂend synthetisiert ein spezielles CAD-System die elektrische Schaltung und Topologie aus diesem Code. Bis zum Zeitpunkt der Synthese ist der Code also nicht an eine bestimmte Technologie gebunden, und derselbe Block kann in verschiedenen Fabriken (oder in das FPGA eingenĂ€ht) oder in verschiedenen Versionen derselben Technologie (z. B. optimiert fĂŒr hohe Geschwindigkeit oder geringen Stromverbrauch) hergestellt werden. . Dies wird in der Tat von Entwicklungsunternehmen wie beispielsweise ARM verwendet. Solche digitalen Blöcke, die nicht an eine bestimmte Technologie gebunden sind, werden als Soft IP bezeichnet.
Hier ist das Schema eines Addiererbits:

Und so sieht ein 8-Bit-Addierer in einem Chip-Design tatsÀchlich aus:
module adder(
input wire [7:0]a,
input wire [7:0]b,
output wire [7:0]out,
output wire carry
);
assign {carry, out} = a + b;
endmodule
, , , . , IP- .
Soft IP? :
âą Clean, readable, synthesizable Verilog HDL, VHDL
âą Cadence Encounter RTL Compiler synthesis scripts
âą Documentation â integration and user guide, release notes
âą Sample verification testbench
Encrypted source along with a complete certification data package (CDP) including all artifacts required for chip-level compliance.
, â , ( IP ). , . , - -, , .
, LEON3:
- , Cobham Gaisler, LEON3 GPL
- LEON3FT ( ): The LEON3FT core is distributed together with a special FT version of the GRLIP IP library, distributed as encrypted RTL.
- ( ) , LEON2FT, .
, , Verilog-, . Verilog- , , , , . digital watermarks, , IP.
, âClean, readable, synthesizableâ , , IP . , , , ( , hardware trojans) , , , .
, : soft IP , , ? , Soft IP, , .. .⊠:
ARM, , , , , ( ), IP , - , , . . (, , , ). Apple Imagination Technology in-house , Apple , Imagination ( ).
, â ( IP ) ( ).
soft IP FPGA, , . , Xilinx IP, ( ) , , ( , ).
, , .
â IP- . , -, . , IP, , IP , , IP ( , ); , - .
â . , ( IP).
â . , , , . â . , , .
â , , (, ARM Cortex). â , .
â . (, , ) , â ( , , ). ? , ( - , , ) . , , , , , â .
? : , , , . , Apple, ARM - , , (, ARM ) â .
: , , , , , , ( â ). , , . , , Apple, , , ! ARM, , Apple . , ARM . , , Apple â PowerPC, , PowerPC x86, Apple Intel.
Soft IP , - , IP . :
- , â â â, .
- - IP ( ), IP, IP ( IP hardening) . ? , , , .
soft IP ( ), , , .. ..
Configurable IP
IP, hard soft â , . - , - . ? , IP-? ?
( , FPGA) , , , . , , IP- Hard IP, Soft IP ( , ).

â -.
Foundation IP
«-hard» IP- â foundation IP, . â , . , , , , , . , , ( ) , (, ) . «generic» , , , , , .
Foundation IP -, , , .

BarsMonster .
Verification IP
, , â , . , , , . , , . , - . ââ. .
, â Verification IP. â , , ( ). Synopsys , , Synopsys â IP-. IP Design&Reuse Synopsys 828 Silicon IP ( ARC â ARM) 116 Verification IP .
verification IP CAN, ( APB AHB ARM) - . , , , .
?
, , , , ? .
:
- , ( verification IP ).
- â .
- ( , ).
- Soft IP , .
- , , .
- , , .
- , .
- , ( ).
, , ( ). , - , « - BGA 400-700 ». , Hard IP- 400-700 , , , 4-8 (, Soft IP). â ? , . , «-» .

â Synopsys IC Compiler , .
, â , , , , , , .
, , fabless- IP- , , , . , , ( ââ) , , : , , , , , , - . , , â .
: Open Source?/ Open Source . , - ( ) , - . , , - . , , .
â
Opencores.org, â OpenRISC, ( FPGA), ASIC ( Samsung). Opencores, , - , ( ARM), FPGA. FPGA Proven, â ASIC Proven.
â
RISC-V. ( OpenPOWER OpenSPARC) , - , , ( ).
RISC-V â , MIPS, , , , ( , MIPS). RISC-V Foundation Google, Samsung, NXP, NVIDIA . , , , , OpenPOWER, , , ARM , ARM, , , ( Intel). - . RISC-V (
RISC-V), - , . , ,
RISC-V â Falcon NVIDIA.
: ?OpenCores, IP- ( ) . :
TSMC IP Alliance, IP .
Design&Reuse, IP-, ( ).
ChipEstimate, D&R, .
â ?, , , - .
â ââ (), ââ ( ), ââ ââ (211), âNeuromatrixâ ( ââ), RISC-V (Syntacore), ARM, MIPS, SPARC, MCS96, MCS51, C166, AVR, MSP430.
,
â â ( ):
IP-:
: ARM Cortex-M4F, ARM Cortex-M0, ARM946E-S c AMBA, ARM VFP9-S, SPARC v.8 c AMBA. 8- RISC .
IP- (PLL) TSMC, KeyASIC AnalogBits, Sidense Memory, - (eFuse) TSMC, IP- , ROM RAM ..
â â , IP- - (-, IP-).
IP? IP- (
â â,
ââ,
211), . Design&Reuse ChipEstimate â â ( ) NTLab. , .