Cómo representar un entero mayor que un entero

¿Hay alguna forma de usar tipos predefinidos de STD_LOGIC_1164 o STD_NUMERIC para representar un número entero de 0 a 2 ^ 32-1? (considerando los rangos de tipos enteros predeterminados de -2 ^ 31-1 a 2 ^ 31-1)

Necesito implementar un contador de 32 bits y estaba buscando alguna forma de guardar código usando un tipo de entero en lugar de std_logic_vector. ¿Algún patrón de diseño para esto?

O, mejor preguntado: ¿Cuál es la mejor manera de declarar un entero de 32 bits (sin signo) que admita las operaciones> / <, =, + - /?

Tahnks por adelantado

Edit1: una opción que encontré fue declarar una señal como std_logic_vector (31 downto 0), y realizar conversiones al hacer comparaciones u + - operaciones .. ex: counter <= counter + std_logic_vector (sin signo (valor) + 1) Sin embargo, todavía no he encontrado una manera de hacer la división (en caso de que, por ejemplo, se necesite 1/4 del valor del contador)

Respuestas a la pregunta(2)

Su respuesta a la pregunta