Forum: FPGA, VHDL & Co. TypConversionsproblem INTEGER -> STD_LOGIC


von VHDL Freak (Gast)


Lesenswert?

Ich möchte den Integer "val_int" als SLV ausgeben und benutze die 
Conversion OUT <= std_logic_vector(to_signed(val_int,16));

Modelsim kommt aber mit folgendem Fehler hoch:
Type conversion (to ieee.std_logic_1164.std_logic_vector) conflicts with 
expected type ieee.std_logic_1164.std_logic

Was ist da das Problem?

Die Deklaration lautete:
SIGNAL  val_int    : INTEGER RANGE 0 TO 2047 := 0;

Benutzt wird "numeric".

Ich habe mich dabei an die Vorgaben des SynthWorks-Papiers gehalten. Die 
Verwendung einer anderen Breite, to "unsigend" bringt auch nichts.

Beispiel:

OUT <= std_logic_vector(to_unsigned(sin_val_int,12));

Die Vorbelegung des range oben hat auch keine Wirkung.








von Andreas P. (andreas_p)


Lesenswert?

versuche es doch mal mir dieser Funktion

use IEEE.std_logic_arith.all;

OUT <= CONV_STD_LOGIC_VECTOR(sin_val_int,12));


gruß

Andreas

von Klaus F. (kfalser)


Lesenswert?

Wie ist OUT definiert? Ich denke es liegt eher an der Zuweisung vom 
Rechenergebnis an OUT.

Klaus

von Johnsn (Gast)


Lesenswert?

Versuch mal den Datentyp "natural" zu verwenden und dann mit 
"to_unsigned" zu konvertieren.

OUT wird nach der Meldung wahrscheinlich nur als Bit definiert sein und 
nicht als Vektor.

von VHDL Freak (Gast)


Lesenswert?

>OUT wird nach der Meldung wahrscheinlich nur als Bit definiert sein und
nicht als Vektor.

Oh, Mann - genau das war es! wie blind kann man sein ...

Danke.

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.