Let's say you have a signal defined as follows:
signal test_count : integer range 0 to 11;
Now if test_count ever goes below 0 or above 11 in simulation it will cause the simulation to crash immediately. What I'm wondering is what happens when this is synthesized? What happens if test_count is incremented past 11 or decremented below 0? Will the synthesis tools force the signal to wrap around? Notice that I chose an example that does not wrap back to 0000 easily.