mikrocontroller.net

Forum: FPGA, VHDL & Co. ISE Testbench Impulsgenerator


Autor: Dominic B. (domi505)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi,

nach stundenlager Fehlersuche und googlen finde ich einfach keine 
Lösung. Bei der Simulation zeigt er die richtigen Werte für den Vektor E 
an, jedoch sind die des Ausgangsvektors die Werte der when others (< 
when others => A <= x"E"; >) Zuweisung. Für einen Tipp wäre ich sehr 
Dankbar...

Grüße
dominic

Autor: Nephilim (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wie gut das nieman weiss wovon du überhaupt redest. nen bissl quelltext 
und vielleicht nen screenshot vonner simulation oder so was den fehler 
ein wenig näher dokumentiert wäre schön.

Autor: Dominic B. (domi505)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
ja natürlich, der Anhang, ich wusste das ich was vergessen habe^^

Autor: Nephilim (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
dein modul, welches du testen möchtest hat dummerweise keinen eingang. 
also gibst die dein "E" signal aus der testbench auch nicht bis zu 
deinem impulsgenerator durch. da das interne signal "E" im 
impulsgenerator nur angelegt aber nicht initialisiert wird hat es keinen 
der werte, die in der state machine abgefragt werden. deswegen springt 
sie immer in den OTHERS-Zweig.

bei in die entity mal dein eingang mit ein und verbinde alles, dann 
könnte vielleicht auch was passieren. ;)

Autor: Dominic B. (domi505)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
ah, das klingt alles sehr logisch :) , vielen Dank! Habe das gewünschte 
Ergebnis rausbekommen. Gibt es jedoch noch eine bessere Lsg., oder war 
das die Lsg. im Sinne deiner Antwort?
Gibt es eventuell ein gutes Tutorial, wo die Siumulation etwas genauer 
erklärt (als in meine Buch: VHDL-Synthese von Reichard)?

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So etwas wie globale Variablen in C gibt es in VHDL nicht.

Die Entity ist die Schnittstelle in ein VHDL-Modul. Ausschliesslich über 
diese Signale kommuniziert deine Komponente mit der Aussenwelt. Bei dir 
soll im IMPULSGEN abhängig von E etwas zurückgegeben werden. Der 
Rück-Weg mit A geht über die Entity. Aber der Hin-Weg von E ist 
unvollständig: du definierst zwr ein E in der Testbench, du verwendest 
ein E im IMPULSGEN, aber die beiden sind nicht miteinander verbunden.

Das hast du offenbar auch selber gemerkt und ein lokales Signal E im 
IMPULSGEN definiert. Richtig wäre aber ein
[vhld]
  port (
       E : in std_logic_vector(2 downto 0);
       A : out std_logic_vector...
[/vhdl]
mit der entsprechenden Verdrahtung über die port map.

Autor: Dominic B. (domi505)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank für die sehr schnellen Antworten!!!

Autor: Duke Scarring (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Dominic B.:

Vielleicht schaust Du Dir diesen Wiki-Artikel mal an:
VHDL Testbench

Duke

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.