Testumgebung ModelSim/SimulationWaveform Editor

Gast #3730187
Lesenswert?

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
Moderator (Firma: Titel) Persönliche Seite #3730215
Lesenswert?

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
Moderator (Firma: Titel) Persönliche Seite #3733687
Lesenswert?

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.
Gast #3734656
Lesenswert?

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.
Gast #3749524
Lesenswert?

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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren