Prototyping von ASIC auf FPGA
Die Chipentwicklung ist komplex, teuer und zeitaufwändig. Und der Preis für jeden Fehler ist extrem hoch. Nachdem der Kristall mit Patches und Updates erstellt wurde, kann nichts mehr repariert werden. Daher ist die Überprüfung der entworfenen Schemata in der Entwicklungsphase besonders sorgfältig. Für jeden Funktionsblock werden Blocktests in allen Betriebs- und Nichtbetriebsarten geschrieben. Nach der Integration des Blocks in die allgemeine Schaltung werden Systemtests durchgeführt, um festzustellen, wie dieser Block als Teil des Systems funktioniert. Alle Tests drehen sich ständig in Regressionstests. Es gibt sogar ein informelles Zeichen für ein weniger oder weniger akzeptables Testniveau - wenn die Menge des Testcodes das 10-fache der Menge des Codes des zu testenden Geräts beträgt. Alle diese Tests vermitteln jedoch nicht das Gefühl, dass die Schaltung funktionsfähig ist, da jede Simulation das Verhalten der Schaltung für maximal Hunderte von Millisekunden darstellt.Aber im Leben sollte die Schaltung Hunderttausende von Stunden ablaufen. Ich habe einmal nach einem Fehler gesucht, als 1 oder 2 Bytes pro 1 GB übertragener Informationen verloren gingen und keine Funktionstests dieses Problem fanden. Und dieser Fehler trat nur beim FPGA-Prototyp des zukünftigen Chips auf. In diesem Artikel erfahren Sie, welche Prototypen wir gemacht haben und was in der Welt vor sich geht.Das Prototyping zukünftiger Chips auf einem FPGA ist die einzige Möglichkeit, die Funktionsweise der Schaltung bei realen Aufgaben in weniger Echtzeit zu testen. Mit dem Prototyp können Sie Software debuggen, erste Leistungsmerkmale abrufen und vieles mehr. Moderne FPGAs verfügen über ausreichend große Ressourcen für diese Aufgaben. Sie können beispielsweise selbst einen vollwertigen Computer mit einem Intel 8086-Prozessor auf einem Motherboard mit FPGA für 300 US-Dollar implementieren .2004 Jahr
Leider konnten wir nicht den ersten Prototyp in den Ablagerungen unseres Schranks mit Skeletten finden, aber es war ein kleiner Schal, der auf dem Xilinx Spartan3-400 (XC3S400) basierte. 400 bedeutet die Anzahl von Tausenden von Ventiläquivalenten, die dem Entwickler zur Erstellung seines Schaltkreises zur Verfügung stehen. Der Preis für das Taschentuch betrug ungefähr 50 US-Dollar und erlaubte die Implementierung eines einfachen 8-Bit-Mikrocontrollers mit dem gesamten Speicher und einer Frequenz von 40 MHz. Das Prototyping bestand darin, dass der entwickelte Mikrocontroller darauf eine LED blinkte.2005 Jahr
Das Spezialboard für den Prototyp wurde bereits nicht als Experiment, sondern als sinnvolle Phase des Projekts entwickelt. Bereits angewendetes FPGA Xilinx Spartan3-1000. Jene. 1 Million Ventile standen uns bereits zur Verfügung, und der entworfene Mikrocontroller arbeitete mit seiner maximalen Frequenz von 48 MHz. Und auf diesem Board habe ich die 2 verlorenen Bytes pro Gigabyte abgefangen. Der Preis für das Board betrug ungefähr 200 US-Dollar.
2007 Jahr
Für den neuen 32-Bit-Mikrocontroller war es offensichtlich, dass 1 Million Ventile möglicherweise nicht ausreichen. Aus diesem Grund wurde ein neues Motherboard auf Basis von Xilinx Spartan3-5000 entwickelt, dank dessen 5 Millionen Gates verfügbar wurden. Der Preis für das Board betrug ungefähr 500 US-Dollar, und dieses Board war lange Zeit das wichtigste für das Prototyping neuer Entwicklungen. Auf dieser Basis wurden nicht nur Mikrocontroller getestet, sondern auch verschiedene spezialisierte Mikroschaltungen. Der in FPGA entworfene Mikrocontroller arbeitete bereits mit einer reduzierten Frequenz von 20 MHz, obwohl er dann in Silizium mit Frequenzen von 100 MHz und sogar 150 MHz arbeitete.Der Prototyp des 32-Bit-Mikrocontrollers:
Der Prototyp der Grafikkarte (das Projekt wurde leider nicht live
geschaltet , aber die fertige RTL wartet in den Startlöchern): Der Prototyp des 4-Wege-Ethernet-Switches mit integrierten Transceivern:
2010 Jahr
Bei der Entwicklung eines Dual-Core-Mikrocontrollers (32-Bit-RISC + 16-Bit-DSP-Core) haben wir endlich das Niveau erreicht, als 5 Millionen bereits nicht ausreichten. Die Implementierung verschiedener abgeschnittener Konfigurationen des zukünftigen Mikroschaltkreises in FPGA ermöglichte es jedoch, seinen Betrieb zu testen. Zum Beispiel implementierten sie zwei Kerne (RISC + DSP) mit einem abgeschnittenen Satz von Peripheriegeräten oder einem Kern (RISC), aber die gesamte Peripherie.Jahr 2012
Das neue Projekt erforderte eine neue Karte, da die erforderliche Menge an internem Speicher für den neuen 32-Bit-DSP-Kern bereits die verfügbare Kapazität im größten spartanischen FPGA überstieg. Ich musste auf teurere und komplexere FPGAs umsteigen. Die Projektzeit war begrenzt und es wurde beschlossen, eine fertige Lösung zu finden. Die Wahl fiel auf INREVIUM mit dem damals größten FPGA Xilinx Virtex-6 XC6VLX760.
Und obwohl die Anzahl der äquivalenten Gates auf nur 8 Millionen gestiegen ist, hat sich die Menge des eingebauten Blockspeichers von 2 Mbit auf 25 Mbit erhöht.Die Wahl ergab höchstwahrscheinlich auch, dass die Kosten der Gebühr auf der Website der deutschen Repräsentanz im Google-Cache aufbewahrt wurden, und wir wussten, dass sie vor der Unterzeichnung einer NDA 18.000 US-Dollar kosten würden. Mit den Kosten für nur einen FPGA-Chip von 15.000 US-Dollar wurden alle Fragen zur Entwicklung Ihres eigenen Boards beseitigt. Serielle Karten für solch große FPGAs kosten normalerweise entweder so viel wie die FPGAs selbst oder sind etwas teurer.Der Kauf des Boards brachte auch viele interessante Erkenntnisse mit sich. Unser lokaler Distributor war beispielsweise davon überzeugt, dass dieses Board einschließlich Versand 40.000 US-Dollar kostet und im Allgemeinen ein hohes Risiko mit einer 100% igen Vorauszahlung unsererseits darstellt. Letztendlich wurden 3 dieser Boards ohne Zwischenhändler gekauft und jetzt werden sie zum Prototypen unserer DSP-Prozessoren verwendet.Jahr 2013
Für den neuen spezialisierten 32-Bit-Mikrocontroller wurde beschlossen, ein eigenes Board zu erstellen. Erstens sollten Entwickler von Modulen auf FPGAs Mikroschaltungen entwickeln, die teurer sind als ihre Privatwagen, und zweitens hatte einer der Distributoren mehrere Virtex-6 XC6VLX550T auf Lager und bot sie mit einem großen Rabatt an. Das FPGA LX550T ist einen Schritt kleiner als das LX760 (ca. 30% weniger Ventile), aber der Endpreis der Platinen betrug unter Berücksichtigung der Entwicklung nur ca. 8.000 USD. 6 Bretter wurden zusammengebaut. Wir hatten nicht vor, sie an Kunden zu verteilen, sondern organisierten für Entwickler den Zugriff über das Internet. Der Vorstand hat viele interessante Lösungen implementiert. Beispielsweise wurden Firmware-Dateien wie auf einem MassStorage-Gerät auf eine spezielle SD-Karte auf die Karte geladen und anschließend von dort in das FPGA geladen.Insgesamt kann die Karte bis zu 10 verschiedene Firmwares enthalten, und über ein spezielles Verwaltungsprogramm können Sie auswählen, welche Karte gerade verwendet werden soll. Außerdem wurden verschiedene Schutzmaßnahmen "vor dem Narren" implementiert, um nicht versehentlich einen teuren Chip zu verbrennen. All dies ermöglicht es Ihnen, remote und sicher mit diesen Boards zu arbeiten und sie auch den Schülern anzuvertrauen. Das entworfene MK im FPGA arbeitete mit einer Frequenz von 40 MHz.Die Karte selbst (Prototyp eines speziellen 32-Bit-Mikrocontrollers mit zwei Kernen):
Prototyp eines speziellen Chips für Winkel-Code-Konvertierungssensoren:
Leider weist diese Karte mehrere Nachteile auf: Für den Anschluss zusätzlicher Module wurden schlechte Anschlüsse ausgewählt, aber es ist die Hälfte des Problems, das wir vergessen haben, zu beheben Löcher in der Nähe der Anschlüsse, und die Module werden tatsächlich nur in den Anschlüssen gehalten. Um Zugriff auf einige Steuerelemente auf der Hauptplatine zu erhalten, müssen Sie die Erweiterungsmodule herausfinden.Häusliche Erfahrung
Aber was ist mit anderen Entwicklern von kundenspezifischen Chips? Beispielsweise verwendete das MCST beim Prototyping des VLSI 1891VM6Ya (R-1000, Vierkernprozessor mit 64-Bit-SPARC v.9-Architektur) eine Spezialplatine mit 10 Altera Stratix II-FPGAs (4 x EP2S180 + 5 x EP2S130 + 1 x EP2S90). Das Gesamtvolumen der logischen Gates des Systems kann auf 20 Millionen geschätzt werden.
Jetzt kostet ein EP2S180-Chip etwa 8.000 US-Dollar. Die Kosten für nur FPGA-Chips im Prototyp übersteigen also 50.000 US-Dollar.Für das Prototyping des Elbrus-4C + -Prozessors waren bereits 21 Altera Stratix IV EP4SE820-Mikroschaltungen mit einem Gesamtvolumen von 100 Millionen Ventilen erforderlich (obwohl der MCST selbst eine Zahl von 750 Millionen angibt), die etwa 200.000 US-Dollar kosten. Gleichzeitig beträgt die Arbeitsfrequenz des Prototyps 9 MHz.Auslandserfahrung
Unternehmen, die sich auf die Entwicklung von CAD-Werkzeugen für die Mikroelektronik spezialisiert haben, bieten jetzt spezielle Lösungen für das FPGA-Prototyping an. Module, die für das Prototyping geeignet sind, sind jedoch auch bei anderen Unternehmen erhältlich. Intel und IBM haben FPGA-Prototypen, aber ihre Eigenschaften werden nicht beworben, und sie werden erst dann einem großen Kreis bekannt, wenn der Prototyp bereits veraltet ist.Cadence bietet eine spezielle Rapid Prototyping-Plattform an, die auf dem Altera Stratix-4 EP4SE820 FPGA basiert. In der Mindestkonfiguration besteht die Plattform aus zwei (mit einem Gesamtvolumen von 10 Millionen Ventilen) und maximal sechs FPGAs (mit einem Volumen von bis zu 30 Millionen Ventilen). Der Preis für einen EP4SE820-Chip beträgt heute ~ 10.000 US-Dollar.
Das neue System von Cadence heißt Protium und basiert auf dem Xilinx Virtex-7 XC7V2000T. Sie können 25 Millionen in zwei FPGAs auf 100 Millionen Ventile in acht implementieren. Die Kosten für einen XC7V2000T-Chip betragen jetzt etwa 20.000 US-Dollar. Jene. Voll ausgestattetes Protium kostet mindestens 160.000 US-Dollar.Neben Entwicklungswerkzeugen bietet Aldec auch eine Plattform für das FPGA-Prototyping von HES-7.
Auf einer Platine befinden sich bis zu sechs Xilinx Virtex-7 XC7V2000T oder UltraSacle XCVU440. Bei der Implementierung des auf dem FPGA UltraSacle XCVU440 basierenden Moduls erreicht die Gesamtzahl der Gates 158 Millionen. Mit einer zusätzlichen Karte können Sie 24 FPGA-Chips zu einem einzigen Modul zusammenbauen und 633 Millionen Gates erhalten. Die Kosten für einen XCVU440-Chip betragen jetzt 49.000 US-Dollar. Die maximalen Gesamtkosten aller FPGAs übersteigen 1 Mio. USD.Synopsys hat wahrscheinlich die größte Erfahrung in der Entwicklung von Plattformen für das FPGA-Prototyping. Ihre frühen Modelle basierten auf dem FPGA Virtex-6 (HAPS-60) und dann auf Virtex-7 (HAPS-70). Die neueste Entwicklung, HAPS-80, in einem einzigen Modul enthält ein bis vier Xilinx UltraScale XCVU440-FPGAs.
Vorgefertigte Module können zu einem einzigen Rack kombiniert werden. In diesem Fall beträgt das Gesamtvolumen 1,6 Milliarden Ventile.Bei Verwendung eines FPGA beträgt die maximale Frequenz bis zu 300 MHz, bei Verwendung der benachbarten in einem Modul 100 MHz, bei Verwendung mehrerer Module wird die Frequenz auf 30 MHz reduziert.
Mit ungefähr 3,5 Millionen US-Dollar für den Kauf von FPGAs können Sie eine Plattform zusammenstellen, die für das Prototyping von Intel Xeon E7 geeignet ist. Nun, oder warten Sie 20 Jahre, wenn FPGAs mit einem solchen Volumen im Preis auf ein paar hundert Dollar fallen werden. Source: https://habr.com/ru/post/de387653/
All Articles