Estoy usando Altera Quartus II para construir un tapón. Estoy usando 2 contadores y necesito elegir la velocidad de reloj correcta para obtener un pulso cada 1 segundo. Sólo hay dos opciones en Quartus para el reloj: 27Mhz y 50Mhz. ¿Cuál debo usar?
Respuesta
¿Demasiados anuncios?Podrás golpearlo con cualquiera de los dos. Asumiendo que tienes tu velocidad de reloj y el tamaño del contador está ajustado correctamente.
- Si utilizas un registro de 32 bits como contador, puedes utilizar un único registro a 50 MHz o a 27 MHz.
- Si estás decidido a utilizar 2 contadores, los registros de 16 bits funcionarán a 50 MHz o a 27 MHz.
- Si estás usando 50 MHz, tendrás que contar ~763 desbordamientos de un solo registro
- 50 MHz
- 2^16 (tamaño del registro) = 65536
- 20 ns * 65536 = 1,3107 ms
- 1 s / 0,0013107 s = 762,93 (valor del segundo registro)
Sugeriría usar un divisor de reloj para que no estés llamando al incremento cada ciclo de reloj, pero eso no es ni aquí ni allá. Si decides ir por ese camino, las matemáticas son las mismas para calcular la velocidad de reloj y el tamaño del registro.
Además, todo esto se muestra para la velocidad de reloj de 50 MHz, pero las matemáticas son las mismas para la velocidad de 27 MHz, honestamente sugeriría la de 27 si estás preocupado por el consumo de energía, pero de cualquier manera es lo mismo logísticamente.