Hallo! Ich habe gelesen, dass std_logic_vector als unsigned gehandhabt wird (z.B. bei vec1+vec2), sofern USE ieee.std_logic_unsigned.all; eingebunden wird. Das ist bei mir so auch der Fall, eine Addition von
1 | signal vec1 : std_logic_vector (3 downto 0) := "0110"; |
2 | signal vec2 : std_logic_vector (3 downto 0) := "0011"; |
3 | signal vec3 : std_logic_vector (3 downto 0) := "0110"; |
Ergibt bei mir 1111, also 15. Kommentiere ich die Verwendung von "USE ieee.std_logic_unsigned.all;" aus, so wird mir gesagt das der Operator + nicht definiert ist. Soweit auch korrekt. Binde ich nun USE ieee.std_logic_signed.all; (SIGNED) ein, erhalte ich weiterhin 15 als Ergebnis. Wie wird jetzt mit den Vektoren gerechnet? Ich hätte erwartet,dass der Inhalt der Vektoren als Zweikomplement interpretiert wird. Ich hab da gerade echt ein Brett vor dem Kopf.