Ich möchte einen std_logic_vector innerhalb von case mit Werten belegen:
wenn Vektor = 0..63 dann
Fall "0" ->  Output = 3
Fall "0" ->  Output = 5
Fall "63" ->  Output = 8
Der Vektor ist ein "14 downto 0" und die Zahlen kommen aus MATLAB.
Egal wie ich es kontruiere, Xilinx will nicht.
Normalerweise verwende ich z.B. sowas:
| 1 | constant XYZ : std_logic_vector (10 downto 0) := STD_LOGIC_VECTOR(to_unsigned( 456,11));
 | 
Das hat aber hier im case nicht geklappt. Hilfsweise benutze ich oft 
auch sowas:
| 1 | value_sx <= STD_LOGIC_VECTOR(unsigned(empty15) + 201);
 | 
... wobei ich oben "empty15" als leeren Vektor mit 15 Bit deklariere. 
Damit kriegt die Synthese die richtige Länge mit und das klappt.
Diese Zeile synthetisiert nun in meinem Programm ebenfalls, jedoch nur 
ausserhalb des case Konstruktes! Sie funktioniert innerhalb der case 
Anweisung nicht!
| 1 | case  unsigned (input)  is
 | 
| 2 |    when  0  => value_sx <= STD_LOGIC_VECTOR(unsigned(empty15) + 201);
 | 
| 3 |    when  1  => value_sx <= STD_LOGIC_VECTOR(unsigned(empty15) + 562);
 | 
WARUM GEHT DAS NICHT????
Andere Frage: wie sollte eine VHDL Zuweisung einfacher zu machen sein?
Ich verwende die Bibliotheken:
   use ieee.std_logic_1164.all;
   use ieee.std_logic_unsigned.all;
   use ieee.numeric_std.all;
Wie gesagt geht es aus funktioneller Sicht nur darum, in insgesamt 64 
Fällen (input Vektor) einen Ausgangsvektor (14 downto 0) eine von 64 
Stützstellen zuzuweisen. Die Werte habe ich aus MATLAB als *.txt Liste.
Mit CONV_STD_LOGIC VECTOR  etc habe ich es nicht hinbekommen.
(p.S. ich MUSS diese Bibs nehmen)