Forum: FPGA, VHDL & Co. std_logic in character umwandeln?


von Anfänger (Gast)


Lesenswert?

Hallo,

ich möchte in der testbench einen std_logic_vector (value) so ausgeben, 
wie er tatsächlich belegt ist, d.h. ich will ihn nicht nach bit_vector 
konvertieren.

Habe es mit
1
c <= character'val(std_logic'pos(value(i));
versucht, aber damit erzeuge ich mir nur für jedes Zeichen ein Quadrat 
:(

1
# start test-run with ch-A: 254, ch-B: 171, FRC: 0
2
# current sr: 

Kann mir jemand sagen, wo mein (Denk-)Fehler liegt, bzw. wie ich es 
richtig machen kann?

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Naja du wandelst damit wohl den Inhalt in ein ASCII Zeichen um, und die 
Zeichen mit dem Wert < 31 sind meist nicht darstellbar.

Wenn du Z - X 0 1 H L etc... haben willst mußt du das vermutlich mit 
einem CASE machen.

von Anfänger (Gast)


Lesenswert?

Danke Läubi!

 - da muss ich mir doch ganz fest gegen die Stirne schlachen!
Hatte vergessen, dass die Aufzählungstypen ja eher mit enums zu 
vergleichen sind, da spielt es keine Rolle, dass da ein 'U' oder ein 'X' 
steht :(

Kaum macht man es richtig, klappt es auch:
1
# start test-run with ch-A: 254, ch-B: 171, FRC: 0
2
# current sr: 1101010100000000001111111000000U

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.