Forum: FPGA, VHDL & Co. Entwicklung von Prozessoren


von Anonymous U. (gastt)


Lesenswert?

Mit welchen Werkzeugen entwickeln Firmen wie Intel oder AMD eigentlich 
ihre Prozessoren?

Also ich stell mir das halt Folgendermaßen vor:

Die Logik wird mit VHDL oder ähnlichen Sprachen beschrieben. Man macht 
kleine Bausteine, testet die für sich und setzt das ganze nach einem 
großen Schema zu einer Prozessorlogik zusammen.

Nun müssen ja die einzelnen Transistoren irgendwie aufs Silizium kommen. 
Für die einzelnen Transistoren hat man dann vermutlich eine Vorlage. 
Aber wie werden diese dann verbunden? Es werden doch nicht zig 
Milliarden Leitungen händisch geroutet? Und wie bekommt man eine 
Belichtungsvorlage hergestellt, in der soo viele Transistoren drin sind? 
Das dauert ja ewig! Ich meine, wenn ich mal von einem i7 mit über 700 
Millionen Transistoren ausgehe, und jeder Transistor aber nicht ein 
Pixel, sondern aus zusammengesetzten definierten "Rechtecken" besteht, 
so entspricht das ja einem Bild mit exorbitant vielen Pixeln! Wie 
kriegen die das nur gebacken??

Insbesondere würde mich interessieren mit welcher Sprache die ihre Logik 
programmieren bzw. entwickeln oder beschreiben. Ist das VHDL, Verilog 
oder etwas ganz anderes?

von Lukas M. (m_lux)


Lesenswert?

https://www.reddit.com/r/IAmA/comments/15iaet/iama_cpu_architect_and_designer_at_intel_ama

Kurz: Intel nutzt anscheinend SystemVerilog mit einer Intel-eigenen 
Toolchain.
Die Toolchain bedient sich an einer Libary die Intel-eigene 
Transistor-Konfigurationen verwendet.
Es wird wie es aussieht auf Transistor-Ebene und HDL-Ebene gearbeitet, 
nur halt von ganz verschiedenen Abteilungen. Dazu sollte man wissen, 
dass Intel (im gegensatz zu zB AMD) in der Fertigung und im 
dazugehörigen R&D-Bereich tätig ist und dementsprechend die Transistoren 
im Silizium nicht nur plaziert sondern auch entwickelt werden.

von Thomas (Gast)


Lesenswert?

Hi,

ich komm zwar aus der anderen Ecke(analog Chip Design), aber ich 
versuche mal ein paar deiner Fragen zu beantworten:

Anonymous U. schrieb:
> Mit welchen Werkzeugen entwickeln Firmen wie Intel oder AMD eigentlich
> ihre Prozessoren?

Es gibt 2 große Hersteller von Tool-Chains für Chipentwicklung,von 
cadence und Mentor wobei Cadence bei weitem öfter verwendet wird. An 
denen kommt man im Prinzip nicht vorbei, auch wenn man manche Teile der 
Software durch Custom-Software austauscht.


> Also ich stell mir das halt Folgendermaßen vor:
>
> Die Logik wird mit VHDL oder ähnlichen Sprachen beschrieben. Man macht
> kleine Bausteine, testet die für sich und setzt das ganze nach einem
> großen Schema zu einer Prozessorlogik zusammen.

Im Prinzip ja.
Zum Testen von digitaler Logik die später mal produziert werden soll 
wird auch oft einfach das vhdl auf einen fpga portiert und dort 
ausprobiert (natürlich nur dort wo möglich und schnell genug)

> Nun müssen ja die einzelnen Transistoren irgendwie aufs Silizium kommen.
> Für die einzelnen Transistoren hat man dann vermutlich eine Vorlage.
> Aber wie werden diese dann verbunden? Es werden doch nicht zig
> Milliarden Leitungen händisch geroutet?

Im Prinzip gibt es Tools die aus dem Beschreibungsfile das Layout 
erstellt. Dazu behilft man sich, dass es "Standardbauteile" gibt 
(Inverter, nand,nor), die alle die selbe Höhe haben. Diese können zB. 
dann in Reihen angeordnet werden, oben unten Versorgung und das 
Signalrouting wird vereinfacht (wird alles von einem art "Autorouter" 
erzeugt, wobei man natürlich auch manuell eingreifen kann.

> Und wie bekommt man eine
> Belichtungsvorlage hergestellt, in der soo viele Transistoren drin sind?
> Das dauert ja ewig! Ich meine, wenn ich mal von einem i7 mit über 700
> Millionen Transistoren ausgehe, und jeder Transistor aber nicht ein
> Pixel, sondern aus zusammengesetzten definierten "Rechtecken" besteht,
> so entspricht das ja einem Bild mit exorbitant vielen Pixeln! Wie
> kriegen die das nur gebacken??

Aus dem fertigen Layout wird eine Datei erzeugt (Format gds) die an die 
Firma weitergegeben wird die den Chip dann fertigen. In diesem File sind 
alle Geometriedaten gespeichert und nach Layer sortierbar. Die Fertiger 
produzieren dann für die einzelnen Layer Masken die dann für die 
jeweiligen Prozessschritte benötigt werden. (Stichwort 
Photolithographie). Die Masken sind üblicherweiße um einen Faktor größer 
als der eigentliche Chip, über eine Optik wird das dann verkleinert 
belichtet.

>
> Insbesondere würde mich interessieren mit welcher Sprache die ihre Logik
> programmieren bzw. entwickeln oder beschreiben. Ist das VHDL, Verilog
> oder etwas ganz anderes?
Bei uns wird verilog verwendet (bzw verilog-ams für mixed-signal)

lg

von Kenner (Gast)


Lesenswert?

Habe irgendwo gelesen, dass es nur sehr wenige Leute gibt, die eine CPU 
entwickeln können. Und die Fertigung ist auch sehr kompliziert und 
aufwendig, weil die einzelnen Transistoren immer kleiner werden. Ubd je 
kleiner die sind desto schwieriger ist es sie zu produzieren.Und es gibt 
noch andere Probleme wie Leckströme uns so weiter. Deswegen gib's jetzt 
praktisch keine Leistungssteigerung von Prozessoren. Es muss eine andere 
Architektur her oder andere Fertigungsweise.

von Thorsten O. (Firma: mechapro GmbH) (ostermann) Benutzerseite


Lesenswert?

Die ersten CPUs (4004?) haben die noch auf Papier gezeichnet, und das 
fast ohne Fehler. PCs gab es ja auch noch nicht. Das kann man im Buch 
"Inside intel" nachlesen. Das Buch ist insgesamt ganz interessant, wie 
ich finde.

Mit freundlichen Grüßen
Thorsten Ostermann

von VLSI-Ing (Gast)


Lesenswert?

>> Mit welchen Werkzeugen entwickeln Firmen wie Intel oder AMD eigentlich
>> ihre Prozessoren?
>
> Es gibt 2 große Hersteller von Tool-Chains für Chipentwicklung,von
> cadence und Mentor wobei Cadence bei weitem öfter verwendet wird. An
> denen kommt man im Prinzip nicht vorbei, auch wenn man manche Teile der
> Software durch Custom-Software austauscht.

Man spricht eher von den großen Drei. Synopsys, Cadence und Mentor (der 
Größe nach sortiert)

Die großen Chipdesignbuden benutzen aber häufig auch nur Teile der 
Toolchains. Häufig werden in Teilschritten auch eigene Tools benutzt, 
was für externe wie mich immer ein bissl doof ist, weil man sich da erst 
wieder rein frickeln muss.

Gruß

von asdfasd (Gast)


Lesenswert?

> wenn ich mal von einem i7 mit über 700  Millionen Transistoren ausgehe,
> [...]
> Und wie bekommt man eine Belichtungsvorlage hergestellt, in der soo viele
> Transistoren drin sind? Das dauert ja ewig!

Es dauert nicht nur ewig (Wochen und Monate), es kostet auch ordentlich 
- für einen Satz Masken werden 7-stellige Beträge fällig.

von (prx) A. K. (prx)


Lesenswert?

Nicht alle Teile einer CPU sind synthetisiert. Cache-Strukturen sind oft 
handoptimiert, weil sich da jede kleine Verbesserung sehr deutlich 
auswirkt und es querbeet immer gleich ist.

Auch im Bereich von Takterzeugung und Stromverteilung/Abschaltung dürfte 
man öfter manuellen Eingriff finden.

Beim vergleichsweise simplen ARM7 konnte man beides einkaufen: Ein 
fertiges Layout für die üblichen Fertigungstechniken (ARM7TDMI) und 
alternativ eine Beschreibung für Synthetisierung (ARM7TDMI-S). Die -S 
Version war grösser und brauchte etwas mehr Strom, liess sich aber 
besser in eigene Strukturen und Fertigungen integrieren.

: Bearbeitet durch User
von Clemens N. (cleemens)


Lesenswert?

Lukas M. schrieb:
> https://www.reddit.com/r/IAmA/comments/15iaet/iama...

Wow, toller Link.
Ein paar gute Fragen und Antworten.

z.B. zum Thema hier:

Question
> How many transistors/gates are hand-laid vs computer synthesized on a
> modern processor? Old Pentium Pro era videos shown at colleges indicated a
> heavy reliance on manual design for large sections, although I assume this
> isn't the case anymore.

Answer
> I can't say. But the most important, performance and power sensitive parts
> are still hand-drawn. Otherwise you can't get past around 1.8GHz on Intel
> 22nm without losing too much perf from overhead.

von Nur die Harten kommen in den Garten (Gast)


Lesenswert?

Der Fachterminus für Hand zeichnen ist "Full Custom methodology" ""Full 
Custom layout" oder einfach nur "Full custom IC". Mit diesem Stichwort 
findet man bspw.:

http://www.csl.cornell.edu/courses/ece5745/handouts/ece5745-T04-methodology-custom.pdf

https://www.coursehero.com/file/p6qbpo/Architecture-of-Digital-Processor-Full-Custom-Design-Methodology-3-Full-Custom/

oder spassehalber mal eine Liste der passenden Ingenieure bei linkedin:
https://www.linkedin.com/title/full-custom-layout-design-engineer


Sehr interessant auch wenn der Pionier und Grossvater des Full Custom 
CPU Designs aus dem Nähkästchen plaudert:
http://ethw.org/Oral-History:Masatoshi_Shima

von Anonymous U. (gastt)


Lesenswert?

Vielen Dank für die ganzen Antworten. Echt interessantes Thema!

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

A. K. schrieb:
> Die -S Version war grösser und brauchte etwas mehr Strom, liess sich
> aber besser in eigene Strukturen und Fertigungen integrieren.

Es gibt auch noch einen anderen, für den Anwender relevanten 
Unterschied: bei den vorsynthetisierten ARM7/9-Kernen darf der JTAG-Takt 
maximal die Hälfte des CPU-Taktes betragen, bei den S-Versionen nur ein 
Drittel. Das ist ein Zeichen dafür, dass sich auch hinsichtlich des 
Einsynchronisierens ein paar deutliche Unterschiede ergeben; offenbar 
hat ARM ein paar halbleiterprozessspezifische Optimierungen ausgenutzt 
(bzw. ausnutzen lassen).

von Mampf F. (mampf) Benutzerseite


Lesenswert?

Kenner schrieb:
> Habe irgendwo gelesen, dass es nur sehr wenige Leute gibt, die
> eine CPU
> entwickeln können. Und die Fertigung ist auch sehr kompliziert und
> aufwendig, weil die einzelnen Transistoren immer kleiner werden. Ubd je
> kleiner die sind desto schwieriger ist es sie zu produzieren.Und es gibt
> noch andere Probleme wie Leckströme uns so weiter. Deswegen gib's jetzt
> praktisch keine Leistungssteigerung von Prozessoren. Es muss eine andere
> Architektur her oder andere Fertigungsweise.

Das hört sich jetzt so an, wie eine Folge Löwenzahn mit Peter Lustig ?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.