clk - Obijuan/Icestudio-Digital GitHub Wiki

Circuito 027-clk

⬅️ Prev Navegar por los circuitos Next ➡️

Contenido

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

Licencia