ASIC-Prototyping mit FPGAs im Aufwind

Die Entwicklung von ASICs, ASSPs und SoCs ist und bleibt ein ebenso riskantes wie teures Geschäft. Wenn man außerdem berücksichtigt, dass 50 bis 70 Prozent des Entwicklungsaufwands auf die Funktions-Verifikation entfallen, so wird klar, warum traditionelle Verifikations-Methoden...

Die Entwicklung von ASICs, ASSPs und SoCs ist und bleibt ein ebenso riskantes wie teures Geschäft. Wenn man außerdem berücksichtigt, dass 50 bis 70 Prozent des Entwicklungsaufwands auf die Funktions-Verifikation entfallen, so wird klar, warum traditionelle Verifikations-Methoden allein nicht mehr ausreichen, um mit der wachsenden Komplexität der Designs Schritt zu halten.

Der Entwurf von Prototyping-Boards erfordert heutzutage den Umgang mit über 20 Leiterplattenlagen sowie einigen zehntausend Bauelementen auf der Platine. Hinzu kommen die Probleme der Stromversorgung, der Signalintegrität und des High-Speed-Designs, um nur einige zu nennen. All dies gehört nicht gerade zu den Stärken und Aufgaben von ASIC-Designern. Dass die Leiterplattenentwicklung mittlerweile sehr spezielle Kenntnisse voraussetzt, ist ein Grund dafür, weshalb kommerziell angebotene Prototyping-Boards mehr und mehr bevorzugt werden.

Auf die Software kommt es an

Zweck des Prototypings ist es, ASIC-, ASSP- oder SoC-Designs auf ihre funktionale Korrektheit innerhalb der Systemumgebung zu prüfen. Da an diesen Verifikationsläufen immer mehr Software beteiligt ist, werden mehr Prototypen für die Software-Entwicklung verwendet als für die Hardware-Verifikation. FPGA-basierte Prototypen eignen sich als Verifikations-Plattform, weil sich Software mit ihnen um mehrere Größenordnungen schneller verarbeiten lässt als mit jeder alternativen Methode. Die RTL-Simulation überzeugt zwar durch Komfort und Debug-Möglichkeiten. Wegen ihrer geringen Simulations-Performance kommt sie jedoch für die Software-Entwicklung ebenso wenig in Frage wie für die System-Integration und -Verifikation. Für das Prototyping-System ergeben sich hierdurch völlig neue Anforderungen. Gefragt sind in erster Linie Zuverlässigkeit, aber auch einfache Anwendung, unkomplizierter Aufbau und selbstverständlich die nötige Leistungsfähigkeit, um eine für die Software-Entwicklung taugliche Plattform zur Verfügung zu stellen. Allerdings ist dies nicht der einzige Software-Aspekt, der hier im Spiel ist. Das Implementieren und Austesten des Designs setzt nicht nur leistungsstarke Software-Tools voraus, sondern verlangt auch, dass diese Tools reibungslos miteinander und mit dem Prototyping-Board selbst kooperieren. Die Einbindung der Prototyp-Hardware in die Design-Implementierung und die Debugging-Software hat einen klaren Vorteil, denn durch diese enge Bindung wird der gesamte Prozess schneller und weniger fehleranfällig.