Hallo Zusammen, ich habe mal eine allgemeine Frage zu Testbench-Entwicklung bzw. zum testen von Schaltungen bzw. Funktionsüberprüfungen usw. Ich stelle mir bzw. euch die Frage. -Gibt es bei den oben genannten Simulationsverfahren Vor-Nachteile? -Reicht der WaveformEditor in QuartusII aus? -Muss ich bei komplexen Schaltungen mit ModelSim arbeiten? -Warum Modelsim wenn ich hervorragende Schaltungssimulationen erzeugen kann mit dem WaveFormEditor in QuartusII? Vielen Dank, Bastian Cpunkt
BastianCpunkt schrieb: > -Reicht der WaveformEditor in QuartusII aus? So macht man keine Testbench. > -Muss ich bei komplexen Schaltungen mit ModelSim arbeiten? Wenn alle deine Beschreibungen auf Anhieb laufen, dann musst du nie eine Testbench schreiben. > -Warum Modelsim wenn ich hervorragende Schaltungssimulationen erzeugen > kann mit dem WaveFormEditor in QuartusII? Weil eine Waveform eben eine Waveform ist und bei weitem KEINE Testbench. Eine Testbench ist die Beschreibung der Umwelt eines Moduls. Die Testbench stimuliert die Eingänge des Moduls und prüft die Reaktionen des Moduls und gibt einen Fehler aus, wenn irgendwas nicht passt. Das hier ist z.B. eine richtige Testbench: die generiert Zufallszahlen, gibt sie an den Sortierer und kontrolliert hinterher, ob die Reihenfolge passt. http://www.lothar-miller.de/s9y/archives/78-Bubblesort.html
:
Bearbeitet durch Moderator
Gibt es für sowas nicht eigentlich Standardisierungen, was man zu applizieren hat? Sind Zufallstest diesbezüglich akzeptabel / etabliert?
Markus Wagner schrieb: > Sind Zufallstest diesbezüglich akzeptabel / etabliert? Wofür? Prinzipiell gibt es üblicherweise eine Beschreibung, was wie mit wem zu funktionieren hat. Und mit etwas Glück eine Testbench, gegen die das zu entwickelnde Design fehlerfrei zu laufen hat. Und zum Testen eines Sortierers ist die dynamische Erzeugung von Zufallsmustern eine praktikable Methode.
BastianCpunkt schrieb: > Ich stelle mir bzw. euch die Frage. > -Gibt es bei den oben genannten Simulationsverfahren Vor-Nachteile? Ich weiß nicht so recht, was du meinst... > -Reicht der WaveformEditor in QuartusII aus? Wenn man Waveforms angucken will, braucht man keine besonderen Gimmicks. :) Aber wenn du nur damit testen möchtest, ist das eine schlechte Idee. > -Muss ich bei komplexen Schaltungen mit ModelSim arbeiten? Nein. > -Warum Modelsim wenn ich hervorragende Schaltungssimulationen erzeugen > kann mit dem WaveFormEditor in QuartusII? Eine Waveform ist keine sinnvolle Testumgebung. Du kannst keine komplexen Designs damit testen, das skaliert nicht. Und macht dich zudem abhängig von dieser Umgebung. Du solltest richtige Testbenches verwenden. VHDL ist für sowas gut geeignet. Im einfachsten Fall setzt du einige wenige Stimuli und prüfst mit Asserts, ob das Resultat stimmt. Das ist vergleichbar mit Unit Tests aus der Softwarewelt. Ansatzweise ist das auch mit dem Waveform Editor vergleichbar, aber Testbenches sind flexibler und übersichtlicher. Am besten du gestaltest dein Design modular und testest jede Komponente einzeln, soweit möglich. Komplexere Testbenches können bspw. Stimuli generieren oder aus Dateien auslesen und die Ausgaben deines Designs algorithmisch verifizieren oder einfach ausgeben. Ich habe einige Testbenches, die intensiv externe Programme nutzen: ein Programm generiert Stimuli, die Testbench liest diese und "füttert" sie an das Design. Die Ausgaben werden von der Testbench ausgegeben und mit einem weiteren externen Programm analysiert. Die meiste Zeit habe ich beim Testen daher mit GHDL und Python gearbeitet.
greg schrieb: > Ich habe einige Testbenches, die intensiv externe Programme nutzen: ein > Programm generiert Stimuli, die Testbench liest diese und "füttert" sie > an das Design. Klingt interessant, Hättest Du dafür ein Beispiel?
Moin, ich würde - wie auch schon anderswo erwähnt - auch mal MyHDL anschauen. Mit VHDL kann man schon eine Menge wildes Zeug machen, aber man schreibt sich halt einen Wolf, und die Simulation läuft nicht unbedingt schneller als die deutlich weniger aufwendige Python-Variante, deren Wiederverwertbarkeit bei schön modularem Design recht hoch ist. Interessant scheint mir auch der Cocotb-Ansatz (ebenfalls Python). Scheint so, als ob die Fachwelt sich etwas einschwingt :-) Grüsse, - Strubi
Strubi schrieb: > Cocotb-Ansatz noch nie von gehört ... > dich Fachwelt etwas einschwingt Dein Wort in Gottes Gehörgang. Ich sehe da eigentlich eher eine Entstandardisierung: Jeder kocht sein eigenes Süppchen.
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.