mikrocontroller.net

Forum: FPGA, VHDL & Co. Multiplizieren


Autor: Smerk Smerk (smerk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: TheMason (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Henrik K. (henrik)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.