Was kann schief gehen, wenn ein ASIC aus einem FPGA-verifizierten Verilog-Design erstellt wird?

7

Wie hoch sind die Chancen, dass ein Dienst wie CMP angesichts eines Verilog-Designs, das auf einem FPGA-Prototyping-System vollständig validiert wurde, und einer Person, die noch nie zuvor einen ASIC durchgeführt hat, beim ersten Versuch vollständig verwendbare Chips ausliefert? Soweit ich das beurteilen kann, stellen sie die Zellbibliothek und die Tools zur Verfügung und führen eine DRC durch. Theoretisch scheint es also so, als würde die Verwendung der RTL und das Kompilieren des Designs mit ihren Zellbibliotheken zu einem verwendbaren Chip führen.

Welche Probleme können auftreten, wenn ein FPGA-validiertes Design auf einen Basisprozess wie den 0,35-μm-CMOS-Prozess von CMP übertragen wird?

Wenn das Design auf FPGA, aber nicht auf dem Chip funktioniert, kann es ohne sehr spezielle Dienste wie Entkapselung und Mikrosonden getestet werden?

Tim
quelle
Es gibt ein Video, das Ihnen eine gute Vorstellung davon geben soll, wie man einen Chip direkt debuggt: hier
Roman Starkov,

Antworten:

4

Viele ...

Eine FPGA-Überprüfung ist nur eine Funktionsüberprüfung oder etwas, mit dem Sie den endgültigen Chip im System emulieren können, bevor Sie das endgültige Silicon erhalten.

Es gibt Unternehmen, die FPGA-zu-Si-Konvertierungen anbieten, und zwar über verschiedene Methoden. Entweder haben sie eine Struktur, die 1: 1 der FPGA-Struktur zuordnet (eigentlich nur eine Metall- und Routing-Änderung), oder sie wissen, wie man mit Standardzellen einen Timing-Abschluss erzielt.

Die mit der Website verknüpfte Website ist für Standardzellen gedacht. Wenn Sie also nicht wissen, was Sie tun, sollten Sie darauf vorbereitet sein, etwas falsch zu machen. Der zeitliche Abschluss, die Regressionen und Einschränkungen, die bei der FPGA-Synthese verwendet werden, sind eine Teilmenge dessen, was Sie benötigen, um eine Standardzelle aus der Tür zu bekommen. Möglicherweise haben Sie RTL, was sich sicherlich ändern wird. Das P & R unterliegt ganz anderen Einschränkungen als das, was ein FPGA verwendet. Sie müssen in kritischen Pfaden expliziter und detaillierter sein als in einem FPGA.

Die Debug-Fähigkeit ist ein Faktor dafür, ob Sie über Scan-Einfügung, JTAG-Schnittstellen und integrierte Debug-Unterstützung verfügen. Wenn Sie glauben, dass Sie sich auf eine Prüfstation und fortschrittliche Tools verlassen können, um innerhalb des Chips zu prüfen, haben Sie das Spiel bereits verloren. Die meisten Signale sind nicht oder nur verfügbar, wenn der Chip stark deaktiviert ist. Und einige Signale sind nicht einmal wahrscheinlich, da die Kapazität der Sonde zu groß ist.

Sie müssen von Anfang an im Test entwerfen. Punkt. Die RTL ist also nicht mehr dieselbe RTL, mit der Sie begonnen haben.

Platzhalter
quelle
4

Es sieht so aus, als ob CMP GDSII-Dateien akzeptiert. Es scheint also, dass Sie den gesamten Backend-Ablauf der RTL-Produktion erledigen müssen.

Um einen funktionierenden Chip zu erhalten, müssten Sie Folgendes tun (dies ist keine vollständige Liste, nur über meinem Kopf):

  • Führen Sie die Timing-Analyse Ihrer Schaltung korrekt durch, um nach Problemen beim Einrichten und Halten zu suchen
  • Führen Sie eine Überprüfung Ihres Designs auf Gate-Ebene durch (ein schlechter RTL-Codierungsstil kann zu Problemen führen, bei denen die Simulation vom tatsächlichen Betrieb auf Gate-Ebene abweicht und auf Dinge wie X-Propagation überprüft werden muss).

Wenn das Design auf FPGA, aber nicht auf dem Chip funktioniert, kann es ohne sehr spezielle Dienste wie Entkapselung und Mikrosonden getestet werden?

Es ist debuggbar, wenn Sie Ihren Chip debug-freundlich gestalten. Wenn Ihr Chip einen Eingang und einen Ausgang hat und der Ausgang ausfällt, wird es Ihnen sehr schwer fallen. In der Regel umfassen professionelle Designs Testmodi und Scan-Ketten (in denen Sie jedes Register in Ihrem Design über eine jtag-Schnittstelle serialisieren und scannen sowie einen seriellen Stream eingeben können, um die Register in Ihrem Design in einem bestimmten Zustand zu initialisieren). Es ist jedoch viel Zeitaufwand erforderlich, um einen Chip für ein gutes Debugging ordnungsgemäß zu codieren, sodass Sie anhand der Komplexität Ihres Chips entscheiden können, ob sich der Zeitaufwand für Sie lohnt.

Tim
quelle
4

Siehe Wie unterscheidet sich das ASIC-Design von der FPGA-HDL-Synthese?

Der Layout- und Instanziierungsprozess ist zwischen den beiden sehr unterschiedlich. Verwenden Sie einen der ASIC-Hardcopy-Dienste oder synthetisieren Sie die gesamte Logik neu?

Sie müssen den gesamten Timing-Abschluss und das Layout selbst vornehmen und die endgültige Netzliste auf Gate-Ebene neu simulieren. Vorausgesetzt, dies funktioniert, müssen Sie auch Ihren Stromverbrauch einschließlich des Einschaltstroms überprüfen. Möglicherweise erhalten Sie etwas, das funktioniert, aber den für Ihren Power-Pin verwendeten Single-Bond-Draht durchbrennt oder auf andere Weise überhitzt und ausfällt.

Wenn Sie analoge Teile auf Ihrem Chip haben (Regler, Takt-PLLs), müssen Sie deren Verwendung erneut validieren.

Wie die andere Antwort sagt, möchten Sie eine Art DFT-Anordnung; Zumindest benötigen Sie genügend Scan, um Herstellungsfehler zu identifizieren.

Bearbeiten: Es lohnt sich sehr, eine "Backend" -Firma zu beauftragen, um dies für Sie zu tun. Es kostet Sie £ 10- £ 50.000, spart Ihnen aber mindestens so viel bei fehlgeschlagener IC-Produktion.

pjc50
quelle
Dies ist kein FPGA-Kopierdienst. Ich werde in Betracht ziehen, eine Firma einzustellen, aber eine kleine Menge für den billigsten Prozess zu bekommen, kostet nur 3.000 € (verpackt), also muss ich nach 3 Iterationen scheitern, bevor sich das lohnt (was ich sicherlich könnte ...)
Tim