Hi John,
First off I wanted to say thanks for posting serial_div_uu on Opencores.com. It's very simple and well documented.
I think I may have found a simple (but fatal) bug/typo on line 176 where it says:
grand_divisor <= divisor_i << (N_PP+R_PP-S_PP-1);
I think it should say:
grand_divisor <= divisor_i << (M_PP+R_PP-S_PP-1);
Shouldn't the divisor be shifted by the size of the dividend? The way it is written the core only works when the dividend size is equal to the divisor size.
Thanks, -Joe Howard
Thanks to Joe Howard for diagnosing this - I wrote a simple testbench for the divider and was puzzled by the (seemingly wrong) results.
The change seems to fix the issue.
Henning Spruth
hadry