Chargement…
Chargement…
Utilisez un reste partiel signé A sur 9 bits, un quotient Q sur 8 bits et le diviseur positif M sur 9 bits. À chaque étape, décalez A,Q à gauche. Si l'ancien A était positif ou nul, soustrayez M; sinon ajoutez M. Écrivez 1 dans Q0 si le nouveau reste est positif ou nul, sinon 0. Après huit étapes, ajoutez M une dernière fois si le reste est négatif.
Si i_divisor=0 au départ, ne lancez pas les huit étapes. Produisez immédiatement une impulsion o_done, activez o_div_zero, retournez un quotient nul et recopiez le dividende dans le reste. Dans les autres cas, o_div_zero reste nul.
Le testbench couvre divisions exactes et non exactes, un dividende inférieur au diviseur, les valeurs zéro et 255, ainsi que la politique de division par zéro.