Frage zur Fehlerbehandlung Division

tmx-master
Sonntagsinformatiker
Sonntagsinformatiker
Beiträge: 253
Registriert: 25. Okt 2006 17:44

Frage zur Fehlerbehandlung Division

Beitrag von tmx-master »

Ich verstehe die Beschreibung zur Fehlerbehandlung des Overflow bei der Division nicht ganz. Ich beziehe mich mal auf das ergänzende Skript (Die Folie 3-64 ist ja völlig verwirrend und schon gar nicht tauglich).

Im ergänzenden Skript und im Verilog-Programm steht:
Bei der Division kann im Gegensatz zur Multiplikation sehr leicht ein Überlauf entstehen. Jedoch ist auch die Prüfung
dessen sehr einfach. Ist der Divisor n Stellen breit, so müssen die n höchstwertigen Stellen des Dividenden kleiner
sein als der Divisor, sonst ensteht ein Überlauf.
...
13 //Overflow falls Y in die n MSBs von X passt
14 assign ov = (X[2*n-1:n] >= Y);
...

Gegenbeispiel:
n=4
X=71 : 01000111
Y= 3 : 0011
Also hier ist 0100 >= 0011 und trotzdem kann man doch dividieren, oder? Wo ist hier ein Überlauf? Was übersehe ich hier?
Gruß TM

Steven
Kernelcompilierer
Kernelcompilierer
Beiträge: 425
Registriert: 2. Sep 2008 10:00
Wohnort: Frankfurt am Main

Re: Frage zur Fehlerbehandlung Division

Beitrag von Steven »

Das macht eigentlich nur dann Sinn, wenn du das Ergebnis wieder mit n Bits darstellen willst. 71 : 3 = 23 + Rest, also größer als 2^4 - 1 = 15 -> Überlauf.

Antworten

Zurück zu „Archiv“