Você está na página 1de 70

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

Anlisis y Diseo de Circuitos


Secuenciales
Teora de Mquinas de Estado (FSM)
La teora de mquinas de estado es el
nombre con el que se conocen los mtodos
de Anlisis
y
Diseo
de
Circuitos
Secuenciales Sincrnicos. Esta leccin
constituye una introduccin al tema donde se
definir lo que son las mquinas de estado y
los conceptos bsicos para entender la
metodologa de Anlisis y Diseo de Circuitos
Secuenciales.
Las mquinas de estado son circuitos
secuenciales que se encuentran constituidos
por una etapa combinacional y una etapa de
memoria, relacionadas de tal forma que
conforman un sistema secuencial para algn
propsito especial.
Los registros y contadores con entradas
asincrnicas son ejemplos de este tipo de
sistemas secuenciales.

Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

Mquinas de Estado de Mealy y Moore


Los circuitos secuenciales se clasifican dentro
de la categora conocida como mquinas de
estado, de la cual se distinguen comnmente
dos tipos:
o Mquina de Mealy: En esta mquina de
estados las salidas se encuentran
determinadas por el estado interno del
sistema y por las entradas no sincronizadas
con el circuito. El diagrama de bloques
representativo
de la mquina
se muestra en
la
figura
donde
se
observa que
las salidas del
sistema son tanto sincrnicas como
asincrnicas.
o Mquina
de Moore: Las salidas solo
dependen del estado interno y de cualquier
entrada
sincronizada
con el circuito,
como se ve en
la
figura:
Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

donde las salidas del sistema son


unicamente sincrnicas. Un ejemplo de este
tipo de mquinas de estado son los
contadores.
Los circuitos secuenciales se caracterizan por
tener una etapa combinacional y otra de
memoria conformada por flip-flops. En la
figura se puede
observar
un
ejemplo
particular
de
este tipo de
circuitos, el cual
corresponde a
una
Maquina
de estado de
Mealy.
Observe que hay salidas que dependen de la
etapa de memoria y hay una salida que
depende
directamente
de
la
etapa
combinatoria.
Con base en el circuito de la figura se dar
una descripcin de las herramientas bsicas
que son empleadas para el Anlisis y Diseo
de Circuitos Secuenciales. Entre estas
herramientas se encuentran las ecuaciones
Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

lgicas, las de los diagramas de estado, las


tablas de estado, las tablas de transicin y los
mapas de Karnaugh.
Ecuaciones Lgicas
Las ecuaciones lgicas son funciones que
definen la relacin existente entre los estados
de entrada y los estados de salida del
sistema. Para determinar las ecuaciones
lgicas de la mquina de estados de la figura
inicialmente se deben identificar los estados
siguientes.
Estos estados corresponden a aquellos que
ocurren despus de una transicin en la seal
de reloj de los flip-flops. Recuerde que para
los flip-flops tipo D el estado siguiente (Qi+1) es
igual al estado de la entrada D. Teniendo en
cuenta lo anterior las ecuaciones lgicas para
los flip-flops A y B del circuito de la figura
seran las siguientes:
A = DA = AX + BX
B = DB= AX
La salida Y esta dada por:
Y = (A + B)X
Observando esta ltima ecuacin se concluye
que la salida (Y) es funcin del estado
Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

presente del sistema (A y B) y de la entrada


asincrnica (X).
Las ecuaciones lgicas en los circuitos
secuenciales tienen una estructura formada
por dos clases de estados:
Los estados siguientes, los cuales se
agrupan al lado izquierdo de la expresin y
representan las variables dependientes del
sistema. El estado de estas variables
cambia en el momento que ocurra un
transicin en la seal de reloj.
Los estados actuales y entradas del
sistema. Agrupados al lado derecho de la
expresin, constituyen las variables
independientes, las cuales pueden o no
cambiar en sincrona con el sistema.
Cuando las ecuaciones de estado contienen
varios trminos, se pueden simplificar
empleando metodologas de reduccin de
trminos como Algebra de Boole, Mpas de
Karnaugh o mediante el algoritmo de QuineMcCluskey.

Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

Estados
actuales

Entrada Estados
siguientes

Salida

1
1
1
1
0
1
Tablas de Estado
Una tabla de estado es un listado que
contiene la secuencia de los estados de
entradas, estados internos y salidas del
sistema, considerando todas las posibles
combinaciones de estados actuales y
entradas. Las tablas de estado por lo general
se dividen en tres partes: estados actuales,
estados siguientes y salidas, tal como se
muestra en la Tabla de estado.

Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

La tabla de estado para un circuito secuencial


con m flip-flops y n entradas tiene 2m+n filas. El
estado siguiente tiene m columnas, y el
nmero de columnas depende del nmero de
salidas.
Existe una forma ms conveniente de
organizar la informacin en la tabla de estado,
la cual se muestra en la Tabla siguiente,
donde los estados se agrupan de tal modo
que la tabla se puede traducir a un diagrama
de estados. Al igual que la tabla anterior esta
Estado Actual

Estado Siguiente Salida


X=0

X=1

X=0 X=1

AB

AB

AB

00

00

01

01

00

11

10

00

10

11
00
10
1
0
tiene tres secciones: estados actuales,
estados siguientes y salidas, sin embargo los
estados se agrupan dependiendo del valor de
las entradas. La seccin de estados actuales
agrupa los estados que ocurren antes de una
Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

transicin en la seal de reloj, la seccin de


estados siguientes lista aquellos que ocurren
despus de la transicin del reloj y la seccin
de salidas rene los estados que se dan en el
mismo instante de los estados actuales.
Haciendo un anlisis de la operacin del
circuito de la figura se puede observar lo
siguiente: Cuando la variable X=0 los estados
actuales A y B cambian a 0 despus de la
transicin de reloj, y cuando X=1, los estados
de las salidas se comportan tal como se
resume en la tabla anterior. Se plantea como
ejercicio verificar la informacin de la tabla.
Diagramas de Estado
Un
diagrama
de
estados
es
una
representacin grfica que indica la secuencia
de los estados que se presentan en un
circuito secuencial,
teniendo en cuenta
las
entradas
y
salidas. El diagrama
se
forma
con
crculos y lneas. Los
crculos representan
los
estados
del
circuito secuencial y
Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

cada uno de ellos contiene un nmero que


identifica su estado. Las lneas indican las
transiciones entre estados y se marcan con
dos nmeros separados por un (/), estos dos
nmeros corresponden a la entrada y
salida presentes antes de la transicin.
A manera de ejemplo observe la lnea que
une los estados 00 y 01 en el diagrama de
estado de la figura anterior. Esta lnea
marcada como 1/0 indica que el circuito
secuencial se encuentra en el estado 00
mientras la entrada X=0 y la salida Y=0, y que
despus de que ocurra una transicin en la
seal de reloj el estado cambia a 01.
Las lneas que salen y regresan al mismo
crculo indican que no hay cambio en el
estado, cuando se presentan la entrada y
salida indicadas.
Transiciones de Salida Entradas al flip-flop
Qi

Qi+1

Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

Tablas de Transicin de flip-flops


Las tablas de transicin se usan en conjunto
con las de estado y representan la tabla de
verdad de los flip-flops con los cuales se
desea implementar el circuito secuencial. La
tabla contiene los estados actuales y
siguientes segn el estado de las entradas de
los flip-flops. La tabla anterior corresponde a
la tabla de transicin del flip-flop JK.
En la tabla, Qi corresponde al estado actual y
Qi+1 al estado siguiente, J y K son las entradas
de los flip-flops. La informacin sombreada en
la tabla se interpreta de la siguiente forma:
cuando el estado presente de la salida Q=0 y
las entradas J=1 y K=X (X indica una
condicin de no importa, 1 o 0), despus de
un pulso de reloj en el flip-flop la salida
cambia al estado siguiente Q=1.

Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

Estado
Actual

CIRCUITOS DIGITALES II

EE V

Estado
Entradas
Siguiente flip-flop

UTP

de

los

Q2 Q1 Q0 Q2 Q1 Q0 J2 K2 J1 K1 J0 K0
0

0 X 0 X 1 X

0 X 1 X X 1

0 X X 0

1 X

1 X X 1

X 1

X 0

0 X 1 X

X 0

1 X X 1

X 0

X 0

1 X

1 1 1 0 0 0 X 1 X 1 X 1
Mapas de Karnaugh
Generalmente la tablas de estado y de
transicin de los flip-flops se fusionan en una
sola para agrupar la informacin de tal forma
que permitan construir los Mapas de
Karnaugh para simplificar las funciones
lgicas. La tabla anterior corresponde a una
tabla de estado de un contador de tres bits
con flip-flops JK. Observe que esta tabla
incluye las entradas J y K para cada una de la
transiciones (estado actual a estado
siguiente). Las regiones sombreadas en la
Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

tabla indican que el estado Qi cambia estando


presentes
las
entradas
Ji
y
Ki
correspondientes despus de una transicin
del reloj.
Los Mapas de Karnaugh se emplean para
definir la lgica de las entradas de los flipflops y se debe hacer
uno para cada una de las
entradas.
La
figura
corresponde al Mapa de
karnaugh de la entrada
J1. de la tabla de estado anterior.
Observe que cada celda en el mapa
representa uno de los estados actuales de la
secuencia en la tabla de estado. Una vez
asignados todos los estados posibles a cada
celda en el Mapa de Karnaugh se procede a
simplificar y deducir las expresiones lgicas.
En la figura se observa que la expresin
correspondiente a la entrada J1 es:
J1 = Q0
Esta expresin indica que en el circuito lgico
la salida Q0 debe ir conectada a la entrada J1.

Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

Anlisis y Diseo de Circuitos


Secuenciales
Anlisis
y
Diseo
de
Circuitos
Secuenciales Sincrnicos
La gran mayora de los circuitos digitales
contienen flip-flops y compuertas para realizar
funciones especficas. El diseo de estos
circuitos inicia a partir de las especificaciones
y finaliza con las funciones lgicas, de las
cuales se obtiene el circuito lgico.
Inicialmente se debe crear una tabla de
estado o representacin equivalente, para
identificar la secuencia de estados que
deseada. Luego de seleccionar el nmero y
tipo de flip-flops con los cuales se desea
hacer el diseo, se deduce la lgica
combinatoria necesaria para generar la
secuencia de estados.
Los circuitos secuenciales se pueden analizar
y disear siguiendo un procedimiento
claramente definido que consiste en los
siguientes pasos:
o Asignacin de estados
o Construccin del diagrama de transicin
o Elaboracin de la tabla de estados
Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

Obtencin de ecuaciones o funciones


lgicas
o Realizacin de circuitos lgicos
Para explicar este mtodo se desarrollar un
ejemplo aplicado a un diseo particular.
Ejemplo: Disear el circuito secuencial del
proceso que cumple el diagrama de estados
de la figura:
Paso 1. Asignacin de
estados: el proceso
tiene cuatro estados,
una entrada y no tiene
salidas (se pueden
considerar como Sali
das las de los flipflops). Para represen
tar los cuatro estados se usarn dos flip-flops
A y B de tipo JK. Y la entrada ser X.
Paso 2. Contruccin del diagrama de
transicin o de estado
La figura anterior corresponde al diagrama de
transicin. Analizando este diagrama se
observa que el estado 10 se mantiene
mientras X=0 y en el momento que X=1 pasa
al estado 11, despus al estado 00 y
finalmente al estado 01, hasta el momento
o

Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

que nuevamente X=0, volviendo de esta


forma al estado AB=10. Adicionalmente
observe que los estados 00 10 y 11, se
mantienen cuando X=0 y el estado 01 se
mantiene cuando X=1.
Paso 3. Elaboracin de la tabla de estados
Estado Estado
Excitaciones
Actual
Siguiente
X
A
B
A
B
JA KA JB KB
0
0
0
0
0
0 X 0 X
1
0
0
0
1
0 X 1 X
0
0
1
1
0
1 X X 1
1
0
1
0
1
0 X X 0
0
1
0
1
0
X 0 0 X
1
1
0
1
1
X 0 1 X
0
1
1
1
1
X 0 X 0
1
1
1
0
0
X 1 X 1
A partir del diagrama de estados y de la tabla
de transicin del flip-flop JK se puede
construir la tabla de estados. Para la
simplificacin de los circuitos combinatorios
es conveniente que se presenten condiciones
de "no importa", ya que estas permiten
Entrada

Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

simplificar las funciones lgicas y por tanto el


tamao del circuito lgico.
Paso 4. Obtencin de ecuaciones o funciones
lgicas.
En este paso se obtienen las funciones
lgicas para las entradas de los flip-flops (JA,
KA, JB y KB) y el objetivo es deducir la lgica
combinatoria de estado siguiente, mediante el

uso de Mapas de Karnaugh. A continuacin


se muestran los Mapas de Karnaugh y las
funciones lgicas correspondientes.
Paso 5. Realizacin de circuitos lgicos
Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

Este es el ltimo paso del diseo, y consiste


en implementar
la lgica combi
nacional a partir
de las ecuacio
nes lgicas obte
nidas en el
paso
anterior
para las entradas J y K de los flip-flops. Las
conexiones correspondientes, se efectan
mediante el uso de compuertas e inversores.
Diseo de Circuitos Secuenciales con flipflops D
El diseo del circuito anterior se hizo con flipflops JK. En esta seccin veremos como se
realiza el diseo de circuitos secuenciales
mediante el uso de flip-flops tipo D.
A diferencia de las entradas de los flip-flops
JK, las entradas en los flip-flops D
corresponden exactamente a los estados
siguientes. Por esta razn en la tabla de
estado no se requiere una columna
independiente para las excitaciones. En el
siguiente ejemplo se ver como realizar el
Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

diseo de circuitos secuenciales con flip-flops


D.
Entrada

Estado
actual
A
B
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1

Estado
Salida
siguiente
A(DA) B(DB)
Y
0
0
0
0
1
1
1
0
0
0
1
0
1
0
0
1
1
1
1
1
0
0
0
0

X
0
1
0
1
0
1
0
1
Ejemplo
Realizar el diseo del circuito lgico
correspondiente a la tabla de estado. Observe
que esta tabla es la misma del ejemplo
anterior, pero adicionalmente se agreg una
salida (Y).
Paso 1. Asignacin de estados
Este proceso al igual que el ejemplo anterior
tiene cuatro estados de dos bits (AB), una
entrada (X) y una salida (Y). Para representar
Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

los cuatro estados se usarn dos flip-flops D


identificados como A y B.
Paso 2. Construccin del diagrama del
transicin o de estado
El diagrama de transicin
es el mismo del ejemplo
anterior, excepto que
ahora se tiene en cuenta
la salida (Y). En la figura
se observa el diagrama
de estado.
Paso 3. Elaboracin de la tabla de estado.
Para este ejemplo inicialmente se di la tabla
de estados.
Paso 4. Obtencin de ecuaciones o
funciones lgicas.

Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

En este paso se deben obtener las funciones


lgicas para las entradas de los flip-flops (DA,
DB) y la salida (Y). En la figura se muestran
los Mapas de Karnaugh y las funciones
lgicas correspondientes.

Paso 5. Realizacin de circuitos lgicos


Con las ecuaciones lgicas obtenidas en el
paso anterior se puede implementar el circuito
lgico. Las conexiones correspondientes, se
efectan mediante el uso de compuertas e
inversores y en la figura 7.2.6 se muestra el
diseo del circuito.
Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

Estados no usados
Durante el diseo de los circuitos
secuenciales
para
simplificar
las
representaciones lgicas, es conveniente
emplear los estados no usados como
condiciones que no importa. Estos estados se
identifican con una (X) en los Mapas de
Karnaugh.
Para ilustrar como emplear estos estados,
observe la tabla abajo. Teniendo en cuenta
todas las posibles combinaciones de las
variables A, B, C y X, Note que en esta tabla
hay seis estados que no estn presentes
(0000, 0001, 1100, 1101, 1110 y 1111). Las
seis filas de la tabla correspondientes a estos
estados se identifican como estados X (1 o 0)
Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

o condiciones de "No importa", al momento de


elaborar los Mapas de Karnaugh.
Estad
Estado
Entrad
Salid
o
siguient Excitaciones
a
a
actual
e
ABCX
A B C J K J K J K Y
A A B B C C
0 0 1 0
0 0 1 0 X 0 X X 0 0
0 0 1 1
0 1 0 0 X 1 X X 1 0
0 1 0 0
0 1 1 0 X X 0 1 X 0
0 1 0 1
1 0 0 1 X X 1 0 X 0
0 1 1 0
0 0 1 0 X X 1 X 0 0
0 1 1 1
1 0 0 1 X X 1 X 1 0
1 0 0 0
1 0 1 X 0 0 X 1 X 0
1 0 0 1
1 0 0 X 0 0 X 0 X 1
1 0 1 0
0 0 1 X 1 0 X X 0 0
1 0 1 1
1 0 0 X 0 0 X X 1 1
Tabla de estado - Condiciones de "no importa"
Los mapas de karnaugh correspondientes a
las entradas de cada flip-flop (JA, KA, JB, KB, JC
y KC) y la salida (Y), se muestran en la figura
7.2.7. Observe que en cada mapa los estados
resaltados en rojo corresponden a los estados
no usados, los cuales se han incluido como
Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

condiciones "no importa" para simplificar la


mayor cantidad de variables en las
expresiones.

Como conclusin sobre esta seccin,


podemos decir que es recomendable incluir
los estados no usados en el diseo de los
circuitos secuenciales. Esto implica una
Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

reduccin en las expresiones lgicas y por


consiguiente en el tamao del circuito, que en
otros trminos representar obviamente un
menor tiempo de desarrollo y costo de
implementacin.
Se plantea como ejercicio hacer el diagrama
lgico correspondiente a las ecuaciones
halladas a partir de los mapas de Karnaugh
de la figura y hacer el diseo del circuito
secuencial sin tener en cuenta los estados no
usados para comparar los dos casos y notar
las diferencias.

PLD's Secuenciales
PLD's Secuenciales (Control Simplificado para
Mquina Lavadora)
Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

El objetivo de esta prctica es el de disear y


probar un circuito de control para una
lavadora,
pero
haciendo
algunas
simplificaciones que se explican al final, con el
fin de que el circuito pueda programarse
dentro de una GAL16V8, dispositivo que slo
dispone de 8 flipflops.
En un proceso de lavado normal, una
lavadora
ejecuta
secuencialmente
los
siguientes pasos:
ApagadoLlenado Lavado Drenado
Exprimido Llenado EnjuagueDrenado
ExprimidoApagado
Para que el circuito no exceda la capacidad
de la GAL16V8 se tiene que omitir la ltima
etapa de exprimido, que se indica subrayada
en la lista de arriba.
Entradas: (5) Pulsadores de arranque
(ARR) y de parada (PAR), detectores de nivel
alto (NIA) y de nivel bajo (NIB), interruptor de
tapa (TAP). Todas las entradas son activas
ALTAS. Adems se dispone de una seal de
reloj (CLK) externa que suministra un periodo
de un minuto.
Salidas: (5) Vlvulas solenoides de agua
caliente (CAL), de agua fra (FRI) y de drenaje
Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

(DRE). Motor (MOT). La ltima salida, VEL,


cuando vale 0 acopla el motor para agitacin
en las etapas de lavado y enjuague y cuando
vale 1 lo acopla a velocidad alta durante la
etapa de exprimido. Durante el estado de
Apagado todas las salidas permanecen
inactivas o sea con un valor de cero.
Operacin de la lavadora
Al presionar el pulsador de arranque la
lavadora empieza una etapa de llenado,
durante la cual mantiene abiertas las vlvulas
de agua fra y de agua caliente hasta cuando
el agua alcanza el nivel del detector NIA y se
vuelven a cerrar las dos vlvulas.
Luego la mquina pasa la etapa de lavado,
agitando la ropa durante un ciclo de reloj,
pasando despus al drenado del tanque,
mediante la apertura de la respectiva vlvula.
En el flanco de reloj que sigue a la activacin
del detector NIB, que indica desocupacin del
tanque, la lavadora termina la etapa de
drenado.
La siguiente etapa es la de exprimido que
dura un ciclo de reloj, durante la cual contina
abierta la vlvula de drenaje y se energiza el
motor acoplado a la transmisin de alta
Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

velocidad. Si durante esta etapa se abre la


tapa de la lavadora, la mquina debe regresar
la etapa anterior, si ello no ocurre contina el
proceso normal.
Enseguida se vuelve a llenar el tanque, pero
esta vez slo se abre la vlvula de agua fra,
que permanece abierta hasta cuando se
activa el detector NIA. Con el siguiente flanco
de reloj la mquina enjuaga durante un ciclo
de reloj.
Por ltimo la mquina vuelve al drenado,
desocupando nuevamente el tanque y
regresando al estado inicial de apagado.
Si durante cualquier momento del proceso de
lavado se presiona el pulsador PAR, las
salidas que estn activasen ese momento
deben desactivarse y la mquina debe
regresar al estado de apagado.
Simplificaciones del circuito de control
1.
Se suprimi la ltima etapa del
proceso que era la del exprimido posterior
del enjuague, ello significara en la prctica
que la ropa tendra que sacarse empapada
de la lavadora y exprimirse manualmente.
2.
No se incluy un bloque
temporizador que sirva para que el usuario
Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

pueda seleccionar el tiempo de la etapa de


lavado y para que el mismo circuito de
control defina tiempos diferentes a los de
un perodo de reloj, para las etapas de
exprimido y de enjuague. Este bloque se
puede realizar mediante un contador
decreciente que se pueda inicializar en
cualquier valor y que le enva una seal al
circuito de control, cada vez que su salida
llega a cero.
3.
Si la mquina est exprimiendo
y se abre la tapa , inmediatamente debiera
pararse el motor sin tener que esperar
hasta que ocurra el siguiente flanco activo
de la seal de reloj. Igualmente si se pulsa
PAR inmediatamente debiera pararse la
mquina. De la misma forma, en las
etapas de llenado las vlvulas debieran
cerrarse apenas se activa el detector de
nivel alto.
La ltima simplificacin se tiene que hacer
porque el CUPL, versin 4.8, aparentemente
slo soporta mquinas de estado de Moore.
Las dos primeras simplificaciones se deben
realizar por la escasez de flipflops en el
dispositivo a utilizar, el GAL16V8.
Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

Dispositivos Lgicos Programables


Una forma rpida y directa de integrar
aplicaciones se logra con la lgica
programable, la cual permite independizar el
proceso de fabricacin del proceso de diseo
fuera de la fbrica de semiconductores. El
sistema desplaza los errores de alambrado al
campo exclusivo de la programacin. Los
sistemas con estas caractersticas se pueden
borrar y reprogramar en casos de cambios o
revisiones. El resultado es la reduccin del
espacio fsico de la aplicacin. El diseo est
basado en bibliotecas y mecanismos
especficos de mapeado de funciones.
En el captulo se vern dispositivos como los
PAL y GAL por la facilidad de manejo y coste
razonable. El lenguaje CUPL se ver por su
amplia difusin y empleo en aplicaciones.
Dispositivos Lgicos Programables
Diseo Lgico Hoy Da
La mayor parte de los diseos de nivel de
sistema incorporan diversos dispositivos,
como son las memorias RAM, ROM,
Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

controladores, procesadores, etc., que se


interconectan mediante gran cantidad de
dispositivos lgicos de propsito general,
frecuentemente denominados lgica de unin
("glue logic"). En los ltimos aos, los
dispositivos PLD (Programmable Logic
Device) han comenzado a reemplazar
muchos de los antiguos dispositivos de unin,
SSI y MSI.
El uso de dispositivos PLD proporciona una
reduccin en el nmero de circuitos
integrados. Por ejemplo, en los sistemas de
memoria de las computadoras, los PLD
pueden utilizarse para decodificar direcciones
de memoria y generar seales de escritura en
memoria.
En muchas aplicaciones, los PLD y, en
concreto, las matrices lgicas programables
(PAL, Programmable Array Logic) y las
matrices lgicas genricas (GAL, Generic
Array Logic) pueden emplearse para
reemplazar dispositivos lgicos SSI y MSI,
consiguiendo con ello una reduccin de
etapas y de los costos.
Por las razones anteriores el diseo lgico
hoy da se realiza con PLDs. Un PLD est
Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

formado por una matriz de puertas AND y


puertas OR, que se pueden programar para
conseguir funciones lgicas especficas.
El diseo con PLDs seala las siguientes
ventajas en relacin a la lgica cableada:
o
Economa.
o
Menos espacio en los impresos.
o
Se mantiene la reserva del
diseo.
o
Se
requiere
tener
menos
inventarios que con circuitos estndar SSI,
MSI.
o
Menos alambrado.
Tipos de PLD
Los PLD se dividen en dos clases:
1. PLDs combinatorios.
Constituidos por arreglos de compuertas
AND OR. El usuario define las
interconexiones y en esto consiste la
programacin.
2. PLDs secuenciales.
Adems de los arreglos de compuertas,
incluyen flip flops para programar
funciones secuenciales como contadores y
mquinas de estado(ver captulo 8).
Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

Estructura de los Dispositivos Lgicos


Programables Bsicos
Los PLD se clasifican de acuerdo con su
estructura, la cual es bsicamente la
ordenacin funcional de los elementos
internos que proporciona al dispositivo sus
caractersticas de operacin especficas.
Memoria programable de slo lectura PROM
(PROM, Programable Read Only Memory)
La PROM est formada por un conjunto fijo
(no programable) de puertas AND conectadas
como decodificador y una matriz programable
OR. La PROM se utiliza como una memoria
direccionable y no como un dispositivo lgico
(Ver Fig 4.1.1.).

Figura 4.1.1. Diagrama de bloques de una


PROM (Programmable Read-Only Memory).
Arreglo Lgico Programable PLA (PLA,
Programmable Logic Array)
El PLA es un PLD formado por una matriz
AND programable y una matriz OR
programable. La PLA ha sido desarrollada
Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

para superar algunas de las limitaciones de


las memorias PROM (Ver Fig 4.1.2.).

Figura 4.1.2. Diagrama de bloques de una


PLA (Programmable Logic Array).
Los dispositivos lgicos programables como
las PAL y las GAL se vern en la siguiente
leccin.
En la actualidad existen soluciones con
Dispositivos Lgicos programables complejos
que combinan arquitectura superior y software
de gran alcance, ofreciendo un nivel sin
precedente en la flexibilidad del diseo.
Herramientas Computacionales Utilizadas
en
las
Metodologias
de
Diseo
Descendentes (Top-Down)
En el diseo Top - Down se captura una idea
en un nivel de abstraccin alto y se
implementa a partir de sta descripcin, en un
proceso hacia abajo incrementando el nivel de
detalle segn lo requerido. La figura 4.3.1.
muestra la forma de diseo Top- Down. En el
primer nivel de la figura se aprecia un sistema
Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

inicial dividido en mdulos, los cuales se


dividen sucesivamente hasta llegar a los
componentes bsicos del circuito o elementos
primarios. Estos elementos se enmarcan en
un cuadrado con la lneas ms gruesa. Los
mtodos de diseo se basan en programas
computacionales
conocidos
como
herramientas de automatizacin del diseo
electrnico (EDA Tools), las cuales sobresalen
por ofrecer una reduccin significativa en el
tiempo del diseo.

Figura 4.2.1. Metodologia De Diseo Top Down


Las herramientas siguen el diagrama de flujo
de la figura 4.4.2.
Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

Figura 4.2.2. Diagrama de Flujo con


herramientas EDA
Este proceso se resume en los siguientes
pasos:
1.
Planteamiento
de
las
especificaciones.
2.
Entrada del diseo:En esta
etapa se realiza una descripcin del
circuito, para la cual existen varias
alernativas,
a.
Captura Esquemtica: Dibujo
del circuito mediante interfaz grfica,
puede ser un diagrama de bloques.
b.
Mediante
lenguajes
de
descripcin HDL como VHDL, Verilog,
Abel y CUPL.
c.
Diagramas de transicin de
estados.
Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

d.
Formas de onda Tablas de
verdad.
3.
Simulacin HDL (Opcional):
Simula el comportamiento del circuito que
se acaba de describir antes de la sntesis.
4.
Sntesis lgica: Consiste en
tomar la descripcin HDL y a partir de ella,
generar y simplificar las ecuaciones
lgicas correspondientes al circuito
descrito.
5.
Simulacin funcional: Simula las
ecuaciones lgicas, sin tener en cuenta los
retardos.
6.
Implementacin del diseo: Los
pasos a seguir dependen del tipo de PLD
que se est utilizando en el diseo.
Trazado del mapa,
Colocacin y
enrutamiento, Creacin del archivo para la
programacin del dispositivo. Revisa si el
circuito se adapta al chip; No. salidas, No.
de trminos productos por salida.
7.
Simulacin temporal: Despus
de la implementacin ya se conoce como
queda programado el circuito y se puede
realizar una simulacin teniendo en cuenta
los retardos.
Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

8.
Programacin:
La
implementacin genera un archivo JEDEC
que indica el estado de las conexiones.
Este archivo se usa para programar (o
quemar el chip).
Ventajas del Diseo Top - Down
La metodologia de diseo descendente
disminuye el tiempo de diseo. Por medio de
los programas CAD para diseo de impresos
se ha logrado disminuir el tiempo a 1/10 parte
de lo que se gastaba antes, cuando esto se
hacia antes manualmente. En la realizacin
de las simulaciones no es necesario slo un
prototipo, ya que este generalmente funciona;
antes se deba repetir el proceso 2 o 3 veces
hasta que el prototipo funcionara.
Las
ltimas
herramientas
de
diseo
electrnico permiten implementar de forma
automtica la metodologa de diseo Top Down.
Lenguajes de Descripcin de Hardware
(HDL - Hardware Description Language)
Los lenguejes HDL permiten realizar el primer
paso de la metodologa del diseo
descendente. Se describen en un lenguaje de
alto nivel el comportamiento requerido del
Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

circuito a disear. Esta descripcin se puede


hacer mediante tablas de verdad, lista de
transiciones de estados, ecuaciones lgicas.
Con base a la descripcin, el programa realiza
los siguientes pasos:
1.
Sintetiza
y
simplifica
las
ecuaciones lgicas.
2.
Simula las ecuaciones.
3.
Sintetiza el circuito lgico.
4.
Simula el circuito lgico.
5.
Sintetiza
el
archivo
para
programar un PLD.
Entre otras ventajas, se pueden mencionar las
siguientes:
6.
EL programa HDL es el mismo
as cambie la tecnologa, Ejemplo: FPGA,
transistores 2.5m ., 1.2 m .
7.
Facilita la comunicacin entre
los diseadores.
8.
Facilita el uso de las partes de
un diseo en otros (Reutilizacin).
9.
Es
posible
verificar
el
funcionamiento del sistema dentro del
proceso de diseo sin necesidad de
implementar el circuito.
Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

10.
Las simulaciones del diseo,
antes de que este sea implementado,
permiten probar la arquitectura del sistema
para tomar decisiones en cuanto a
cambios en el diseo.
11.
Las herramientas de sntesis
tienen la capacidad de convertir una
descripcin hecha en un HDL, VHDL por
ejemplo, a compuertas lgicas y adems,
optimizar dicha descripcin de acuerdo a
la tecnologa utilizada.
12.
Las descripciones en un HDL
proporcionan
documentacin
de
la
funcionalidad
de
un
diseo
independientemente de la tecnologa
utilizada.
13.
Una descripcin realizada en un
HDL es ms fcil de leer y comprender
que los nestlist o circuitos esquemticos.
14.
Un circuito hecho mediante una
descripcin en un HDL puede ser utilizado
en
cualquier
tipo
de
dispositivo
programable capaz de soportar la
densidad del diseo. Es decir, no es
necesario adecuar el circuito a cada
Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

dispositivo porque las herramientas de


sntesis se encargan de ello.
Lenguajes HDL ms populares
En
la
actualidad
existen
diversas
herramientas de diseo para integrar sistemas
de gran complejidad. Los lenguajes de
descripcin de hardware constituyen una
opcin de diseo de soluciones de sistemas
electrnicos.
ABEL
El lenguaje ABEL es el ms utilizado en los
PLDs. El lenguaje ABEL facilita la
programacin de PLDs combinatorios y
secuenciales. Un circuito en ABEL se puede
describir en forma de ecuacin lgicas, tabla
de verdad o en transicin de estados.
El programa ABEL cumple los siguientes
pasos:
15.
Verifica si existen errores en la
sintaxis del programa fuente.
16.
Simplifica
o
sintetiza
las
ecuaciones segn sea el caso.
17.
Simula las ecuaciones.
18.
Puede escoger el dispositivo
que mejor se adapte, o verificar si el
Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

dispositivo especificado s se adapta a la


aplicacin.
19.
Genera el archivo JEDEC para
la programacin del PLD.
VHDL
El VHDL es un lenguaje de descripcin y
modelado diseado para descibir en forma
entendible la funcionalidad y la organizacin
del hardware de los sistemas digitales y otros
componentes. VHDL maneja una sintaxis
amplia y flexible. El lenguaje VHDL permite el
diseo Top -Down o en otras palabras;
modelar los bloques de alto nivel, simularlos y
adecuar la funcionalidad en alto nivel antes de
llegar a los niveles bajos de abstraccin en la
implementacin del diseo.
CUPL
El lenguaje CUPL se describir en la leccion 5
de este captulo.
Herramientas para la Automatizacin del
Diseo Electrnico (EDA Tools)
Las herramientas EDA ("Electronic Design
Automation") son las herramientas de
hardware y software utilizadas en el diseo de
sistemas electrnicos.
Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

El diseo de hardware tiene un inconveniente


que no existe en el desarrollo de software. El
problema es el alto costo en el ciclo de
diseo, desarrollo del prototipo, pruebas y
reinicio del ciclo. La etapa de costo ms
elevado es el prototipo. Por necesidad del
mercado, se impone la reduccin de costos
en esta etapa, con el fin de incluir la fase de
desarrollo del prototipo al final del proceso,
evitando la repeticin de varios prototipos,
razn por la cual se encarece el ciclo. La
introduccin de la fase de simulacin y
verificacin
de
circuitos
utilizando
herramientas EDA, hace no necesaria la
comprobacin del funcionamiento del circuito
por medio de la implementacin fsica del
prototipo.
Las herramientas EDA estn presentes en
todas las fases del ciclo de diseo de
circuitos. Primero en la fase de generacin del
sistema que puede representarse en un
diagrama esquemtico, en bloques o de flujo.
Se encuentra tambin la fase de simulacin y
comprobacin de circuitos, donde diferentes
herramientas
permiten
verificar
el
funcionamiento
del
sistema.
Estas
Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

simulaciones pueden ser de eventos,


funcionales, digitales o elctricas, de acuerdo
al nivel requerido. Despus estn las
herramientas EDA utilizadas en la sntesis y
programacin de circuitos digitales en
dispositivos lgicos programables. Existen,
adems, las herramientas EDA orientadas a
la fabricacin de circuitos. En el caso del
diseo de hardware estas herramientas sirven
para la realizacin de PCBs ("Printed Circuit
Boards" o placas de circuito impreso), o para
desarrollar circuitos integrados de aplicacin
especifica como ASICs ("Aplication Specific
Integrated Circuits").
Las principales caractersticas y finalidad de
algunas herramientas EDA que intervienen en
el diseo de circuitos son:
1.
Lenguajes de Descripcin de
Circuitos.
2.
Diagramas Esquemticos.
3.
Grafos y Diagramas de Flujo.
4.
Simulacin de Eventos.
5.
Simulacin Funcional.
6.
Simulacin Digital.
7.
Simulacin Elctrica.
8.
Diseo de PCBs.
Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

9.
Diseo de Circuitos Integrados.
10.
Diseo
con
Dispositivos
Programables.
Para la automatizacin del diseo electrnico
se utilizan herramientas EDA. Ventajas de la
metodologia de diseo que usa herramientas
EDA
Entre las ventajas de la metodologia de
diseo con el empleo de herramientas EDA
est la reduccin del diseo, la posibilidad de
dividir un proyecto en mdulos que se
desarrollan por separado, la independencia
del diseo con respecto a la tecnologa, la
posibilidad de la reutilizacin de los diseos,
la optimizacin de los circuitos y las
simulaciones posibles con las herramientas.
Con la aparicin de herramientas EDA cada
vez ms complejas, que integran en el mismo
marco de trabajo las herramientas de
descripcin, sntesis, simulacin y realizacin;
apareci la necesidad de disponer de un
mtodo de descripcin de circuitos que
permitiera el intercambio de informacin entre
las diferentes herramientas que componen el
ciclo de diseo. En principio se utiliz un
lenguaje de descripcin que permita,
Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

mediante sentencias simples, describir


completamente un circuito. A estos lenguajes
se les llam Netlist puesto que eran
simplemente
eso,
un
conjunto
de
instrucciones
que
indicaban
las
interconexiones entre los componentes de un
diseo.
Principios
y
Aplicaciones
de
los
Dispositivos Lgicos Programables como
las PALs y las GALs.
Una matriz programable es una red de
conductores distribuidos en filas y columnas
con un fusible en cada punto de interseccin.
Las matrices pueden ser fijas o programables.
Todos los PLD estn formados por matrices
programables.
Estrucutura Interna de un PLD
La estructura bsica de un PLD et formada
por un arreglo de puetas AND y OR
interconectadas a travs de fusibles.
Matriz AND
La matriz AND est formada por una red de
compuertas AND conectadas a travs
conductores y fusibles en cada punto de
interseccin. Cada punto de interseccin entre
una fila y una columna se denomina celda. La
Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

figura 4.4.1 muestra un arreglo de compuertas


no programado.

Figura 4.4.1. Arreglo AND No Programado.


Cuando se requiere una conexin entre una
fila y una columna, el fusible queda intacto y
en caso de no requerirse la conexin, el
fusible se abre en el proceso de
programacin. La figura muestra 4.4.2 un
arreglo AND programado.

Figura 4.4.2. Arreglo AND Programado.


Matriz OR
La matriz OR est formada por una red de
compuertas OR conectadas a travs
Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

conductores y fusibles en cada punto de


interseccin. La figura 4.4.3 muestra un
arreglo de compuertas no programado.

Figura 4.4.3. Arreglo OR No Programado.


La figura muestra 4.4.4 un arreglo OR
programado.

Figura 4.4.4. Arreglo OR Programado.


Los dispositivos lgicos programables que se
usan
ms
comnmente
para
la
implementacin lgica son la PAL y la GAL.
Lgica de Arreglos Programables (PAL,
Programmable Array Logic)
Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

La PAL es un PLD que se ha desarrollado


para superar ciertas desventajas de la PLA,
tales como los largos retardos debidos a los
fusibles adicionales que resultan de la
utilizacin de dos matrices programables y la
mayor complejidad del circuito. La PAL bsica
est formada por una matriz AND
programable y una matriz OR fija con la lgica
de salida (Ver figura 4.4.5). Esta estructura
permite implementar cualquier suma de
productos lgica con un nmero de variables
definido, sabiendo que cualquier funcin
lgica puede expresarse como suma de
productos. La PAL se implementa con
tecnologa bipolar (TTL o ECL).

Figura 4.2.5. Diagrama de bloques de una


PAL (Programmable Logic Array)
Nomenclatura de una PAL
Los lderes en fabricacin de PLDs, Texas
Instruments y AMD, tienen una notacin para
identificar los dispositivos. Por ejemplo, la
estructura en PLD AMD es:
Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

Figura 4.2.6. Diagrama de bloques de una


PAL (Programmable Logic Array)
Dentro de la estructura de salida se tienen las
posibilidades contenidas en la tabla 4.2.1.
Cdigos Tipos de Salidas
L
Combinatoria con nivel bajo activo.
H
Combinatoria con nivel alto activo.
R
Registro.
RA
Registro asncrono.
X
Registro O exclusivo.
V
Vestil.
M
Macroclula.
Tabla 4.2.1. Tipos de Salidas de una PAL.
PALs comerciales
En el mercado se manejan referencias como
la PAL16L8, PAL20L8, PAL20V8 y PAL20X8.
Matriz Lgica Genrica (GAL, Generic
Array Logic)
Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

La GAL se forma con una matriz AND


reprogramable y una matriz OR fija , con una
salida lgica programable. La figura 4.4.7.
muestra el diagrama de bloques de una GAL.
Esta estructura permite implementar cualquier
expresin lgica suma de productos con un
nmero de variables limitado.

Figura 4.4.7. Diagrama de Bloques de una


GAL (Generic Array Logic).
Las dos principales diferencias entre los
dispositivos GAL y PAL son:
a) la GAL es reprogramable y
b) la GAL tiene configuraciones de salida
programables. La GAL se puede programar
una y otra vez, ya que usa tecnologa ECMOS
(Electrically Erasable CMOS, CMOS borrable
elctricamente).
En la figura 4.4.8. se ilustra la estructura
bsica de una GAL con dos variables de
entrada y una de salida. La matriz
reprogramable es esencialmente una red de
conductores ordenados en filas y columnas,
Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

con una celda CMOS elctricamente borrable


(E2CMOS) en cada punto de interseccin, en
lugar de un fusible como en el caso de las
PAL. Estos PLDs son borrables y
reprogramables. El transistor CMOS tiene 2
compuertas, una de ellas totalmente aislada,
flotante. Para programar cada celda se aplica
o no una tensin mayor a VDD (alta) en la
compuerta no flotante. Al aplicar esta tensin
el dielctrico conduce y la compuerta flotante
se carga negativamente, dejando en
operacin normal siempre abierto el transistor.

Figura 4.4.8. Estructura Bsica de una GAL


(Generic Array Logic)
En la figura 4.2.9. se muestra un ejemplo de
una sencilla matriz GAL programada para
obtener la suma de tres productos.

Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

Figura 4.4.9. Programacin de una GAL


(Generic Array Logic).
El borrado se puede hacer de dos formas:
o
Con
luz
ultravioleta(UV):
exponiendo el transistor de 5 a 20 minutos
a luz UV, el dielctrico conduce y permite
la descarga de la compuerta flotante. Para
este borrado el chip lleva una ventana de
cuarzo transparente.
o
Borrado elctrico: Es el ms
usado hoy en da. La capa que aisla la
compuerta flotante es ms delgada. Al
aplicar una tensin alta con polaridad
contraria , la compuerta flotante se
descarga porque el dielctrico conduce.
Las ventajas ms importantes de esta
tcnica son una descarga rpida, no se
requiere UV y no se requiere sacar el chip
de su base.
GALs comerciales
Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

Las diversas GAL tienen el mismo tipo de


matriz programable. Se diferencian en el
tamao de la matriz, en el tipo de OLMC (Las
macroceldas Lgicas de Salida que contienen
circuitos lgicos programables que se pueden
configurar
como
entrada
o
salida
combinacional y secuencial) y en los
parmetros de funcionamiento, tales como
velocidad y disipacin de potencia.
Referencia Nmero tPD ICC Caracterstica
de
(mA) s
Pines
GAL16V8A 20
10, 55, E2CMOS PLD
15, 115 Genrica
25
GAL18V10 20
15, 115 E2CMOS PLD
20
Universal
GAL22V8A 24
10, 55, E2CMOS PLD
15, 115 Genrica
25
GAL22RA1 24
15, 115 E2CMOS PLD
0
20
Universal
GAL22V10 24
10, 130 E2CMOS PLD
15,
Universal
25
Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

GAL26CV1 28
2
GAL6001
24

CIRCUITOS DIGITALES II

15, 130
20
30, 150
35
30, 190
35

EE V

UTP

E2CMOS PLD
Universal
E2CMOS FPLA

E2CMOS PLD
Programable en
Circuito
Tabla 4.2.2. Familias GAL del fabricante
Lattice
Programacin en CUPL
En el medio electrnico hay diferentes
herramientas de software para programar
PLDs. Todos estos tienen semejanzas
compartidas y sus diferencias distintivas. Uno
de los compiladores disponibles de alto nivel
de uso difundido actualmente es CUPL. En
esta leccin se pretende dar una introduccin
a la programacin de PLDs utilizando este
compilador dejando por parte del estudiante la
profundizacin en el tema.
CUPL es una Herramienta de programacin
para PLDs y su nombre proviene de la sigla
en
ingls
de
Compiler
Universal
Programmable Logic , la cual traduce
Compilador
Universal
para
Lgica
Programable. Este compilador ofrece varias

ispGAL16Z8 24

Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

caractersticas que permiten desarrollos


basados en la metodologa Top-Down y puede
generar archivos de programacin para una
gran variedad de dispositivos programables.
La programacin en este Software se efecta
mediante la creacin de un archivo de texto
que contiene el cdigo para la programacin
del dispositivo. Este archivo tiene tres partes
bsicas: el encabezado, la declaracin de los
pines de entrada y las definiciones lgicas.
Generalmente se emplea un archivo como el
que se muestra en la Lista 4.5.1 para dar
inicio al diseo lgico y tener una forma
estandar para trabajar en CUPL.
Name
XXXXX;
Partno
XXXXX;
Date
Revision
Designer
Company
Assembly
Location
/****************************************************
***********/
Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

/*Entradas*/
pin
1
pin
1
pin
1
pin
1

=
=
=
=

;
;
;
;

/*
/*
/*
/*

*/
*/
*/
*/

/*Salidas*/
pin
1
pin
1
pin
1
pin
1

=
=
=
=

;
;
;
;

/*
/*
/*
/*

*/
*/
*/
*/

/*Variables
pin
1
pin
1
pin
1
pin
1

Intermedias
=
;
=
;
=
;
=
;

(Opcionales)*/
/*
*/
/*
*/
/*
*/
/*
*/

/****************************************************
***********/
/*
Ecuaciones
Lgicas*/
/****************************************************
***********/
Lista 4.5.1. Archivo de Ejemplo de Entrada en
CUPL
Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

En este archivo los comentarios los grupos de


caracteres "/*" y "*/" son empleados para
incluir comentarios por parte del usuario, los
cuales permiten organizar el archivo de una
forma comprensible y especificar la funcion de
ciertos tipos de instrucciones.
En las siguientes secciones se indicarn
algunas caractersticas a tener en cuenta para
programar un PLD en CUPL y la sintaxis que
se debe emplear en el archivo fuente para
implementar un diseo.
Asignacin de Pines
La asignacin de los pines corresponde al
nombramiento de los pines del dispositivo con
nombres descriptivos para las entradas y
salidas. Los nombres se pueden asignar de
forma libre y corresponden a las variables que
se emplean para definir las ecuaciones
lgicas.
La asignacin de pines se puede hacer de
forma invividual o grupal. En la tabla 4.5.1 se
indica la sintaxis que se emplea en CUPL
para asignar los pines de un dispositivo
programable. Observe que cada asignacin
finaliza con un punto y coma (;).
Sintaxis
Sintaxis Abreviada
Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

General
Pin
[2,3]
Pin 1 = Nombre; Nombre2];

[Nombre,

Pin
2
Nombre;

![Nombre,

! Pin
[2,3]
Nombre2];

Pin 3 = !SET;
Pin [2..3] = [Q0..3];
Tabla 4.5.1. Asignacin de Terminales
El signo "!" en la asignacin de pines indica
que la variable se complementa. Este signo
se emplea generalmente para declarar
variables activas en bajo
Definicin de Variables Intermedias
Las variables intermedias corresponden a
variables asignadas a una ecuacin lgica
pero que no representan un pin en el
dispositivo. Generalmente esta variables se
utilizan cuando se requiere manejar varias
varibles de entra y salidas.
El objetivo de declarar variables intermedias,
consiste bsicamente en reducir el tamao de
las ecuaciones lgicas asignadas a los pines
de salida y permitir organizar el archivo de
entrada de una forma comprensible. Su uso
no es obligatorio en el archivo de entrada para
CUPL.
Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

Definicin de Ecuaciones Lgicas


Las ecuaciones lgicas corresponden a las
expresiones lgicas que relacionan los pines
de entrada y salida. y en el archivo fuente se
ubican despus de la asignacin de pines y
variables intermedias.
Las ecuaciones lgicas deben tener cierta
sintaxis para que el programa interprete las
operaciones lgicas. En la tabla 4.5.2 se
relacionan los operadores lgicos con lo
cuales se construyen las expresiones lgicas
junto con la sintaxis que exige CUPL.
Formato Formato
Operador Funcin de CUPL Convencional
&
AND
A&B
AB
#
OR
A#B
A+B
!
NOT
!A
A'
$
XOR
A$B
AB
Tabla 4.5.2. Sintaxis de CUPL para
operaciones lgicas
La sintaxis general de las ecuaciones lgicas
en CUPL es la siguiente:
[!] var [.ext] = exp;
Extensiones de Variables
Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

Las extensiones son atributos que se agregan


a las variables en las ecuaciones lgicas y la
manera de emplearlas en el archivo fuentes
es mediante la sintaxis: "V.E", donde V es la
variable lgica y E es la extensin.
Las extensiones para las variables son
empleadas para definir funciones que
dependen de la configuracin fsica de las
salidas del PLD. Generalmente el tipo de
salidas que se pueden configurar en un PLD
son salidas combinacionales, secuenciales y
triestado, entre otras. En la figura 4.5.1 se
muestra un diagrama ilustrativo del tipo de
salidas que se pueden configurar en CUPL
segn la extensin seleccionada, y un
ejemplo sobre su utilizacin.
Figura
4.5.1.
Circuito Ilustrativo
del tipo de salidas
configurables en un
PLD
(Tomado de ATMEL
- WinCUPL User's
Manual)
Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

Teniendo en cuenta que las varibles lgicas


pueden incluir extensiones, la sintaxis que se
debe emplear para las ecuaciones lgicas es
la siguiente:
[!] var [.ext] = exp;
donde var es la variable lgica , ext es la
extensin y exp es la expresin lgica.Un
sencillo ejemplo usando el software para
creacin de CUPL servir para ilustrar el
proceso.
En CUPL existe otro tipo de sintaxis para
simplificar un poco la ecuaciones lgicas. Una
de ellas consiste en la utlizacin de los
operadores de forma cosecutiva a varias
variables. En la tabla 4.5.2 se indica como se
pueden representar las expresiones lgicas
de forma abreviada.
Forma Convencional Forma Abreviada
A3 & A2 & A1 & A0

[A3, A2, A1, A0]:&

B3 # B2 # B1 # B0

[B3..B0]:#

C3 $ C2 $ C1 $ C0
[C3, C2, C1, C0]:$
Tabla
4.5.3.
Forma
abreviada
para
representar expresiones lgicas con un
mismo operador
Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

Existe otro tipo de sintaxis similar a la anterior


que define rangos de datos. Inicialmente se
debe definir un campo de la siguiente forma:
FIELD entrada = [A3..A0];
Luego se escribe el rango de la ecuacin de
la forma:
salida = entrada:[C..F];
Esta ecuacin equivale a escribir la siguiente
expresin:
salida = entrada:C # entrada:D # entrada:E #
entrada:F;
Definicin de Alternativa de las Salidas
En CUPL existen otras formas alternativas de
definir las salidas. Entre ellas exiten las Tablas
de Verdad, Mquinas de Estado y Estamentos
Condicionales. A contnuacin de indica la
sintaxis de cada uno de estos tipo de
declaracin de salidas lgicas.
Tablas de Verdad
Como su nombre lo indica este tipo de
sintaxis agrupa la informacin sobre la
asociacin de entradas y salidas en forma de
tabla. Para declara una tabla de verdad
inicialemnte se declarar las entradas y
salidas. Despus de ello se asignan los
valores uno a uno de las entradas y salidas.
Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

En la Lista 4.5.2 se indica las sintaxis para un


decodificador de Hexadecimal a BCD.
FIELD Entrada =
[Ent3..0];
FIELD Salida =
[Sal3..0];
TABLE Ent =>
Sal
{
0=>
00;
1=>01;
2=>02;
3=>03;
4=>04;
5=>05;
6=>06;
7=>07;
8=>08;
9=>09;
A=>10;
B=>11;
C=>12;
D=>13; E=>14;
F=>15;
}
Lista 4.5.2. Sintaxis en CUPL para crear
Tablas de Verdad
Mquinas de Estado

Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

Este tipo de definicin SEQUENCE


permite declarar la relacin lista_vars_estado
entradas
y
salidas {
mediante la definicin de PRESENT
mquinas de estado. La estado_n0
sintaxis empleada para IF
este tipo de definicin se (condicin1)NEXT
ilustra en las lneas de estado_n1;
cdigo de la Lista 4.5.3.
IF (condicin2)
Lista 4.5.3. Sintaxis en NEXT estado_n2
CUPL para crear Mquinas OUT
sal_n0;
de Estado
DEFAULT
Estamentos Condicionales NEXT estado_n0;
Los
estamentos PRESENT
condicionales es otro tipo estado_n1
de sintaxis que se puede NEXT
emplear en CUPL para estado_n2;
definir el diseo lgico. ...
Bsicamente est sintaxis ...
es muy similar a la un ...
lenguaje de programcin PRESENT
de alto nivel. La sintaxis estado_nn
que soporta CUPL se estamentos;
relaciona en la lista 4.5.4. }
CONDITION
{
Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

IF expr0 OUT
var;
.
.
IF exprn OUT
var;
DEFAULT
OUT
var;
}
Lista 4.5.4. Sintaxis en CUPL para crear
Estamentos Condicionales

Ejemplo de Programacin en CUPL


El cdigo que se indica en la Lista 4.5.5.
corresponde al texto del archivo fuente para
programar un GAL16V8, que ilustra como
programa funciones lgicas bsicas en CUPL.
Name
Funciones
lgicas;
Partno
GAL16V8;
Revision
01;
Date
03/01/03;
Designer
J.Beltran;
Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

Company
Universidad
Nacional;
Location
X;
Assembly
X;
Device G16V8;
/
*****************************************************
*/
/* Archivo Fuente de ejemplo en CUPL para
implementar
funciones
lgicas
*/
/****************************************************
**/
/* Definicin de las entradas */
Pin
1
=
Pin 2 = b;
/*
Definicinde
las
salidas
Pin
12
=
Pin
13
=
Pin
14
=
Pin
15
=
Pin
16
=
Pin
17
=
Pin
18
=
Pin 19 = xnor;
/* Definicin de Ecuaciones Lgicas*/
Ing. Luis Pacheco Cribillero

a;
*/
inva;
invb;
and;
nand;
or;
nor;
xor;

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

inva = !a;
/* Inversin de las
entradas
a
y
b*/
invb
=
!b;
and = a & b;
/* Funcin AND */
nand = !(a & b);
/* Funcin NAND */
or = a # b;
/* Funcin OR*/
nor = !(a # b);
/* Funcin NOR */
xor = a $ b;
/* Funcin XOR */
xnor = !(a $ b);
/* Funcin XOR
Negada*/
Lista 4.5.5. Archivo fuente de ejemplo en
CUPL para implementacin de funciones
lgicas
Una vez se tiene el archivo fuente de un
diseo lgico, el paso a seguir es compilar el
archivo para generar el archivo de
programacin JEDEC, el cual se emplea para
programar
el
dispositivo.
Durante
el
procesode compilacin del archivo fuente
CUPL verifica la sintaxis del archivo e indica
los posibles errores que puedan existir. Si el
programa no detecta errores se genera el
archivo .JED.
CUPL entre sus funciones tiene un simulador
con el cual se pueden comprobar las salidas.
Este proceso se efecta mediante la
Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

generacin
de
varias
entradas
que
comprueban los estados de las salidas para
verificar las ecuaciones lgicas.
La simulacin se recomienda para verificar
que el diseo es correcto y que no existe
ningn error. Despus de ello se puede
proceder a programar el dispositivo y
finalmente verificar su funcionamiento.
PLD's Combinatorios
Utilizando una GAL16V8, escribir en CUPL el
programa y la correspondiente simulacin,
para programar este dispositivo como una
ALU de 4 bits que realice las operaciones
especificadas en la siguiente tabla.
S2 S1 S0 OPERACIN
1 0 0 AND
1 0 1 OR
1 1 0 NOT A
1 1 1 XOR
0 X X A+1

Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

El preinforme debe incluir los siguientes


archivos:
*.pld: programa fuente de CUPL.
*.si: archivo para simulacin.
*.doc:
Informacin
sobre
ecuaciones
simplificadas y diagrama de pines
*.so: Archivo que muestra los resultados de la
simulacin.
Opcionalmente pueden incluir el archivo
JEDEC (*.jed).
El da de la prctica tambin debe traer el
disquete con el archivo *.jed y el dispositivo
GAL16V8, el cual deben montar y probar en
un entrenador, una vez haya sido
programado.
Contador con Detector Fotoelctrico
Montar y probar un circuito para detectar el
paso de objetos. El detector debe usar una
pareja LedFototransistor con un alcance
mnimo de 20 cms. El contador debe tener 2
dgitos decimales, con sus visualizadores y
Ing. Luis Pacheco Cribillero

FACULTAD DE ELECTRNICA Y MECATRNICA

CIRCUITOS DIGITALES II

EE V

UTP

una entrada para borrado, debe contar desde


0 hasta 29. Se pueden utilizar 2 chips
CD4029 en cascada.

Nota: Se deben seleccionar los valores


apropiados para las resistencias R1 y R2.

Ing. Luis Pacheco Cribillero

Você também pode gostar