005 - Circuitos Secuenciales

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 35

CIRCUITOS SECUENCIALES

Introduccin a los Circuitos Lgicos


Programables
Pedro Ignacio Martos

CONTENIDO

Circuitos secuenciales

Maquinas de estado (Finite State Machines


FSM)

Maquinas de estado con camino de datos (Finite


State Machines with Datapath FSMD)

El Microcontrolador como circuito FSMD


2

CIRCUITOS SECUENCIALES
Un

circuito combinacional es un circuito


en el que la salida depende solo de las
entradas.
Un circuito secuencial es un circuito con
algun tipo de memoria, la cual establece
su estado interno.
La salida de un circuito secuencial
depende de su entrada y del estado
interno del mismo.
3

CIRCUITOS SECUENCIALES

Los circuitos secuenciales pueden ser sincrnicos


o asincrnicos
Sincrnicos: todos los elementos de memoria son
controlados por una seal externa denominada
Reloj (clock CK) y almacenan sus datos en el
flanco ascendente o descendente del mismo.
Asincrnicos: la seal de control de los elementos de
memoria no es comn a todos y/o es generada
internamente por el circuito secuencial.

La gran mayoria de los circuitos secuenciales son


sincrnicos, ya que permiten desacoplar/aislar el
almacenamiento respecto del resto del circuito.
4

CIRCUITOS SECUENCIALES

El elemento de memoria mas bsico de un


circuito secuencial es el Flip-Flop D (FF-D)

El valor de la entrada se muestrea en el flanco ascendente


del reloj (CK) y se almacena en el FF
Pueden tener una seal asincronica RESET (R) y una seal
sincrnica ENABLE (en)

CIRCUITOS SECUENCIALES

Diagrama en bloques de un circuito secuencial


sincrnico:

CIRCUITOS SECUENCIALES
State Register: Grupo de FF controlados por una
seal CK, la salida de estos FF representa el
estado interno.
Next State Logic: Circuito combinacional que
toma la entrada externa y el estado interno para
determinar el nuevo valor del State Register.
Output Logic: Circuito combinacional que toma la
entrada externa y el estado interno para
determinar el valor de salida.

MAQUINAS DE ESTADO

Las Maquinas de Estado Finito (FSM) se utilizan


para modelizar sistemas que tienen una cantidad
finita de estados internos.
La aplicacin principal de las FSM es la
implementacin de controladores de sistemas
digitales complejos y se implementan mediante
circuitos secuenciales sincrnicos
Si la salida de la FSM solo depende de su estado
interno, se denomina Maquina de Moore; si la
salida depende del estado interno y de la entrada,
se denomina Maquina de Mearly. Ambos tipos de
salida pueden estar presentes en la FSM, por lo que
en general se denominan Salida Mearly y Salida
Moore

MAQUINAS DE ESTADO

Representacin: Las FSM se representan


mediante diagramas de estado, que contienen:
Nodos: Representan un estado interno y en el
diagrama se visualizan mediante circulos
Arcos: Cada arco representa una funcin lgica de las
entradas y el estado interno del cual sale el arco.
Cuando la funcin se evalua como verdadera, se pasa
al nodo al que llega el arco

La salida Moore va en los nodos, ya que solo


depende del estado interno
La Salida Mearly va en los arcos, ya que depende
del estado interno y de la entrada

MAQUINAS DE ESTADO

Representacin grfica:

10

MAQUINAS DE ESTADO

Representacin grfica:

11

MAQUINAS DE ESTADO
Ejemplo: FSM para controlar dos semaforos.
El sistema tiene 3 modos de funcionamiento:
Normal, Test, e Intermitente

En Normal hay 8 estados, que representan las luces


que estan encendidas y hay 4 tiempos preestablecidos
para pasar de un estado al siguiente
En Test estan los mismos 8 estados y tiempos entre
transiciones que en normal, pero el tiempo para
cambiar entre estados es siempre de 1 segundo, de
manera de poder probar el sistema.
En Intermitente las luces amarillas parpadean cada
2 segundos mientras la seal de intermitente este
activada
Se asume que hay un clock de 50Hz disponible

12

MAQUINAS DE ESTADO

Diagrama de Estados

13

MAQUINAS DE ESTADO

Implementacion en VHDL

14

MAQUINAS DE ESTADO

Implementacion en VHDL

15

MAQUINAS DE ESTADO

Implementacion en VHDL

16

MAQUINAS DE ESTADO FINITO CON


CAMINO DE DATOS (FSMD)

Una FSMD combina una FSM con un circuito


secuencial.
La FSM, que es el camino de control (control
path) toma las entradas (comandos) y el estado
interno y genera seales de control que especifican
las operaciones en el circuito secuencial ,
denominado camino de datos (datapath)
Una FSMD se utiliza para implementar sistemas
descriptos mediante transferencia de registros
(Register Transfer Metodology - RTM)
En RTM se definen operaciones como manipulacion
y transferencia de datos entre registros

17

OPERACIONES EN RTM

Una operacin en RTM especifica una


manipulacin de datos y transferencia hacia un
registro mediante una funcin:

Rdest: registro de destino


Rsrc1rsrcn: registros con datos a manipular
F(.): operacin a realizar sobre los registros
fuente.

18

OPERACIONES EN RTM EJEMPLOS

19

OPERACIONES EN RTM
Una operacin se implementa mediante un
circuito combinacional para la funcion f(.) y
conectando dicho circuito a los registros fuente y
destino
Ejemplo: a a b + 1
La funcion f(.) involucra un restador y un
incrementador .
La operacin esta sincronizada por un reloj (CK)
El resultado se almacena en el registro destino en
el siguiente flanco de ck.

20

OPERACIONES EN RTM

Diagrama en bloques:

21

OPERACIONES EN RTM
Un circuito basado en RTM especifica qu
operaciones se realizan entre registros a cada
ciclo de reloj
Esto es similar a la transicin entre estados de
una FSM, por lo que es natural utilizarla para
representar la secuencia de operaciones RTM

22

OPERACIONES EN RTM

Otro Ejemplo:

23

RTM Y FSMD
La FSMD se divide en el camino de datos y el
camino de control
El camino de datos realiza las operaciones RTM y
consiste en:

Registros de datos (Data Registers): almacenan los


resultados intermedios
Unidades funcionales (Functional Units): realizan la
operacin especificada
Red de conexin (Routing Network): conecta los
registros de datos con las unidades funcionales de
acuerdo a la operacin a realizar

Para ello se utilizan seales de control y se


genera un estado interno

24

RTM Y FSMD

El camino de control es una FSM, por lo que


contiene:

Registro de estado (almacena el estado interno)


Lgica de siguiente estado (next-state logic)
Lgica de salida (output logic)
La entrada son las seales de comando externas y el
estado del camino de datos
La salida son las seales de control del camino de
datos

Aunque la FSMD tiene dos circuitos secuenciales,


ambos estan controlados por el mismo reloj, por
lo que es un circuito sincrnico.

25

FSMD

Diagrama en bloques:

26

FSMD Y MICROPROCESADOR

En una FSMD todos los componentes (registros,


ruteo, unidades funcionales, entrada, etc) estn
diseados para una aplicacin especifica.

Se puede mantener un mismo hardware, y


utilizar software para implementar una FSMD
capaz de realizar distintas aplicaciones.

La transformacin a una FSMD universal se


realiza de la siguiente manera:
27

FSMD Y MICROPROCESADOR
Se reemplaza el camino de datos especfico por
una configuracin fija.
Los registros de datos y la red de ruteo se
reemplazan por un conjunto fijo de registros que
tienen un puerto de entrada y dos puertos de
salida.
Las unidades funcionales se reemplazan por una
ALU (Arithmetic & Logic Unit) que solamente
puede realizar un conjunto predefinido de
funciones

28

FSMD Y MICROPROCESADOR

De esta manera el camino de datos ahora realizar


operaciones del tipo

R1, r2 y rd son los registros fuente y destino


Op es una de las operaciones de la ALU
Se reemplaza la FSM con una maquina de estados
programable:
El estado interno pasa a ser el program
counter, su contenido representa el estado
interno de camino de control

29

FSMD Y MICROPROCESADOR

En una FSM cada estado genera salidas para


controlar las operaciones del camino de datos , estas
salidas pasan a ser instrucciones y se almacenan en
una memoria de programa.
Cada direccion de memoria de la memoria de
programa representa un estado (valor) del program
counter .
Durante la ejecucin, la instruccin apuntada por el
program counter es recuperada de la memoria de
programa y decodificada para generar las seales de
control del camino de datos
Asi, la output logic de la FSM es reemplazada por
la memoria de programa y la logica de decodificacin

30

FSMD Y MICROPROCESADOR

En la FSM programable el siguiente estado es el valor


del estado actual + 1 (el program counter se
incrementa en 1), lo que muestra la naturaliza
secuencial de este sistema.
Esta secuencialidad solo se altera mediante
instrucciones especiales, denominadas saltos, en los
cuales el program counter se carga con un nuevo valor
De esta manera, la next-state logic de la FSMD es
reemplazada por el incrementador unitario y la logica
de multiplexado para cargar un nuevo valor.

31

FSMD Y MICROPROCESADOR

Diagrama en bloques de la transformacin (ANTES):

32

FSMD Y MICROPROCESADOR

Diagrama en bloques de la transformacin (DESPUES):

33

FSMD Y MICROPROCESADOR

Diagrama en bloques del microprocesador AVR:

34

FSMD Y MICROPROCESADOR

Diagrama en bloques del microcontrolador AVR:

35

También podría gustarte