Skip to content

ax‐sysdff

Juan Gonzalez-Gomez edited this page Jun 30, 2025 · 38 revisions

Circuito 029-ax-sysdff

⮅ïļ Prev Navegar por los circuitos Next ➡ïļ

Contenido

Ficha: Elemento primitivo sys-dff (Biestable D)

Descargas

DescripciÃģn

En este circuito se presenta el Último elemento primitivo: El biestable D del sistema. Se trata de un elemento secuencial, que almacena 1 bit. Tiene 2 entradas. Una es la del reloj, clk y la otra es de datos, d. Tiene una Única salida, q, que es el valor almacenado en el biestable

El valor del biestable, por defecto es 0. Es el valor que tiene almacenado en el ciclo 0, cuando arranca el circuito

Por la entrada d se conecta un 1 constante. La salida q estÃĄ conectada a un LED para ver el resultado

El funcionamiento del circuito es el siguiente. En el ciclo 0 el LED estÃĄ apagado, porque el biestable estÃĄ a 0. Cuando llega el flanco de subida del reloj, se captura el 1 que llega por su entrada, y pasa a ser el nuevo valor almacenado en el biestable. Por ello el LED se enciende

Es decir, que este circuito tiene apagado el LED en el ciclo 0 y lo enciende en el ciclo 1. En el resto de ciclos permanece encendido (hasta que se apague o reinicie el circuito)

Biestable D del sistema

El bietable D del sistema es un circuito secuencial. Tiene la capacidad de almacenar un bit. El bit a almacenar es el que viene por su entrada de datos d. Se captura este dato de entrada cada vez que llega un flanco de subida en su entrada de reloj. El valor capturado sale por su salida q

Este biestable tiene 2 entradas y 1 salida. Una de las entradas es especial: es el reloj. La otra se denomina entrada de datos. El valor almacenado en biestable es el que se saca por su salida q

Como estamos trabajando con circuitos síncronos, todos los biestables deben estar conectados al reloj del sistema. Por esa razÃģn se denominan Biestables D del sistema, porque funcionan a la velocidad del reloj del sistema. Y por tanto estÃĄn todo el rato capturando datos. La entrada d se lee a la mÃĄxima velocidad (Frecuencia de 12Mhz en el caso de la Alhambra-II)

Lo importante del biestable D es que nos permite tener la nociÃģn de presente y futuro. El valor almacenado se saca por su salida en el ciclo actual. Fue capturado en el ciclo anterior. Es decir, es un valor que llegÃģ en el pasado. El valor que llega por la entrada es el siguiente valor. El valor que tendrÃĄ el biestable en el futuro, en el siguiente ciclo

Biestable D del sistema en Icestudio

En Icestudio los biestables se encuentran en la colecciÃģn iceFF. El biestable D del sistema se denomina sys-DFF, por eso lo denotamos como iceFF.sys-DFF

Cronograma

Cuando arranca el circuito, en el ciclo 0, el biestable D tiene el valor 0, por tanto por su salida q sale 0. PERO como por su entrada d se estÃĄ introduciendo un bit constante a 1, significa que en el siguiente ciclo, el ciclo 1, se captura este 1 y se almacena en el biestable D. Por tanto, a partir del ciclo 1 la salida del circuito es 1, y se enciende el LED

En el resto de ciclos, como por la entrada d siempre llega un 1, se captura siempre este valor y su salida serÃĄ 1

La seÃąal que se genera tiene la forma de un escalÃģn. Empieza siendo 0 en el ciclo 0, y luego pasa a 1 en el ciclo 1 para permanecer ya con un valor constante. Por eso denominamos a esta seÃąal como un escalÃģn 1: Indicando que se pone a nivel alto a partir del ciclo 1

Este es el primer circuito en el que se genera una seÃąal varible. Hasta ahora todas las que se generaban en el interior de nuestros circuitos eran siempre constantes. Pero en este tenemos una seÃąal variable que estÃĄ un ciclo a 0 y luego cambia a 1

Circuito STEP1

El circuito abstracto STEP1 es un circuito secuencial que genera por su salida la funcion escalÃģn1, la cual se cambia de 0 a 1 en el ciclo 1

Si se conecta un LED a su salida, se verÃĄ que estÃĄ encendido indefinidamente. En realidad estÃĄ apagado durante el ciclo 0, un ciclo despuÃĐs de encender el circuito, pero es tan rÃĄpido que el ojo humano no lo detecta. Para nosotros este circuito es similar a LEDON-INF

ESTADO de un circuito

Definimos el ESTADO de un circuito en un ciclo dado, como el valor almacenado en TODOS sus biestables. Así, si tenemos un circuito con un Único biestable, como el presentado en esta ficha, el estado es de 1 bit. Esta estado puede tener sÃģlo los valores 0 y 1. En el ciclo 0 el estado es 0 y a partir del ciclo 1 el estado es 1

Los cambios de estado sÃģlo se producen cuando llega un flanco de subida, permaneciendo invariable a lo largo del ciclo

Tabla de transiciones

El estado de un circuito cambia con el tiempo. La tabla de transiciones nos indica cuÃĄl es el nuevo estado, en funciÃģn del estado actual y de las entradas

Para el caso del biestable D, la tabla de transiciones se muestra en esta figura:

El biestable D es el circuito secuencial mÃĄs simplificado, por que si nos fijamos en la tabla, el estado siguiente sÃģlo estÃĄ determinado por su entrada, y no por el estado actual, por lo que la tabla se puede simplificar

EvoluciÃģn del estado

El estado de un circuito evoluciona con el tiempo y con los valores de las entradas. Esta evoluciÃģn tambiÃĐn la podemos poner en funciÃģn de tabla, que lo que llamamos la tabla de estado. En el caso general usaremos la tabla de transiciones, pero para circuitos mÃĄs simplificados es suficiente con la tabla de estados

Para este circuito de ejemplo la tabla de estado sÃģlo tiene 2 filas. En la primer se indica el estado inicial, que es 0. Al llegar un flanco de reloj, se pasa al ciclo 1 y el estado cambia a 1, permaneciendo en ÃĐl hasta el infinito

Diagramas de estados

Los circuitos con elementos secuenciales tienen un estado: Es decir, almacenan un nÚmero. Como hemos visto, segÚn transcurre el tiempo, este estado va cambiando. Decimos que evoluciona

Los diagramas de estados nos permiten representar grÃĄficamente el estado del circuito, y hacia dÃģnde va a evolucionar en funciÃģn del tiempo

Diagrama de estados del biestable D del sistema

Vamos a dibujar el diagrama de estados del Biestable D del sistema. Como almacena un bit, sÃģlo puede estar en dos estados: que denominamos el estado 0 y el estado 1. Cada uno estÃĄ asociado a los valores 0 y 1 respectivamente. Estos estados se representan mediante dos círculos. EstÃĄn asociados a la salida q del biestable. Si el biestable se encuentra en el estado 0 significa que tiene almacenado el valor 0, y por tanto por su salida q sale 0

AdemÃĄs se aÃąaden unas flechas que denominamos transiciones. Cada flecha representa un flanco de subida en el reloj. Es decir, una transiciÃģn al siguiente ciclo. En la parte superior de la flecha se indica el valor de la entrada d del biestable que genera esa transiciÃģn

El diagrama final para el biestable D del sistema se muestra en esta figura:

Su lectura se realiza de la siguiente manera:

  • Si el biestable se encuentra en el estado 0 y por su entrada d hay un 1, al llegar un flanco de subida se produce una transiciÃģn al siguiente estado 1. Lo que almacena ahora el biestable es el valor 1
  • Si el biestable se encuentra en el estado 1 y llega un 0 por d, se cambia al estado 0. Ahora se almacena un 0
  • Si el biestable estÃĄ en el estado 0 y llega un 0 por su entrada, en el flanco de reloj permanecerÃĄ en ese mismo estado
  • Si el biestable estÃĄ en el estado 1 y llega un 1 por su entrada, en el flanco de reloj permanecerÃĄ en ese mismo estado

Diagrama de estados del circuito ax-sysdff

Particularizando ahora para el circuito de la ficha, obtenemos su diagrama de estados. Nos indica cÃģmo evoluciona el estado segÚn transcurren los ciclos de reloj

Como la entrada d estÃĄ cableada al valor 1, no es necesario indicarlo en las tansiciones. Las transiciones ahora representan ciclos

La lectura del diagrama es la siguiente

  • Inicialmente el circuito estÃĄ en el estado 0 (porque el biestable D vale 0 en el ciclo 0)
  • En el siguiente ciclo se transita al estado 1 (porque ahora el biestable almacena 1)
  • En el resto de ciclos el biestable sigue estando en el estado 1 (así hasta el infinito...)

Así, de un golpe de vista se puede comprobar la evoluciÃģn del circuito, y quÃĐ es lo que ocurre en cada ciclo

Concepto de tiempo

Aunque de una manera muy arcada, al introducir un biestable D del sistema ya somos capaces de trabajar con el tiempo. Si nos fijamos en este circuito, que genera la funciÃģn escalÃģn, en el ciclo 0 tiene el valor 1. En el resto de ciclos tiene el valor 1. Es decir, mirando el valor de este biestable sabemos si estamos en el ciclo 0 Ãģ NO. Si vemos que tiene el valor 1 no podemos precisar en quÃĐ ciclo estamos, pero si sabemos que estamos al menos en el ciclo 1. Estaremos en el ciclo 1 Ãģ mayor

Esta idea es MUY POTENTE. Y nos permite crear circuitos mÃĄs complejos y Útiles

Contador de tiempo

Este primer circuito se comporta como un contador. Cuenta sÃģlo de 0 a 1. Nos permite saber si ha transcurrido 1 ciclo desde el comienzo del circuito (desde el Bit-bang!)

Este contador lo podemos considerar como un contador binario, pero tambiÃĐn como el primer contador unario. En el caso unario, 0 significa sin marca y 1 es la marca

Retardo de un ciclo

Este circuito nos permite tambiÃĐn comprender una propiedad del biestable, que estudiaremos mÃĄs adelante. Lo que entra por su entrada d es el bit que se sacarÃĄ en el siguiente instante por su salida. Es un valor que se retrasa un ciclo. Sin bietable el valor saldría en el ciclo 0, pero al pasarlo por el biestable D del sistema, sale por el ciclo 1. Es decir, que se ha retrasado un ciclo

MediciÃģn con el analizador lÃģgico

La seÃąal generada por D0 es un escalÃģn en el ciclo 1. PERO, como ya sabemos, el pin estÃĄ a 1 durante la configuraciÃģn de la FPGA. Por lo que la seÃąal real que medimos estÃĄ a 1, luego se pone un ciclo a 0 y luego de nuevo a 1

El biestable estÃĄ inicialmente a 0 (pero el pin estaba a 1 durante la configuraciÃģn de la FPGA), por lo tanto, aunque esta seÃąal NO es time0, en el momento del Bit-Bang se produce un flanco de bajada en q. Es el que podemos aprovechar para realizar la captura con el analizador

Este es el resultado:

Tras el BIT-BANG la seÃąal q se pone a 0(y el analizador empieza la captura). Al cabo de un ciclo (que dura 83.3ns), la salida q se vuelve a poner a 1

En el analizador se muestra la temporizaciÃģn, para comprobar que efectivamente la seÃąal qestÃĄ a 0 durante un periodo. TambiÃĐn se ha aÃąadido un contador para indicar que estamos en el ciclo 0

Recursos

Recurso Cantidad MÃĄximo Descripcioin
LC 2 7680 Celdas lÃģgicas
IO 2 256 Bloques de E/S

Conceptos nuevos

  • Biestable D del sistema. Es un elemento primitivo que almacena 1 bit de informaciÃģn
  • iceFF: Nombre de la colecciÃģn de Icestudio con Biestables
  • iceFF.sys-dff. Nombre del biestable D del sistema en Icestudio
  • Circuito STEP1: Circuito que genera la funciÃģn escalÃģn en el ciclo 1
  • Estado de un circuito: Es la cantidad de bits almacenados
  • EvoluciÃģn del estado: Los diferentes valores que toman los bits almacenados a lo largo del tiempo
  • Diagrama de estado: RepresentaciÃģn grÃĄfica de la evoluciÃģn del estado
  • Tabla de transiciones: Tabla que indica cuÃĄl es el siguiente estado en funciÃģn de las entradas
  • Estado inicial: Valor inicial de los biestables del circuito
  • Este es el primer circuito que genera una seÃąal NO constante
  • Este es el primer circuito que tiene estado
  • Este es el primer circuito que almacena un bit
  • Es el primer circuito que realiza un retraso de 1 ciclo

Enlaces

Autor

Licencia

Clone this wiki locally