Forum: FPGA, VHDL & Co. simulations bench


von test_1 (Gast)


Lesenswert?

Hallo

Also ich bin gerade beim VHDL lernen und hierzu gehört natürlich eine 
Simulation mittels Testbench. Die frage ist nur WIE macht man es richtig 
macht?
Hat jemand ein Muster beispiel für mich?

Weil ich verstehe nicht wie ich das am Besten angehe Ich habe das Buch 
"VHDL Synthese" und dort wir zB beim einbinden der componenten mittels 
for eine "configuration" geladen nur was steht in dieser Configuration 
bzw simuliere ich dann meinen Synthese fähigen code oder muss ich erst 
wieder eine Eigene VHDL datei anlegen in der ich die Componenten 
instanziere um sie dann zu simulieren... das Thema ist am anfang 
wirklich komplex so komisch es klingt.

wisst ihr vernünftige tutorials für isim oder modelsim?

lg test

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

test_1 schrieb:
> oder muss ich erst wieder eine Eigene VHDL datei anlegen in der
> ich die Componenten instanziere um sie dann zu simulieren...
Richtig, das mußt du.
Eine Testbench ist eine VHDL-Beschreibung ohne Ports nach aussen:
1
ENTITY tb_testbench IS
2
END tb_testbench;
In dieser VHDL-Beschreibung wird die "Umwelt" deines VHDL-Moduls 
beschrieben. Und damit diese Umwelt in dein Modul kommt, wird das als 
Komponente in die Testbench eingebunden. Das ist alles.

> das Thema ist am anfang wirklich komplex so komisch es klingt.
Und die gute Nachricht: in der Testbench darfst du alles machen... ;-)
Viele Takte, Datei-Zugriffe, Wartezeiten, usw...

test_1 schrieb:
> dort wir zB beim einbinden der componenten mittels for eine
> "configuration" geladen
So eine configuration brauchst du anfangs noch nicht. Das macht die 
Sache nur unnötig schwer...

Sieh dir einfach mal die SIO im 
Beitrag "Re: VHDL RS232 Spartan 3A" an, oder den 
Sortieralgorithmus auf meiner HP:
http://www.lothar-miller.de/s9y/archives/78-Bubblesort.html
Oder den DCF77-Empfänger:
http://www.lothar-miller.de/s9y/categories/56-DCF77

von PittyJ (Gast)


Lesenswert?

Ich spiele hier gerade mit der Xilinx Entwicklungsumgebung herum. Die 
bietet folgende Möglichkeit:
Zuerst wird die normale Komponente entwickelt.
Dann im "New Source" Dialog eine neue "VHDL Test Bench" erzeugt. Im 
nächsten Dialog kann man die zu testende Komponente angeben, und die 
Testbench-Datei wird mit allen Signalen passend erzeugt.

Darin muss man jetzt nur noch die 'wait's und Signale eintragen, und ab 
in die Simulation.
Eine Sache von 5 Minuten.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

PittyJ schrieb:
> Darin muss man jetzt nur noch die 'wait's und Signale eintragen, und ab
> in die Simulation.
> Eine Sache von 5 Minuten.
Das ist dann noch keine Testbench, sondern idR. nur ein Taktgenerator 
bzw. Stimuligenerator. Zu einer richtigen Testbench gehört dann 
wesentlich mehr. Denn die sollte ja komplett eigenständig ablaufen und 
zum Schluss melden: GUT oder SCHLECHT. Hier ist dann assert das 
passende Stichwort.

In den Links von mir ist eigentlich auch nur der Bubblesort ist eine 
"richtige" Testbench, weil nur dort automatisiert etwas geprüft wird. 
Die andern beiden sind einfach nur Stimulidateien für eine schöne 
Waveform.

von user (Gast)


Lesenswert?

man kann auch mit nur

report "meldung";

den erfolg melden

von test_1 (Gast)


Lesenswert?

Danke für die Hilfe, wie das mit "for" funktioniert hätte mich zwar auch 
noch interessiert aber wenn ich es jetzt so mache passts auch. Ebenfalls 
danke für den Tipp mit xilinx.

lg test

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

test_1 schrieb:
> wie das mit "for" funktioniert
Mit welchem for? Zeig doch mal deinen Code und deine Fehlermeldung. 
Mit for wird idR. einfach nur parallele Hardware erzeugt.

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
Noch kein Account? Hier anmelden.