Gast
#3106392
Hi möchte bespielsweise 2 16Bit Werte (in std_logic_vector) also signal sig1, sig2 : std_logic_vector (15 downto 0); miteinander addieren und ebenfalls als 16Bit-Wert ausgeben. was ich machen muss ist klar: Ich benötige eine Ergebnis-Variable (hier ein signal natürlich) mit 16 Bit Breite! also signal sig_result : std_logic_vector (16 downto 0); mein Versuch die Addition durchzuführen war bisher: signal sig_res_int : integer; dann sig_res_int <= to_integer(signed(sig1)) + to_integer(signed(sig2)); dann sig_res <= std_logic_vector(to_signed(sig_res_int)); leider bekomme ich auf diese Weise immmer Überläufe in meinem Ergebnis! Kann ich nicht einfach 2 16 Bit Signale addieren, als 17Bit Signal speicheren und dann einfach nur die oberen Bits lesen und als 16 Bit Ergebnis speichern ?