descomponer entero en digitos

hola a todos, estoy haciendo un proyecto que lleva una FPGA. Entre otras cosas, tengo que adquirir una señal de un encoder, de esta señal obtengo el tiempo entre pulsos, que divido entre una constante, y me da un entero entre 0 y 1500. Este número luego he de mostrarlo por un lcd, por lo que necesitaría descomponer el número en los digitos, por ejemplo, si tengo 1234 rpm, me gustaría obtener 4 bytes que fueran el 1, el 2, el 3 y el 4. esto podría hacerlo dividiendo primero por 1000, luego restando el valor que haya obtenido por 1000, luego dividiendo por 100, y volviendo a restar..... pero eso hace que tenga que implementar por lo menos 4 divisores, y me gustaria hcer un codigo más compacto ya que el proyecto en general es bastante largo, ¿hay alguna función en vhdl que me permita hacer eso?, o alguna megafunction de quartus? la fpga que estoy programando es una cyclone IV, en vhdl con quartus.

Un saludo
 
Conviene no usar divisores para nada.
Es mejor usar contadores, que hacen la division pero en frecuencia. Supongo que la medicion de tiempo la haces contando pulsos de reloj. Lo que tenes que hacer es usar varios contadores en cascada, todos usando el mismo reloj, como sigue:

Un primer contador es la constante de calibracion. Luego, por cada digito tenes un contador de 0 a 9. Cada contador (prescaler de calibracion y digitos) envia un carry out que es lo que usa el contador siguiente para contar hacia arriba.
 
Atrás
Arriba