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
Gast
#1342080
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?
Gast
#1342189
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.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.