fixed point divider help

Hello,

I have a large number division to perform and need to keep 2 to 3 digits of accuracy beyond the decimal point. The result will always be some fraction number between 1.000 and 192.000.

For example a typical set of division will be:

40189861/1947555 = 20.6360595721302 (need 20.636)

19399957/1948400 = 71.5458617327038 (need 71.546)

238466182/1947387 = 122.454438691436 (need 122.454)

337495643/1946746 = 173.363984310228 (need 173.364)

I have found in Simulink that this requires 31 bit for the numerator and 24 bits for the denominator. I also found that to keep the answer accurate to about 3 places requires a 46 bit number consisting of 8 bits for the integer portion and the remaining 38 bits to keep the 3 decimal place fractional portion. I tried using the pipelined divider core from Xilinx Core Generator but that only gives me an 8 bit integer with at most 32 bit fractional remainder. That does not cut it. What can I do? Any help is greatly appreciated.

Salman

"Even a smile is charity."

Reply to
Salman Sheikh
Loading thread data ...

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.