8. Wahlveranstaltung: Cosimulation und Emulation

Es gibt kein Simulationsmodell für diesen Baustein. Selbst eines schreiben?
Alternative: Cosimulation und Hardware-Modelling.

Häufig werden Standardbausteine in Gesamtsystemen eingesetzt, beispielsweise RAM, Flash-ROM, FIFO, CPUs und dergleichen mehr. Die vollständige Simulation des Systems bereitet dann große Schwierigkeiten, da für diese Bausteine in den meisten Fällen eigene Simulationsmodelle erstellt werden müssen. Dies kostet nicht nur Zeit, sondern ist auch äußerst fehlerträchtig.

Demgegenüber steht die Möglichkeit mit entsprechenden Tools den Baustein direkt in die Simulation einzubinden. Am ersten Tag der Veranstaltung geht es darum, dies in der Praxis zu tun. Hierzu stehen verschiedenste Bausteine zur Verfügung: Unterschiedliche Standardlogikbausteine, RAM, Flash-ROM, AVR-Mikrocontroller.

Meine Simulation läuft so langsam, dass mein Projektabschluss gefährdet ist, was kann ich dagegen tun?

Während des Studiums stellt die Simulationsgeschwindigkeit von ModelSim selten ein Problem dar. Selbst bei größeren Projekten lassen sich in einigen Minuten brauchbare Simulationsergebnisse erreichen. In der Praxis sind die Projekte jedoch meist erheblich größer.

Das ein Simulator viel Geld kostet, fällt während des Studiums ebenfalls nicht auf, denn Lehre und Forschung profitieren von entsprechenden Rabatten. In einer Firma fallen für tagelange Simulationen mit einem Simulator immense Lizenzkosten an. Oft stehen nur wenige Lizenzen zur Verfügung, so dass ein Team massiv an der Arbeit gehindert wird, wenn eine der Lizenzen besetzt ist.

Es gibt also viele Gründe, die Simulation zu beschleunigen. Welche Möglichkeiten gibt es?

Wenn ein Hardware-Modell in die Simulation integriert wird, so wird dessen Anteil an eben dieser Simulation erheblich beschleunigt. Die Idee liegt nahe, einen möglichst großen Anteil der Simulation in externe Hardware auszulagern. FPGAs bieten hierzu hervorragende Möglichkeiten, da sie jede synthesefähige VHDL-Beschreibung aufnehmen und beschleunigt abarbeiten können. In Form des SpartanIIprotoBoards steht ein solches FPGA bereits zur Verfügung. Mittels einer enstprechenden Steckleiste können bis zu 60 Pins dieses FPGA als Interface in die Simulation dienen.

Am zweiten Tag der Veranstaltung soll ein eigener Entwurf (z.B. aus einer Übung oder einem Projekt) simulationsbeschleunigt werden. Der Entwurf, welcher beschleunigt abgearbeitet werden soll kann frei gewählt werden, sollte jedoch das FPGA auf dem Board möglichst weitgehend nutzen.