Hi Bin anfänger in VHDL Hab folgendes problem ich soll 14 Bit mit werten von 0.1 bis 1 multipliezieren. der multiplikator soll sich immer nach 100 werten ändern. mein problem ist eigentlich die multiplikation in vhdl hab die 14 bit in integer gewandelt und der multiplikator ist in real aber so kannn ich nicht multiplizieren. (ise bringt fehler) dann wollte ich mit integer werten multipliziern z.B anstatt mit 0.1 mit 100 und danch mit 1000 dividieren aber das klappt irgendwie auch nicht so richtig hat mir jemand eine idee smerk
Hallo smerk, es ist einfacher wenn du deinen multiplikator mit einem faktor einer 2'er potenz beaufschlagst, dann multiplizierst und durch die selbe 2'er potenz dividierst (einfach die ersten x bits wegfallen lassen, bzw. shiften). Beispiel : Faktor (real) = 0.1 Potenz = 256 (2 ^ 8) Faktor (int) = 256 * 0.1 ca 26. Wert mit 26 multiplizieren und durch 256 teilen (ersten 8 bits wegfallen lassen) Je nachdem welche potenz du wählst hast du einen gewissen fehler (abhängig vom multiplikator). Der vorteil ist, das du keine division brauchst, und dein design auch noch sehr schnell wird. Gruß Rene
Soll der Multiplizierer aus rein kombinatorischer Logik bestehen, oder darf der ein paar Takte brauchen, ehe er fertig ist? Mit komb. Logik braucht das bestimmt enorm viel Platz. Gruss Henrik
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.