Hallo,
hab ein kleines Problem
Ich habe einen PID Regler in VHDL implementiert, ich möchte dass die P I 
D Anteile, die ich selbst festlege, auch gebrochenrationale Zahlen sein 
können. Ich habe dazu jeweils ein Register das eine Wortbreite von 28 
bit hat, dabei entsprechen die ersten 10 bit vor dem Komma und die 
letzten 18 bits nach dem komma. Die Auflösung des ADC DAC beträgt 14 
bit. Das heißt wenn meine Regeldifferenz entsteht will ich sie dann auf 
die interne Wortbreite erweitern(28 bit), um dann mit den eizelnen 
Anteilen zu multiplizieren.
Bsp.:
Meine PID Anteile sehen wiefolgt aus:
1  | intern_data_width        : integer := 28;
  | 
2  | 
  | 
3  | k_p: in std_logic_vector(intern_data_width-1 downto 0);
  | 
4  | k_i: in std_logic_vector(intern_data_width-1 downto 0);
  | 
5  | k_d: in std_logic_vector(intern_data_width-1 downto 0);
  | 
6  | 
  | 
7  | 
  | 
8  | k_p => "0000000001110000000000000000",
  | 
9  | k_i => "0000000000000000000000100000",
  | 
10  | k_d => "0000000000000000001000000000",
  | 
11  | 
  | 
12  | --Regeldifferenz
  | 
13  | 
  | 
14  | e => 000000100000000
  | 
15  | 
  | 
16  | --z.B e_mult_kp
  | 
also muss ich erst e auf die interne Wortbreite erweitern um dann mit 
den Anteilen multiplizeiren zu können. kann mir einer erklären wie man 
das erweitert, was man dabei berücksichtigen muss. Wäre für jede Hilfe 
Dankbar.
Danke.
MfG
A.