Estoy aprendiendo a usar una FPGA (Papilio desarrollo de la junta,que tiene una xilinx spartan3e, utilizando vhdl).
Necesito dividir un pulso de entrada por un (codificado).
Puedo ver 3 opciones - más o menos, como pseudocódigo (a partir de 10 que cuenta como un ejemplo):
- Inicializar a 0, en la entrada flanco de subida aumentar en 1, comparar a 10; si son iguales, se restablecen a 0 y el disparo de salida de pulso
- Inicializar a 10, en la entrada de borde ascendente del descenso por 1, comparar a 0; si son iguales, restablecer el 10 y el disparo de salida de pulso
- Inicializar a 9, pero asegúrese de que hay al menos 1 "0" bit, que es mi bits de salida. En la entrada de borde ascendente del descenso por 1. Sobre el flanco ascendente del bit de salida, restablecer.
El ciclo de trabajo es importante.
Es una de estas mejores que los otros? Hay un mejor método que no he pensado?
Es allí una manera "estándar" que le dará el compilador de la mejor oportunidad de optimizar?