avimit said:No, I dont think so. Its always better to use 'std_logic_vector' type in counters, because
1. If you forget to put a 'range' on counter, you will have unwanted extra sized counter.
2. an integer is initialized to 0, where as a std_logic_vector is initialized to Xs. So if you forget to put a reset logic in your counter variable and it is of 'integer' type, it will show a very good green 0 value in the waveform in RTL sims. However when you do a netlist sim, you will see all Xs. So I wont recommend the use of integer in counters.
This is also one of the resons why you won't use 'boolean' type instead of 'std_logic' type. Again 'boolean' type does not have a X value.
avimit said:1. Mod function is not synthesizeable(unless its a mod of N, where N = 2^n).
2. You can eaisly determine 'mod' in a std_logic_vector type where above condition is satisfied, just by dropping 'n' bits out of an 'std_logic_vector'
3. In worst case if you have to use a mod, then just use conv_integer, but I wonder why would anybody do that?
Any other strong reason to support your claim?