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?
:
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
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
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.
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.