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?
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.
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
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.
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
>> 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ß
> 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.
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
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.
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
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).
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.