mikrocontroller.net

Forum: FPGA, VHDL & Co. Multiplizierer


Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

der xc3s50 besitzt 4 Multiplizierer. Im Datenblatt XAPP467 steht dazu
allerhand drin. Aus den Timing Spezifikations (Seite 2) werde ich nicht
schlau. Wie viele Taktzyklen braucht den jetzt der Multiplizierer für
die Multiplikation von zwei 12 Bit Werten benötigt?

Ein DSP macht so was in einem Zyklus. Der FPGA auch?

Danke für Eure Unterstützung,
Sebastian

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So ich habe mal schnell einen 18x18 Multipliziere simuliert. Die
Simulation sagt:

Mit einer positiven Flanke ist die Multiplikation erledigt. Kaum zu
glauben. Toll...

Sebastian

Autor: FPGAküchle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hm, FPGA sind nicht uC, bei FPGA ist die taktfrequenz variabel,
entsheident ist die Durchlaufzeit, daraus folgt die max. taktfrequenz.
Also ein Multiplizier wird z.B. in 5 ns durchlaufen, also ein takt bei
200 MHz, zwei multipl in 10 ns, auch ein takt, aber bei 100 MHz.

bei FPGA's gibt man einen takt vor und die Tools verraten dann wie
hoch der takt gewählt werden kann.

Über den daumen gepeilt wurde ich einen Spartan3 Multiplizierer 100
-150 MhZ zutrauen.

Autor: TheMason (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@sebastian

also rein therotisch können die multiplizierer (also ein 18x18
multiplizierer) mit max 270MHz laufen. dann hast du aber noch nichts an
logik drum-herum (und die "zieht" den takt ja erst in den "keller")
ich habe mir mal für meine audio basteleien einen iir-filter gebaut.
der besteht aus statemachine, ein paar register, einen 32x32 bit
multiplizierer (wird von ise aus 4 18x18 multiplizierern
zusammengebaut) und einen 32bit-addierer. das ganze läuft nicht
schneller als 100MHz.
da ist wohl anscheinend finito.
hoffe ich konnte dir weiterhelfen

gruß
rene

Autor: Jürgen Schuhmacher (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Für einen Loop inkl kompletter IO (also auch Daten rein und raus ) sind
100MHz sogar recht viel. Die Frequenzbetrachtung ist aber nicht
unbedingt die der Punkt: Man sollte sich schon an der Laufzeit
orientieren und diese beim Aufbau komplexer verketterter Kombinatorik
beachten / optimieren.

Welchen Datendurchsatz man letzlich hat, hängt ja von der gesamten
Kette ab. Mit pipeline-Architekturen schafft man im günstigsten Fall
immer eine Dateneinspeisung je Takt. Da man nicht beliebig viel
Kombinatorik zwischen zwei synchrone Stufen einbauen kann, muss man die
rechenintensiven Zwischenschritte gfs kaskadieren, um eine möglichst
hohe Betriebsfrequenz des FPGA zu ermöglichen. Die Stufen führen zu
Latenzen und damit zu reduzierter Frequenz. Für die Signalbearbeitung
in Echtzeit ist dies meist von größerer Bedeutung: Selbst wenn ein FPGA
auf 50MHz läuft, führt eine Latenz von 50 Zyklen von in2out zu effektiv
einer Verzögerung, die einer Abtastfrequenz der Daten von 1MHz
entspricht. Sollen Daten ohne wesentliche Phasenverschiebung
bereitgestellt werden, so müsste man die Forderung erheben, daß die
Latenz im %-Bereich liegt. Da kommt man mit einem 20MHz-Takt beim FPGA
und weniger Latenz oft besser hin.

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.