diff --git a/libraries/dsp/st/src/vhdl/st_calc.vhd b/libraries/dsp/st/src/vhdl/st_calc.vhd
index d2f51499b5877384f87259ef07bdf20399f5a021..e3a884863f31c36487a48dd0a0bd91edd305fd22 100644
--- a/libraries/dsp/st/src/vhdl/st_calc.vhd
+++ b/libraries/dsp/st/src/vhdl/st_calc.vhd
@@ -82,6 +82,8 @@ END;
 
 ARCHITECTURE str OF st_calc IS
 
+  CONSTANT c_complex_mult_variant  : STRING := sel_a_b(g_in_dat_w <= c_dsp_mult_w, "IP", "RTL");
+
   CONSTANT c_mux_w           : NATURAL := true_log2(g_nof_mux);
   CONSTANT c_adr_w           : NATURAL := c_mux_w+g_out_adr_w;   -- = = ceil_log2(g_nof_mux*g_nof_stat)
   
@@ -193,7 +195,7 @@ BEGIN
   mul: ENTITY common_mult_lib.common_complex_mult
   GENERIC MAP (
     g_technology       => g_technology,
-    g_variant          => "IP",
+    g_variant          => c_complex_mult_variant,
     g_in_a_w           => in_ar'LENGTH,
     g_in_b_w           => in_br'LENGTH,
     g_out_p_w          => mult_re'LENGTH,