-
Notifications
You must be signed in to change notification settings - Fork 0
axâsysdff
| ⎠ïļ Prev | Navegar por los circuitos | Next âĄïļ |
|---|
- Ficha: Elemento primitivo sys-dff (Biestable D)
- Descargas
- DescripciÃģn
- Biestable D del sistema
- Bietable D del sistema en Icestudio
- Cronograma
- Circuito STEP1
- Estado de un circuito
- Tabla de transiciones
- EvoluciÃģn del estado
- diagramas de estados
- Concepto de tiempo
- Contador de tiempo
- Retardo de un ciclo
- MediciÃģn con el analizador lÃģgico
- Recursos
- Conceptos nuevos
- Enlaces
- Autor
- Licencia
- Circuito Icestudio: ax-sysdff.ice
- Ficha circuito: (SVG) (PDF) (PNG)
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)
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
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
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
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
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
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
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
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
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
dhay un1, al llegar un flanco de subida se produce una transiciÃģn al siguiente estado 1. Lo que almacena ahora el biestable es el valor1 - Si el biestable se encuentra en el estado 1 y llega un
0pord, se cambia al estado 0. Ahora se almacena un0 - Si el biestable estÃĄ en el estado 0 y llega un
0por su entrada, en el flanco de reloj permanecerÃĄ en ese mismo estado - Si el biestable estÃĄ en el estado 1 y llega un
1por su entrada, en el flanco de reloj permanecerÃĄ en ese mismo estado
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
0en 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
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
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
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
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
| Recurso | Cantidad | MÃĄximo | Descripcioin |
|---|---|---|---|
| LC | 2 | 7680 | Celdas lÃģgicas |
| IO | 2 | 256 | Bloques de E/S |
- 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
- ColecciÃģn iceK: ColecciÃģn para Icestudio. Constantes
- ColecciÃģn iceFF: ColecciÃģn para Icestudio. Biestables
- Juan GonzÃĄlez-GÃģmez (Obijuan)
- shift
- shift-reg2
- sreg-02-sys-sr-basicðĄ
- sreg-concat-left
- sreg-concat-right
- concat-sysdff-sreg2
- concat-sreg2-sysdff
- sreg-03-sys-sr-basicðĄ
- concat-sreg2-sreg2
- sreg-04-sys-sr-basicðĄ
- unary-iiðĩ
- unary-iii
- unary-nðī
- unary-ii-timer
- unary-ii-timer-bmax
- unary-iii-timer
- sreg-unary-ii-timer
- sreg-unary-iii-timer
- unary-n-timer
- sreg-unary-n-timer
- unary-ii-waitðĩ
- unary-ii-wait2ðĩ
- unary-ii-wait2-simp
- unary-ii-rst
- unary-iii-rst
- unary-mod3ðĩ
- unary-mod4
- unary-modn
- unary-mod2ðĩ
- unary-prescaler1:2
- unary-prescaler1:2-ini
- unary-prescaler1:3
- unary-prescaler1:4
- unary-prescaler1:n
- heart-prescaler1:2ðĄ
- 1hot-iiðĩ
- 1hot-iii
- 1hot-n
- 1hot-ii-timer
- 1hot-iii-timer
- zero-sreg-1hot-iii-timer
- tic0ðĄ
- tic0-sreg-1hot-iii-timer
- 1hot-n-timer
- 1hot-mod2ð§
ð§ TODO ð§
- ðĄ: Nuevo bloque introducido
- ðĩ: Circuito importante
- ðī: PresentaciÃģn de limitaciones y retos a superar