EmbDev.net

Forum: FPGA, VHDL & Verilog VHDL Generic Counter with Clocked Rise OutPut


von Alexander S. (Company: Home) (alex_isr)


Attached files:

Rate this post
useful
not useful
Attached ModelSim VHDL design of Generic Counter with Clocked Rise 
OutPut.

 Regards Alex

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


Rate this post
useful
not useful
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.

von Alexander S. (Company: Home) (alex_isr)


Rate this post
useful
not useful
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
von daniel__m (Guest)


Rate this post
useful
not useful
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

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


Rate this post
useful
not useful
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.

von Alexander S. (Company: Home) (alex_isr)


Rate this post
useful
not useful
> 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
No account? Register here.