Wrapper VHDL

Gast #4204351
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
Gast #4204403
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?
Moderator (Firma: Titel) Persönliche Seite #4204425
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...
Gast #4204442
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
Gast #4204486
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.
Moderator (Firma: Titel) Persönliche Seite #4204487
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.
Gast #4204513
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.
Moderator (Firma: Titel) Persönliche Seite #4204526
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...
Gast #4208468
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.

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