Forum: FPGA, VHDL & Co. Spartan 3 Multiplier


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Phillip W. (Gast)


Lesenswert?

Mein spartan 3 hat 16 18x18 multiplier. Weiß jemand was die toolchain 
macht wenn man mal mehr davon braucht? Ich nutze die nicht direkt die 
multiplier HDL Blöcke sondern mache das recht abstrakt. Synthetisiert 
das dann nicht mehr oder baut die toolchain die multiplier dann aus 
Logik zusammen?

:
von Karl-Heinz (Gast)


Lesenswert?

Ist zwar nicht Xilinx, aber mein Quartus erzeugt dann Multiplier aus 
LUTs.
Was auch gut ist, hat doch der Methusalem Cyclone I gar kein HW-Mult.

Das duerfte Xilinx sicherlich auch so tun.
Bei Altera sind die auch nicht nennenswert langsamer als die
dedizierte HW.

: Wiederhergestellt durch Admin
von Markus Wagner (Gast)


Lesenswert?

Ja, die Synthese addiert LUTs, um den Multiplizierer zu erweitern. Das 
geht bis zu einem bestimmten Punkt, ab dann nimmt er einen zweiten 
Multiplizierer. Manchmal sind auch Kombinationen zu finden.

Bei 20x20 Bit könnten es z.B. sein:

X = (A18 + B2) * (C18 + D2)

= A18 * C18 (Mul)
+ B2 * C18 (Mul)
+ A18 * D2 (Mul)
+ B2 * D2  (Comb)

: Wiederhergestellt durch Admin
von Jürgen S. (engineer) Benutzerseite


Lesenswert?

Markus W. schrieb:
> + B2 * C18 (Mul)
> + A18 * D2 (Mul)

Wenn der eine Multiplikator nur aus 2 Bits besteht, verkommt das 
eigentlich zu einer Addition mit (C18 & '0') * D(1) + C18 * D(0). Einen 
MUL braucht man da nicht. Höchstens für Geschwindigkeit, um das timing 
zu packen.

Dieser Beitrag kann nur von angemeldeten Benutzern beantwortet werden. 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
Noch kein Account? Hier anmelden.