Attached ModelSim VHDL design of Generic Counter with Clocked Rise OutPut. Regards Alex
Alexander S. wrote: > design of Generic Counter with Clocked Rise OutPut. All in all I see a very laborious way to generate a clock enable. Whats the advantage prior to a simple counter? One word to this:
1 | GENERIC (DivideRange : integer); |
2 | :
|
3 | signal ClockDivider, DividerFactor : integer range 0 to DivideRange; |
4 | :
|
5 | begin
|
6 | :
|
7 | DividerFactor <= DivideRange - 1; |
8 | :
|
9 | ClockDivider <= ClockDivider + 1 mod DividerFactor; |
As "mod" implements a divider, this design will lead to extensive logic with some values for "DivideRange". Because only values in (2**x+1) will be easily synthesizable.
Lothar M. wrote: > As "mod" implements a divider, this design will lead to extensive logic > with some values for "DivideRange". Because only values in (2**x+1) will > be easily synthesizable. ----------- https://www.ics.uci.edu/~jmoorkan/vhdlref/vhdl_golden_reference_guide.pdf The VHDL Golden Reference Guide Page 80 : Operator Synthesis The operators / mod ... ** are not synthesizable Regards Alex.
:
Edited by User
Alexander S. wrote: > The operators / mod ... ** are not synthesizable That's not true, at least not in all cases. Nor it is limited to trivial cases (eg. 2^n). I used it a few times. The statement may be correct in 1995, but not nowadays. greeting
Alexander S. wrote: > The operators / mod ... ** are not synthesizable Of course x/(2**n) is synthesizable, because it's only some rewiring. E.g. for x/4 just the lowest 2 bits are skipped. And when a division is synthesizable, then "mod" is also, because that's only to ignore the upper bits.
> Alexander S. wrote: >> The operators / mod ... ** are not synthesizable So, synthesis tools is ignore mod statement and really no problem in the hardware ? Regards Alex.
:
Edited by User
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
Log in with Google account
No account? Register here.