EmbDev.net

Forum: FPGA, VHDL & Verilog Alternatiive to reduce the number of logic elements in division


von Vik (Guest)


Rate this post
useful
not useful
Hallo,

This division consumes a lot of logic elements which affects the timing. 
Since the denominator can vary according to the incoming value, I am not 
able to equate it to a 2**x value which reduces the logic elements.
1
timer_us := SYS_FREQ/(ctr_freq)-1; -- say (40000000/1000000 -1)
Any suggestions?

von Duke Scarring (Guest)


Rate this post
useful
not useful
How often/how fast need this division take place?
Maybe you could switch to a state machine, which control a counter, a 
subtraction and a comparator...

DUke

von Lothar M. (Company: Titel) (lkmiller) (Moderator)


Rate this post
useful
not useful
Vik wrote:
> This division consumes a lot of logic elements which affects the timing.
A pure combinatorial division is extremely demanding.
So usually a division in hardware is done in several steps (like a 
division by hand on a sheet of paper: each digit is one step of 
calculation). Therefore such a division takes several clock cycles.
Have a look there (try Google translator, its German): 
http://www.lothar-miller.de/s9y/archives/29-Division-in-VHDL.html

: Edited by Moderator
Please log in before posting. Registration is free and takes only a minute.
Existing account
Do you have a Google/GoogleMail account? No registration required!
Log in with Google account
No account? Register here.