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
Ich kenne das Cookbook nicht, vermute aber mal sehr stark, dass dieser "fertige Dividierer" mehr als einen Taktzyklus für eine Division benötigt.
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?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.