Forum: FPGA, VHDL & Co. Division in Hardware


von Matthias L. (mcl024)


Lesenswert?

Hallo,

ich benutze den Cyclone III von Altera mit Quartus II als 
Entwicklungsumgebung und schreibe in Verilog. Nur mal so als Überblick.

Meine Frage ist:
Was passiert wenn ich zwei 32 Bit Register dividieren möchte und in 
Verliog schreibe. assign erg = a / b;

Nach dem compilieren baut mir Quartus ein Module mit über 1000 LEs.

Es gibt von Altera ja auch dieses Cookbook wo ein fertiger divider drin 
ist und der nach einem bestimmten Algorithmus läuft.

Wo ist da der Unterschied zum vorherigen dividieren?

Gruss mcl024

von der mechatroniker (Gast)


Lesenswert?

Ich kenne das Cookbook nicht, vermute aber mal sehr stark, dass dieser 
"fertige Dividierer" mehr als einen Taktzyklus für eine Division 
benötigt.

von Matthias L. (mcl024)


Lesenswert?

Ja das ist richtig der Dividierer im Cookbook benötigt min. so viele 
Takte wie groß der Zähler ist. Also bei einem 32-Bit Wert auch 32 Takte.

Benötigt den der Divider der gebaut wird wenn ich erg = b/c; schreibe 
nur einen Takt? Damit hätten wir ja schonmal einen Unterschied. Wird der 
nur aus Kombinatorik gebaut?

von D. I. (Gast)


Lesenswert?

Ein Dividierer kann nur als Schaltwerk (und nicht als Schaltnetz) 
realisiert werden und Division ist nunmal so aufwändig dass es 1. 
mehrere Takte braucht und 2. massig Ressourcen frisst.

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.