Chargement…
Chargement…
Le circuit applique une division binaire restauratrice. Il traite un bit du dividende par cycle au lieu d'utiliser un grand diviseur combinatoire.
Comportement
i_start est acceptée uniquement lorsque o_ready='1'.i_dividend et i_divisor sont mémorisés au démarrage.o_done pulse pendant un cycle lorsque o_quotient et o_remainder sont prêts.o_divide_by_zero et o_done pulsent sans lancer les huit itérations. Le quotient vaut 0 et le reste reprend le dividende.À chaque itération :
1. décaler le reste partiel et y faire entrer le bit de poids fort du dividende ;
2. comparer ce reste étendu au diviseur ;
3. soustraire le diviseur si la comparaison est positive ;
4. décaler le quotient et y insérer le bit obtenu ;
5. décaler le dividende vers le bit suivant.
Après huit itérations, le quotient et le reste doivent respecter dividend = quotient * divisor + remainder, avec remainder < divisor.
i_clki_reseti_starti_dividendi_divisoro_readyo_doneo_divide_by_zeroo_quotiento_remainder