clk - Obijuan/Icestudio-Digital GitHub Wiki
Circuito 027-clk
⬅️ Prev | Navegar por los circuitos | Next ➡️ |
---|
Contenido
- Ficha: Reloj del sistema
- Descargas
- Descripción
- El reloj del sistema
- Circuitos síncronos
- Cronograma
- Circuito LEDON-INF
- Medición con el analizador lógico
- Recursos
- Conceptos nuevos
- Enlaces
- Autor
- Licencia
Ficha: Reloj del sistema
Descargas
Descripción
Circuito de acceso al reloj del sistema. La señal del reloj es exterior a la FPGA, y llega a través de un pin de entrada que en Icestudio se llama CLK
Esta señal de reloj se lleva a través de un cable a los elementos que lo necesiten. En este primer circuito de ejemplo, la señal de reloj se saca directamente al pin de salida D0
, donde la visualizamos a través de un LED
Como la frecuencia del reloj es alta, nuestros ojos no aprecian ningún parpadeo, sino que simplemente ven el LED encendido, aunque con una intensidad menor que cuando se enciende con el circuito ax-bit1
Dado que este circuito es un único cable que une directamente un pin de entrada con otro de salida, es equivalente al circuito input, pero cambiando el pin de entrada SW1
por CLK
El reloj del sistema
Todos los elementos secuenciales tienen una entrada de reloj, que está marcada con el símbolo >
. El reloj del sistema es una señal de frecuencia fija que proviene del exterior, y que se mete en la FPGA. Esta señal, dentro de nuestros diseños, se conecta normalmente a la etiqueta clk
y a través de ella se realizan las conexiones a las entradas de reloj del resto de elementos secuenciales de nuestro diseño
Típicamente en Icestudio esta etiqueta se nombra como clk
(aunque se podría poner cualquier otro nombre) y se cambia su color a un amarillo-verdoso para distinguirlo del resto de etiquetas, ya que la señal de reloj es especial y muy importante
El reloj del sistema es una señal cuadrada de frecuencia fija. Se divide en periodos de igual duración T. Dentro de cada ciclo la señal está un tiempo T/2
a nivel alto y T/2
a nivel bajo
Cuando la señal pasa de nivel bajo a nivel alto lo denominamos flanco de subida, y cuando cambia del nivel alto al bajo flanco de bajada
Cada vez que se repite al señal, comienza un nuevo ciclo. Para nosotros un ciclo comienza con el flanco de subida, luego llega un flanco de bajada y finalmente un nuevo flanco de subida, donde comienza el siguiente ciclo
El periodo lo definimos como el tiempo que transcurre entre dos flancos de subida, y la frecuencia como su inversa (en hz)
La frecuencia del reloj del sistema depende de cada placa. En el caso de la Alhambra-II su valor es de 12MHZ, y el periodo de 83.3ns
Tiempo
La señal de reloj es la que permite que nuestros circuitos tengan noción del tiempo. Con esa señal podemos distinguir el presente de lo que ha ocurrido en el pasado
Circuitos síncronos
Todos los diseños que vamos a realizar en la FPGA son circuitos síncronos. Esto significa que todos los elementos secuenciales se conectan a la Misma señal de reloj. Esta señal que gobierna a todos nuestros componentes es el reloj del sistema
En los circuitos síncronos, por tanto, los bits se mueven entre los elementos secuenciales a la vez, de manera síncrona. Hay una única señal de reloj que lo gobierna todo
Por eso, en todos nuestros diseños, leemos la señal de reloj a través de una etiqueta, y esta misma etiqueta es la que usamos para conectarla a TODOS los elementos secuenciales, sin excepciones
Cronograma
En el cronograma mostrado en la lámisa se muestran 8 ciclos de reloj, y la forma que tiene el reloj del sistema
Circuito LEDON-INF
Este circuito es la sexta implementación de LEDON-INF: el circuito que mantiene encendido un LED indefinidamente. Aunque en esta versión el LED luce menos
Medición con el analizador lógico
Este es el primer circuito en el que tomaremos medidas. Sabemos que la señal de reloj está presente, porque la conectamos a un LED y éste se enciende... pero no sabemos su frecuencia. Ni tampoco podemos distinguir con los ojos si realmente es una señal cuadrada o una señal constante a 1
Al tomar las medidas sabemos exactamente qué es lo que está pasando. A partir de ahora no hay que creer la explicación de un circuito, sino que la podemos medir por nosotros mismos y comprobar su funcionamiento empíricamente
Para medir utilizamos un Analizador lógico, como por ejemplo este de amazon que es compatible con el de saleae: Analizador lógido en Amazon
Utilizamos dos cables hembra-hembra para la conexión entre el analizador y la Alhambra-II. Uno para GND y el otro para la salida del pin D0 de la FPGA. Este es el escenario:
En esta imagen se muestran los detalles de las conexiones en el conector del analizador:
En esta imagen se muestra el patillaje. En la parte superior están los 4 canales pares: ch6, ch4, ch2 y ch0, y en la inferior los 4 canales impares: ch7, ch5, ch3 y ch1
Pare realizar las mediciones utilizamos el programa PulseView. La señal clk sale por el pin D0 en cuanto se realiza su carga, y se mantiene hasta que se quite la alimentación. Para capturarla siempre con la misma fase, configuramos el pulseView para que realice una captura en el flanco de subida
En esta imagen se muestra el resultado
Observamos la señal de reloj clk. Para medirla utilizamos el decodificador timming.Comprobamos que tiene una frecuencia de 12MHZ (Periodo de 83.3ns)
Puedes encontrar más información sobre el manejo del analizador en Videoblog: Capítulo 26: Probando el analizador lógico compatible Saleae con la FPGA
Recursos
Como este circuito es equivalente a input, consume los mismos recursos
Recurso | Cantidad | Máximo | Descripcioin |
---|---|---|---|
LC | 1 | 7680 | Celdas lógicas |
IO | 2 | 256 | Bloques de E/S |
Conceptos nuevos
- Reloj del sistema: Señal cuadrada de frecuencia fija, que se genera fuera de la FPGA y que entra en ella a través de un pin de entrada (clk)
- Flanco de subida: Transición de la señal del reloj de nivel bajo (
0
) a nivel alto (1
) - Flanco de bajada: Transición de la señal del reloj del nivel alto al nivel bajo
- Frecuencia del sistema: Frecuencia del reloj del sistema. Para la Alhambra-II es de 12Mhz
- Periodo: Tiempo entre dos flancos de subida consecutivas en la señal de reloj. Es el inverso de la frecuencia. En la Alhambra-II es de 83.3ns
- Semiperiodo: Tiempo entre un flanco de subida y uno de bajada consecutivos. Es el mismo que el que hay entre un flanco de bajada y otro de subida consecutivos
- Ciclos: Unidad que utilizamos para medir el tiempo en los circuitos
- Circuitos síncronos: Todos los elementos secuenciales están governados por el reloj del sistema
Enlaces
Autor
- Juan González-Gómez (Obijuan)