Gast
#483494
Hallo Leute, ich hab folgendes Problem a : 16 bit lang, b: 16 bit lang, y: 33 bit lang diese Variablen werden im folgenden Ausdruck verwendet for i in 0 to 5 loop y := y + b * a end loop; Das Problem sind die Überträge, wenn man eine Variable zu sich selbst addiert. Ich habe mir folgendes überlegt: for i in 0 to 5 loop y := resize(y(32 downto 1),33)+resize(b*a),33); end loop; Habe ich damit alle Überträge beachtet? Ist das überhaupt richtig? Ist der Fehler durch das Abschneiden des letzten Bits zu groß? Gibt es eine elegantere Lösung? Folgende Bedingung noch: Die Bitlänge der Summanden muss laut Entwicklungsungsumgebung gleich der Länge der Summe sein. Besten Dank, ich hoffe ich habe mich verständlich ausgedrückt.