Moin Moin
ich möchte eine Funktion programmieren. Modelsim gibt aber einen Fehler
aus, den ich nicht verstehe.
1 | entity SEB_AUDIO_VOL_CONTROL is
|
2 | port(
|
3 | WERT_L_16BIT_IN : in std_logic_vector(15 downto 0);
|
4 | WERT_R_16BIT_IN : in std_logic_vector(15 downto 0);
|
5 | ......
|
Nun soll die Funktion SCALING aufgerufen werden.
1 | begin
|
2 | .....
|
3 | if (MASTER = x"00") then
|
4 | case WERT_TT is
|
5 | when TT_0 => WERT_R_16BIT_OUT <= (others => '0');
|
6 | WERT_R_16BIT_OUT <= (others => '0');
|
7 | when TT_1 => WERT_R_16BIT_OUT <= SCALING(WERT_R_16BIT_IN);
|
8 | WERT_R_16BIT_OUT <= SCALING(WERT_R_16BIT_IN);
|
9 | ...
|
Die Funktion.
1 | -- Signal
|
2 | subtype word is std_logic_vector(15 downto 0);
|
3 |
|
4 | -- function
|
5 | function AUDIO_SCALING(VECTOR : word) return word is
|
6 | variable RESULT : word := x"0000";
|
7 | variable STEP_1 : integer := 0;
|
8 | begin
|
9 | RESULT <= VECTOR(15 downto 1) & '1';
|
10 | return RESULT;
|
11 | end function AUDIO_SCALING;
|
Nun bekomme ich aber wenn ich das mit Modelsim überprüfen möchte immer
folgenden Fehler:
Target of signal assignment is not a signal
Fehler verweist auf die Zeile mit *RESULT <= VECTOR(15 downto 1) & '1';*
in der Funktion.
Was habe ich verkehrt gemacht.
Gruß
Marco