Paul P. schrieb:
> Wie macht man das richtig?
1 | In the "math_real" package you will find "ceil" and "floor" functions
|
2 | wichh take in REAL numbers and return real numbers and return a REAL number
|
Du verwendest aber zwei NATURAL Integer. Das sind keine REAL Zahlen, und
zudem solltest du auch eine REAL Division bekanntgeben, wenn du zwei
REAL Zahlen dividieren willst. Denn es mach absolut keinen Sinn, zwei
Integerzahlen zu dividieren, und das Ergebnis nach "oben" zu runden,
weil das Ergebnis einer Integer-Division sowieso schon auf ,0000
endet...
Sieh dir mal an, wie ich da rumcaste und konvertiere:
http://www.lothar-miller.de/s9y/archives/72-Breite-eines-Vektors-berechnen-log2.html
Kurz: in VHDL geht eine Typumwandlung nicht wie bei C "so irgendwie
implizit halbautomatisch", sondern du musst dem Synthesizer genau den
Typ angeben oder umwandeln.
Und falls dein Google nicht richtig funktioniert, hier der erste Treffer
bei der Suche nach "math_real.ceil":
http://objectmix.com/vhdl/190883-ceil-floor.html