Forum: FPGA, VHDL & Co. Wrapper VHDL


von Manuel Schwarz (Gast)


Lesenswert?

Hallo,
ich bin dabei eine Stoppuhr in VHDL zu schreiben.
Die Testbench für die algorithmische, der VHDL Code der algorithmischen 
und RT Ebene sind bereits fertig und verifiziert.
Die RT Ebene wollen wir nun mit unserer vorhandenen Testbench 
überprüfen, benötigen jedoch dafür einen Wrapper / Golden code.

Die Frage ist nun, wie schreibe ich so etwas? Bzw. gibt es Literatur 
oder vor allem Beispiele?

Vielen Dank
Manuel Schwarz

von VHDL hotline (Gast)


Lesenswert?

Wofür brauchst du einen Wrapper, wenn du die Testbench und das Modul 
schon hast? Im Normalfall sollte dein algorithmisches Modell und dein 
RT-Modell aus Interfacesicht nicht zu unterscheiden sein und beides in 
dieselbe TB passen, meinst du das? Oder willst du algorithmisches Modell 
und RT-Modell gegeneinander simulieren?

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


Lesenswert?

Ihr habt eine dermaßen abstrakte Testbench, dass der Prüfling nicht 
drauf passt?

Ein Wrapper ist i.a. nur ein VHDL Modul, dass die Ports des einen Moduls 
(Stoppuhr) an die Ports des anderen Moduls (TB) anpasst.

Und wenn sich die "algorithmische Uhr" und die "RTL Uhr" gleich 
verhalten sollen, dann müssen sie zuerst mal die selben Ports haben.

Und dann sollte die "algorithmische TB" ganz ohne Anpassung gegen die 
"RTL Uhr" laufen können...

von Manuel Schwarz (Gast)


Lesenswert?

In der algorithmischen Ebene besteht unsere Stoppuhr nur aus drei Tasten 
als Eingänge und einer Zeitvariablen als Ausgang. Hingegen in der RT 
Ebene sollen wir nun ein Prozess mit der Sensitivty auf den Clock testen 
und unseren logischen Ein- und Ausgänge sind immernoch die drei Taster, 
aber die Zeit wird mit vier 7-Segment-Anzeigen ausgegegeben, weshalb 
unsere Testbench nicht mehr passt.

Den Wrapper brauchen wir, da sich die Portdefinition von algorithmischer 
zur RT-Ebene unterscheiden.

LG Manu

von VHDL hotline (Gast)


Lesenswert?

Da brauchst du nicht unbedingt einen Wrapper, sondern kannst auch in der 
TB die Referenz 7-Segment codieren und dann vergleichen. Oder andersrum 
die 7-Segment des Modules decodieren und vergleichen.

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


Lesenswert?

Die Testbench ist normalerweise einfach die Umgebung. Mit den 
Eingabeelementen bzw. Sensoren, den Aktoren und sonstigen EA Bausteinen.

Was soll sich da jetzt bei einer anderen internen Beschreibung ändern?

Manuel Schwarz schrieb:
> In der algorithmischen Ebene besteht unsere Stoppuhr ...
> Hingegen in der RTL Ebene sollen wir ...
> weshalb unsere Testbench nicht mehr passt.
Ist ja klar: ihr habt 2 unterschiedliche Stoppuhren. Deshalb braucht ihr 
auch 2 unterschiedliche Testbenches...

Oder, wenn ihr unbedingt diese RTL-Uhr mit der (falschen)  Zähler-TB 
prüfen wollt, dann muss der Wrapper aus den LED-Signalen wieder eine 
Zahl machen, die in der Zähler-TB kontrolliert werden kann.

: Bearbeitet durch Moderator
von VHDL-Altling (Gast)


Lesenswert?

Manuel Schwarz schrieb:
> Zeitvariablen als Ausgang

Eine Variable? Oder ein Signal, dass als Variable gesehen wird?

Manuel Schwarz schrieb:
> da sich die Portdefinition von algorithmischer
> zur RT-Ebene unterscheiden.
Wieso ist das so?

Und wo ist das Problem, den wrapper in 1min hinzuschreiben, wenn man die 
ports und deren Bedeutung kennt?


Leute, in der Zeit, in der ihr sowas in VHDL macht, löte ich das dreimal 
auf.

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


Lesenswert?

VHDL-Altling schrieb im Beitrag #4204513:
> Manuel Schwarz schrieb:
>> Zeitvariablen als Ausgang
> Eine Variable? Oder ein Signal, dass als Variable gesehen wird?
Das ist vermutlich nur ein kleines Terminologie-Problem eines 
Softwerkers...

> Leute, in der Zeit, in der ihr sowas in VHDL macht, löte ich das dreimal
> auf.
Manuel ist noch am Lernen...

Manuel Schwarz schrieb:
> einer Zeitvariablen als Ausgang.
Natürlich ist weder ein Signal und noch weniger eine Variable der 
Ausgang, sondern einfach ein Port...

: Bearbeitet durch Moderator
von Weltbester FPGA-Pongo (Gast)


Lesenswert?

Manuel Schwarz schrieb:
> ich bin dabei eine Stoppuhr in VHDL zu schreiben.
> Die Testbench für die algorithmische, der VHDL Code der algorithmischen
> und RT Ebene sind bereits fertig und verifiziert.


Niemand schreibt eine Stoppuhr in RTL-Ebene. Das ist seit 10 Jahren rum. 
Wir sind in 2015 angekommen.

von Manuel (Gast)


Lesenswert?

Servus!
Wir sind eine Ecke weiter gekommen. Das dauert alles ein wenig, da wir 
keine Profis und deswegen kommen manchmal auch vielleicht "dumme" 
Fragen.
Wer jedoch nicht liest und keine Fragen stellt, der macht auch  keinen 
Fortschritt.

In dem Sinne bedanke ich mich für die Hilfe!

Wir haben noch einen Fehler mit unserem Wrapper. Er funktioniert soweit 
schon, gibt jedoch eine Fehlermeldung mit "Block specification does not 
match arcitecture".
Die Arcitekturen und die Portmaps haben wir schon mehrmals überprüft.
Woran könnte der Fehler noch liegen?

Vielen Dank.

von J. B. Johnson (Gast)


Lesenswert?

Manuel schrieb:
> Woran könnte der Fehler noch liegen?

Dass du Fragen zu einem Sourcecode stellst, denn wir nicht sehen 
können...

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


Lesenswert?

Manuel schrieb:
> gibt jedoch eine Fehlermeldung mit "Block specification does not match
> arcitecture".
Welcher Teil welcher Toolchain meldet denn sowas?

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.