Gast
#3157060
Ich verwende in einem uraltdesign, das nicht mit numeric arbeitet, eine Multiplikation auf der Basis von e <= std_logic_vector (signed (x) * sigend(y)); und hadere ein wenig mit den Bitbreiten, bzw ich bin mir unklar, wie und wo ich das Ergebnis absägen muss. Z.B. ergibt ein 10 Bit Wert als signed maximal (511 x 511), was in einen 18 bit Vektor passt, während es "brutto" ja 20 Bit sind. Wie geht man da vor, wenn sich die Rechung durch etliche Zwischenrechungen durchzieht? Das maximale-Ergebnis zu simulieren ist schwer, weil ich diesen Fall nicht sicher einstellen kann, da zuviel abgezogen und hin und her gerechnet wird. Fehlerrechung?