The code is complete, could you please verify if this is correct?
mux:PROCESS(fftexp,fftvalid)
-- VARIABLE sel : STD_LOGIC_VECTOR(1 DOWNTO 0);
BEGIN
-- sel := s1 & s0; -- concatenate s1 and s0
if (fftvalid = '1') then
CASE fftexp IS
WHEN "110011" =>
full_range_real_out(26 downto 13) <= fftreal ; --sll 13; -- -13
full_range_real_out(12 downto 0) <= (OTHERS => '0');
full_range_imag_out(26 downto 13) <= fftimag; --sll 13; -- -13
full_range_imag_out(12 downto 0) <= (OTHERS => '0'); --sll 13; -- -13
WHEN "110100" =>
full_range_real_out(26)<=fftreal(13);
full_range_real_out(25 downto 12) <= fftreal; --sll 12; -- -12
full_range_real_out(11 downto 0) <= (OTHERS => '0');
full_range_imag_out(26)<=fftimag(13);
full_range_imag_out(25 downto 12) <= fftimag;-- sll 12; -- -12
full_range_imag_out(11 downto 0) <= (OTHERS => '0');
WHEN "110101" =>
full_range_real_out(26 downto 25) <= fftreal(13) & fftreal(13);
full_range_real_out(24 downto 11) <= fftreal;-- sll 11; -- -11
full_range_real_out(10 downto 0) <= (OTHERS => '0');
full_range_imag_out(26 downto 25) <=fftimag(13) & fftimag(13);
full_range_imag_out(24 downto 11) <= fftimag; --sll 11; -- -11
full_range_imag_out(10 downto 0) <= (OTHERS => '0');
WHEN "110110" =>
full_range_real_out(26 downto 24) <= fftreal(13) & fftreal(13)& fftreal(13);
full_range_real_out(23 downto 10) <= fftreal;-- sll 10; -- -10
full_range_real_out(9 downto 0) <= (OTHERS => '0');
full_range_imag_out(26 downto 24) <=fftimag(13) & fftimag(13)& fftimag(13);
full_range_imag_out(23 downto 10) <= fftimag;-- sll 10; -- -10
full_range_imag_out(9 downto 0) <= (OTHERS => '0');
WHEN "110111" =>
full_range_real_out(26 downto 23) <= fftreal(13) & fftreal(13)& fftreal(13)& fftreal(13);
full_range_real_out(22 downto 9) <= fftreal; --sll 9; -- -9
full_range_real_out(8 downto 0) <= (OTHERS => '0');
full_range_imag_out(26 downto 23) <=fftimag(13) & fftimag(13)& fftimag(13)& fftimag(13);
full_range_imag_out(22 downto 9) <= fftimag; -- sll 9; -- -9
full_range_imag_out(8 downto 0) <= (OTHERS => '0');
WHEN "111000" =>
full_range_real_out(26 downto 22) <= fftreal(13) & fftreal(13)& fftreal(13)& fftreal(13)& fftreal(13);
full_range_real_out(21 downto 8) <= fftreal; --sll 8; -- -8
full_range_real_out(7 downto 0) <= (OTHERS => '0');
full_range_imag_out(26 downto 22) <=fftimag(13) & fftimag(13)& fftimag(13)& fftimag(13)& fftimag(13);
full_range_imag_out(21 downto 8) <= fftimag; --sll 8; -- -8
full_range_imag_out(7 downto 0) <= (OTHERS => '0');
WHEN "111001" =>
full_range_real_out(26 downto 21) <= fftreal(13) & fftreal(13)& fftreal(13)& fftreal(13)& fftreal(13)& fftreal(13);
full_range_real_out(20 downto 7) <= fftreal; --sll 7; -- -7
full_range_real_out(6 downto 0) <= (OTHERS => '0');
full_range_imag_out(26 downto 21) <=fftimag(13) & fftimag(13)& fftimag(13)& fftimag(13)& fftimag(13)& fftimag(13);
full_range_imag_out (20 downto 7)<= fftimag; --sll 7; -- -7
full_range_imag_out(6 downto 0) <= (OTHERS => '0');
WHEN "111010" =>
full_range_real_out(26 downto 20) <= fftreal(13) & fftreal(13)& fftreal(13)& fftreal(13)& fftreal(13)& fftreal(13)& fftreal(13);
full_range_real_out(19 downto 6) <= fftreal; --sll 6; -- -6
full_range_real_out(5 downto 0) <= (OTHERS => '0');
full_range_imag_out(26 downto 20) <=fftimag(13) & fftimag(13)& fftimag(13)& fftimag(13)& fftimag(13)& fftimag(13)& fftimag(13);
full_range_imag_out (19 downto 6) <= fftimag; --sll 6; -- -6
full_range_imag_out(5 downto 0) <= (OTHERS => '0');
WHEN "111011" =>
full_range_real_out(26 downto 19) <= fftreal(13) & fftreal(13)& fftreal(13)& fftreal(13)& fftreal(13)& fftreal(13)& fftreal(13)& fftreal(13);
full_range_real_out(18 downto 5) <= fftreal; --sll 5; -- -5
full_range_real_out(4 downto 0) <= (OTHERS => '0');
full_range_imag_out(26 downto 19) <=fftimag(13) & fftimag(13)& fftimag(13)& fftimag(13)& fftimag(13)& fftimag(13)& fftimag(13)& fftimag(13);
full_range_imag_out(18 downto 5) <= fftimag; --sll 5; -- -5
full_range_imag_out(4 downto 0) <= (OTHERS => '0');
WHEN "111100" =>
full_range_real_out(26 downto 18) <= fftreal(13) & fftreal(13)& fftreal(13)& fftreal(13)& fftreal(13)& fftreal(13)& fftreal(13)& fftreal(13)& fftreal(13);
full_range_real_out(17 downto 4) <= fftreal; --sll 4 -- -4
full_range_real_out(3 downto 0) <= (OTHERS => '0');
full_range_imag_out(26 downto 18) <=fftimag(13) & fftimag(13)& fftimag(13)& fftimag(13)& fftimag(13)& fftimag(13)& fftimag(13)& fftimag(13)& fftimag(13);
full_range_imag_out(17 downto 4) <= fftimag; --sll 4; -- -4
full_range_imag_out(3 downto 0) <= (OTHERS => '0');
WHEN "111101" =>
full_range_real_out(26 downto 17) <= fftreal(13) & fftreal(13)& fftreal(13)& fftreal(13)& fftreal(13)& fftreal(13)& fftreal(13)& fftreal(13)& fftreal(13)& fftreal(13);
full_range_real_out(16 downto 3) <= fftreal; --sll 3; -- -3
full_range_real_out(2 downto 0) <= (OTHERS => '0');
full_range_imag_out(26 downto 17) <=fftimag(13) & fftimag(13)& fftimag(13)& fftimag(13)& fftimag(13)& fftimag(13)& fftimag(13)& fftimag(13)& fftimag(13)& fftimag(13);
full_range_imag_out (16 downto 3)<= fftimag; --sll 3; -- -3
full_range_imag_out(3 downto 0) <= (OTHERS => '0');
WHEN OTHERS =>
END CASE;
end if;
END PROCESS mux;