Você está na página 1de 12

Figura 1

George Boole
Diseo de sistemas digitales con Lgica Programable

M.C. Juan Angel Garza Garza, M.C. Guadalupe Ignacio Cant Garza, M.C. Julin E. Hernandez Venegas
Facultad de Ingeniera Mecnica y Elctrica de la Universidad Autnoma de Nuevo Len
Pedro de Alba s/n, CD. Universitaria, San Nicols de los Garza, Nuevo Len
TEL. 018183294020 Ext. 5921 Fax 018183320904
jagarza@uanl.mx
) Ttulo

RESUMEN
En esta ponencia se discute el Diseo Digital mediante el
uso de Dispositivos Lgicos Programables (PLDs), por
medio de Programas de Captura Esquemtica y Lenguajes
de Descripcin de Hardware (HDLs). Se incluyen
ejemplos de sistemas Combinacionales y sistemas
secuenciales sncronos y asncronos.
La capacidad de los PLDs permiten implementar una gran
variedad de diseos y aplicaciones de la lgica
combinacional y secuencial utilizando el mismo
dispositivo para diferentes aplicaciones ya que es
reprogramable, de tal forma que siguiendo un proceso
sencillo, y en poco tiempo, se puede obtener un dispositivo
a la medida (ASIC Application Specific Integrated
Circuits) que antes solo era posible fabricarlo en la
industria utilizando maquinaria especializada.
Este procedimiento de diseo resulta de gran utilidad en la
enseanza de la Electrnica Digital gracias a que los
PLDs son econmicos, los lenguajes de descripcin de
hardware poderosos y fciles de programar y el software
necesario para el desarrollo se puede encontrar con
licencias gratuitas en Internet.

1. INTRODUCCIN
La Electrnica, a travs de un sin nmero de aplicaciones
tecnolgicas y con una rapidez arrolladora, ha logrado
intervenir prcticamente en todos los mbitos de la vida
cotidiana de la sociedad contempornea.
Tal vez sorprende que la palabra Electrnica, que es hoy
tan comn, entr como vocablo del medio tecnolgico en
1930, para abarcar la radio y las aplicaciones industriales
de tubos de vaco (bulbos).
Lo que dispar verdaderamente el desarrollo de la
electrnica, sin embargo, fue el invento del transistor en
1947. John Bardeen, Walter Brattain y William Shockley
de los Laboratorios Bell, descubren el efecto transistor, el
cual permite cambios en la conductividad de los materiales
mediante el uso de corriente elctrica.
En la dcada de 1960 surge
otro campo de la electrnica
denominado Electrnica
Digital, el cual se basa en el
lgebra Booleana creada por
George Boole (1815-1864),
lgico y matemtico britnico,
que en 1854 escribi Las leyes
del pensamiento, en el cual
describe un sistema algebraico en donde las proposiciones
lgicas se indican por smbolos y pueden relacionarse
mediante operadores matemticos abstractos que
corresponden a las leyes de la lgica. La principal
caracterstica del lgebra booleana es que las variables
slo pueden tomar dos valores: Uno o Cero (Verdadero o
Falso), lo cual se adapta perfectamente a la electrnica
digital.
Heidi Elliot de la revista Electronic Business opina que lo
que empez como dispositivo para reemplazar el tubo de
vaco se puede comparar ahora con el invento de la rueda.

2. ASICS
Desde los finales de la dcada de 1970, los equipos
electrnicos digitales utilizan Circuitos Integrados (CI o
CHIPS) de funcin lgica fija, realizados en pequea o
mediana escala de integracin (SSI, MSI).
Para la implementacin de aplicaciones muy complejas,
que requieren de una gran cantidad de circuitos de funcin
fija, por lo que resulta ms conveniente intgralos en un
solo dispositivo fabricado a la medida, los cuales son
llamados: ASICS, Application Specific Integrated Circuits.
(Circuitos Integrados de Aplicacin Especifica o circuitos
a la medida).
Entre las ventajas que presenta el uso de los ASICs
podemos mencionar que: Ahorran espacio, reducen el
nmero de dispositivos, tienen menor costo, reducen el
tiempo de ensamble, bajo consumo de potencia, menor
calentamiento, facilidad en la verificacin (control de
calidad) y mejor confiabilidad.
Los ASIC se pueden clasificar por su tecnologa de
fabricacin en cuatro categoras: Arreglos de Compuertas,
Celdas Estndar, Full Custom y Lgica Programable

Figura 2 Clasificacin de los ASICS
Las tecnologas de Arreglos de Compuertas, Celdas
Estndar y Full Custom, estn encaminadas a la
produccin industrial de alto volumen y requieren de
equipo especializado para la fabricacin del ASIC.
Por otro lado, con la Lgica Programable es posible
disear e implementar funciones desde un solo circuito
con el uso de solamente una computadora, un programador
y software de Diseo Electrnico Asistido EDA
(Electronic Design Assistant).

3. PLD
Un dispositivo de lgica programable (PLD) es un
Circuito Integrado cuya estructura lgica final es
directamente configurada por el usuario, sin necesidad de
llevar a cabo ningn proceso de fabricacin.
Peggy Aycinena de la revista electrnica Integrated
System Design asegura que los dispositivos lgicos
programables son la ola del futuro porque presentan las
siguientes caractersticas: 10,000 compuertas en 1 in
2
,
entradas y salidas configurables, reprogramables y
programables remotamente para diferentes funciones.
Los PLDs facilitan el proceso de diseo y reducen el
tiempo de desarrollo, cuando se requieren prototipos o
produccin de baja escala, pues todo el proceso se puede
llevar a cabo con la ayuda de una computadora personal,
programas de aplicacin y el programador los cuales
actualmente estn disponibles a bajo costo.
Algunos fabricantes de PLDs son: Actel
(www.actel.com), Altera Corp. (www.altera.com), Atmel
Corp. (www.atmel.com), Chip Express
(www.chipexress.com), Cypress Sem.
(www.cypress.com), Lattice Sem. (www.latticesemi.com),
Quicklogic Corp. (www.quicklogic.com), Xilinx Inc.
(www.xilinx.com).
Los diferentes tipos de dispositivos de lgica programable
que existen hoy en da pueden clasificarse por su
tecnologa o su capacidad (Figura 2) tales como:
Simplex Programmable Logic Device SPLDs.
Complex Programmable Logic Device CPLDs.
Field Programmable Gate Arraysevice FPGAs.
Field Programmable Inter Connect FPICs.
De la clasificacin anterior en este documento slo nos
enfocaremos, como ejemplos a los Simplex Programmable
Logic Device SPLDs.
Los SPLDs estn constituidos por un arreglo de
compuertas AND, seguido por otro arreglo de compuertas
OR, con uno o ambos arreglos programables. Algunos
incluyen Flip Flops.

Figura 3 Arreglo And Or de un SPLD.
A su vez los SPLDs se pueden clasificar segn su
estructura interna en:
PAL Programmable Array Logic, VANTIS.
GAL Generic Array Logic, Lattice Semiconductor.
PLA Programmable Logic Array.
PLD Programmable Logic Device.

Figura 4 Clasificacin de los SPLDs
De estos tipos de SPLDs, el GAL destaca por su bajo
precio y versatilidad por lo que lo describiremos en el
siguiente punto.

4. GAL
GAL (Generic Array Logic), en espaol Arreglo Lgico
Genrico, son un tipo de circuito integrado, de marca
registrada por Lattice Semiconductor, que ha sido
diseado con el propsito de sustituir a la mayora de las
PAL, manteniendo la compatibilidad de sus terminales.
El GAL bsicamente est formado por una matriz AND
reprogramable y una matriz OR fija con configuracin
programable de salidas y/o entradas.
Entrada 1
Salida 1
Salida 2
Salida M
Entrada 2
Entrada n
Matriz
AND
reprogramable
Matriz
OR fija
y lgica
de salida
programable

Figura 5 Estructura bsica de un GAL
Como un ejemplo de las caractersticas ofrecidas por este
tipo de dispositivos, a continuacin se enlistan las
especificaciones ms relevantes del circuito GAL16V8 de
marca Lattice Semiconductor.
fmax = 250 Mhz.
3.5 ns mximo tiempo de propagacin.
2.5 ns mximo tiempo de propagacin de la entrada
de reloj al dato de salida.
Celdas Reprogramables.
Vcc = 5 Volts 5%
Consumo de corriente 90 mA.
Rapidez en el borrado < 100 ms.
20 aos de retencin de los datos.
8 Output Logic MacroCells (OLMC)
Polaridad de salida Programable.
Temperatura de operacin de 0 a 75 C.
En el GAL16V8, las terminales tienen las siguientes
funciones: La terminal 1 es la entrada de CLK, las
terminales 2 a la 9 son ocho Entradas fijas, la terminal 10
de GND , la terminal 11 como una Entrada de control O/E
(Output/Enable), de la 12 a la 19 ocho terminales
programables OLMC y terminal 20 de VCC .


Figura 6 Distribucin de terminales del un GAL16V8
Las terminales de la 12 a 19 correspondientes al OLMC
(Output Logic Macrocell) pueden programarse para
trabajar como entradas y/o salidas, y en el caso de ser
usadas como salidas estas pueden ser combinacionales o
registradas (Flip Flops), lo cual le da la versatilidad de ser
programado de diferentes formas y para diferentes
requerimientos.
CLK
OLMC
Clr
Pr
S1
S1
S0
Multiplexor
de 4 a 1
lineas
Multiplexor
de 2 a 1
lineas
A la
matriz
programable
Buffer de
tres estados
D Q
Q

Figura 7 Configuracin interna de la OLMC de un GAL16V8.
La programacin de los PLDs en general se lleva a cabo
por medio de programas de aplicacin especializados
siendo las dos estrategias de programacin mas utilizadas
la captura esquemtica y la de lenguaje de descripcin de
hardware (HDL).
La gran ventaja de estas herramientas es el de hacer los
diseos en la computadora, donde los errores son
fcilmente detectables y corregibles.

5. CAPTURA ESQUEMTICA.
Por Captura Esquemtica se entiende el proceso de
descripcin, mediante un dibujo, de un circuito elctrico,
en el se que representan a los diferentes componentes del
circuito y solo se efectan interconexiones entre ellos.
Existen varios programas con la aplicacin de Captura
Esquemtica como el Schematic del IspStarter de Lattice
Semiconductor o Fundation de XILINX entre otros.
Esta tcnica permite simular en la computadora el circuito
virtualmente y verificar su funcionamiento antes de su
fabricacin o implementacin en un PLD, reduciendo as
el ciclo de diseo y el tiempo de obtencin de un producto.

Figura 8 Programa de Captura Esquemtica.
Los cuatro componentes bsicos de la captura esquemtica
son: Smbolos, Conectores, Etiquetas y Puertos de Entrada
y/o Salida.
Smbolos es una representacin
grfica de los componentes.

Conectores (alambre), permite la
interconexin entre las
terminales de los smbolos, o
Dispositivos de entrada/salida.
Etiquetas (Variables), Son los
nombres para la identificacin
de las entradas o salidas.

Puertos de entrada/salida es la
definicin de las caractersticas
de un Puerto de Entrada, Salida
o Puerto Bidirecional.


Utilizando el programa IspStarter de Lattice
Semiconductor, el primer paso en el proceso de obtener el
circuito es precisamente la captura esquemtica en donde
se genera un archivo de extensin .SCH, posteriormente se
pasa al proceso de enlace (link) en donde se valida si los
componentes son permitidos en el dispositivo
seleccionado, adems si el dispositivo tiene la capacidad
de integrar los elementos requeridos (Fit Design). Tambin
es posible efectuar la simulacin antes de obtener el
circuito final con la intencin de asegurar que este cumpla
con los requerimientos solicitados.
En el proceso de enlace se genera un archivo reporte con
extensin .REP que nos indica, entre otras cosas, la
asignacin de terminales (Pin Out) y el archivo JEDEC
con el cual efectuaremos la programacin del circuito a
travs de un programador.

Figura 9 Diagrama del proceso de diseo digital por medio de
captura esquemtica.
La desventaja de la captura esquemtica es que en el
diseo de circuitos grandes no es posible comprenderlos
debido a que hay demasiados componentes e
interconexiones en la pantalla, para esos casos es
recomendable el uso de lenguajes de descripcin de
hardware...
6. LENGUAJES DE DESCRIPCIN DE
HARDWARE.
Otra forma alternativa de diseo es usar un Lenguaje de
Descripcin de Hardware (HDL), en donde se describe el
funcionamiento a travs de instrucciones de alto nivel en
forma similar a un lenguaje de programacin.
Los HDLs ms usados son:
ABEL, Advanced Boolean Expression Language.
VHDL, en donde el acrnimo tiene dos races la V de
VHSIC (Very High Speed Integrated Circuits) y
HDL (Hardware Description Language).
VERILOG idntico en funcin al VHDL
El diseo utilizando HDLs posee varias ventajas sobre la
metodologa tradicional de diseo a nivel compuerta,
algunas de estas ventajas son listadas a continuacin.
Es posible verificar el funcionamiento del sistema
dentro del proceso de diseo sin necesidad de
implementar el circuito.
La simulacin del diseo, antes de que ste sea
implementado mediante compuertas, permitiendo
probar la arquitectura del sistema para tomar
decisiones en cuanto a cambios en el diseo.
Esta metodologa elimina el antiguo mtodo tedioso
de diseo mediante compuertas, reduce el tiempo de
diseo y la cantidad de errores producidos por el
armado del circuito.
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 dispositivo porque las
herramientas de sntesis se encargan de ello.
En este documento se describe la programacin usando el
lenguaje ABEL-HDL.
7. ABEL-HDL
ABEL, Advanced Boolean Expression Language
(Lenguaje Avanzado de Expresiones Booleanas), fue
desarrollado por Data I/O Corporation para la
implementacin de funciones booleanas en dispositivos
lgicos programables.
ABEL puede ser usado para describir el comportamiento
de un sistema digital partiendo de:
Ecuaciones Booleanas.
Descripcin del comportamiento usando
instrucciones tales como WHEN-THEN-ELSE
Tablas de Verdad.
Tablas de Estado
Diagramas de Transicin
ABEL es un archivo de texto que contiene los siguientes
elementos.
1
Documentacin incluyendo nombre del programa y
comentarios.
2
Declaraciones que identifican las entradas y salidas
de las funciones lgicas que sern efectuadas.
3
Instrucciones que especifican las funciones lgicas
que sern efectuadas.
4
Declaracin del tipo de dispositivo en que las
funciones lgicas especificadas se implementaran.
5
Vectores de prueba que especifican las salidas
esperadas de las funciones lgicas para ciertas
entradas


Figura 10 Diagrama del proceso de diseo por medio de HDL.
Las operaciones booleanas pueden ser representadas
fcilmente en el lenguaje ABEL-HDL
Operador Descripcin Ecuacin Smbolo
!
NOT
!A

& AND A&B
# OR A#B

$ EXOR A$B
!& NAND !( A&B)

!# NOR !( A#B)

!$ EXNOR !( A$B)


Figura 11 Expresiones usadas en ABEL-HDL para las
operaciones Booleanas.
La estructura bsica del formato de un archivo en ABEL-
HDL incluye:
1 Module, Inicio del programa
2 Title Lneas de titulo y comentarios (opcional)
3
Declaration Asignacin de las terminales de entrada y
salida del dispositivo.
4
Descripcin lgica (ecuaciones, tablas de verdad, etc.)
5 Test_vectors Vectores de prueba (opcional)
6 End, Final del programa

Para la construccin del archivo en ABEL-HDL se
requiere que:
1.- Todo programa debe contener al inicio la instruccin
MODULE y al final END que indican el principio y el
final del programa.
2.- Los comentarios y las lneas de ttulo son opcionales,
pero es conveniente utilizarlos para describir el
funcionamiento y partes del programa, estos debern de
empezar con comillas () ejemplo Entradas.
3.- Declaraciones (Declarations) por medio de este
comando podemos declarar las entradas y salidas del
sistema.
La declaracin de las variables de entrada
as como la asignacin de terminales
dentro de un GAL, como se muestra en la
figura, se describe en la siguiente lnea:
A, B, C PIN 1,2,3; .
Observe que las variables de entrada estn separadas por
comas (,), en seguida el comando PIN y la terminal
correspondiente a cada variable adems se cierra la
instruccin con punto y coma (;)
Es necesario que la terminal asignada como entrada
cumpla con esa funcin en el GAL. En el caso del
GAL16V8 tiene 8 terminales definidas como entradas
exclusivas 2,3,4,5,6,7,8,9 adems la terminal 1 puede ser
usada como entrada o seal de reloj (Ck) y otras 8 que
pueden ser entradas o salidas 11,12,13,14,15,16,17,18 y
19.
Al definir las variables de salida as como su
asignacin de terminales es necesario incluir
el comando ISTYPE com para indicar que
son salidas Combinacionales y reg para
indicar que las salidas son registradas.
Ejemplo:
FX,FY PIN 19,18 ISTYPE COM; .
Las terminales designadas como salidas en un GAL16V8
son 12,13,14,15,16,17,18 y 19.
Descripciones Lgicas: en esta seccin se pueden usar los
comandos:
EQUATIONS: permite expresar las ecuaciones.
TRUTH_TABLE: permite declarar una Tabla de Verdad
o Tabla de Estados.
WHEN y THEN: permite referir el comportamiento en
algunos casos.
STATE_TABLE: permite describir el comportamiento
del diagrama de transicin de un sistema secuencial.
Algunas instrucciones como If, Then, Else, Goto son
recursos importantes en la simplificacin de la
programacin de los sistemas secuenciales.
Test_Vectors: (Vectores de Prueba:) esta parte es
opcional y podemos efectuar la comprobacin o
simulacin del diseo sin necesidad de implementarlo.

Figura 12 Grfica de la Simulacin de un sistema secuencial.
A continuacin detallaremos la estructura bsica de un
archivo en formato ABEL-HDL utilizando ecuaciones
Booleanas.
Encabezado MODULE EQ
Declaraciones
Declarations
Entradas
A,B,C PIN 1,2,3;
Salidas
FX,FY PIN 19,18 ISTYPE COM;
Descripciones
Lgicas

EQUATIONS
FX= A & B & C # B & C;
FY = (A # !B # C) & ( A # !C);
Vectores de
Prueba
TEST_VECTORS

([A,B,C]->[FX,FY])
[0,0,0]->[.X.,.X.];
[0,0,1]->[.X.,.X.];
[0,1,0]->[.X. ,.X.];
[0,1,1]->[.X. ,.X.];
[1,0,0]->[.X. ,.X.];
[1,0,1]->[.X. ,.X.];
[1,1,0]->[.X. ,.X.];
[1,1,1]->[.X. ,.X.];
Final END
En el apartado del test_vectors se puede usar los valores
esperados de unos y ceros en lugar de .x. y en este caso
efectuara una comparacin entre lo obtenido y lo esperado
A continuacin se mostrar la estructura bsica de un
archivo, en formato ABEL-HDL, utilizando Tabla de
verdad incluyendo el Test_vectors.
MODULE pistas
"Entradas
A,B,C PIN 1,2,3;
"Salidas
DC9,B747 pin 19,18 istype 'com';
TRUTH_Table
([A,B,C]->[DC9,B747])
[0,0,0]->[0,0];
[0,0,1]->[1,0];
[0,1,0]->[1,0];
[0,1,1]->[0,1];
[1,0,0]->[1,0];
[1,0,1]->[1,0];
[1,1,0]->[0,1];
[1,1,1]->[1,1];
test_vectors
([A,B,C]->[DC9,B747])
[0,0,0]->[.x.,.x.];
[0,0,1]->[.x.,.x.];
[0,1,0]->[ .x.,.x.];
[0,1,1]->[ .x.,.x.];
[1,0,0]->[ .x.,.x.];
[1,0,1]->[ .x.,.x.];
[1,1,0]->[ .x.,.x.];
[1,1,1]->[ .x.,.x.];
end


Figura 13 Grfica de la Simulacin del sistema combinacional.
A continuacin se muestra un archive en formato
ABEL-HDL para un Multiplexor de ocho a una lnea
usando los comandos WHEN y THEN.
MODULE muxeq
" Entradas de datos
L0..L7 pin 1..8;
"Entradas de control
A,B,C pin 19,18,17;
"Salida
Y pin 16 istype 'com';
Equations
WHEN !A&!B&!C THEN Y=L0;
WHEN !A&!B&C THEN Y=L1;
WHEN !A&B&!C THEN Y=L2;
WHEN !A&B&C THEN Y=L3;
WHEN A&!B&!C THEN Y=L4;
WHEN A&!B&C THEN Y=L5;
WHEN A&B&!C THEN Y=L6;
WHEN A&B&C THEN Y=L7;
END

8. SISTEMAS SECUENCIALES
SNCRONOS
Para los sistemas secuenciales sncronos en el lenguaje
ABEL-HDL se puede utilizar las ecuaciones de los Flip
Flops, La tabla de estados o la descripcin del problema, a
continuacin se presenta un ejemplo.
Concurso del Jeopardy. Disee un sistema Secuencial, que
contenga cuatro botones de entrada llamados A, B, C y R y
tres salidas llamadas Foco A, Foco B, Foco C.
El sistema secuencial deber de indicar por medio de uno
de los tres focos (Foco A, Foco B, Foco C) cual de los tres
participantes en un concurso de preguntas y respuestas es
el primero en oprimir el botn (Botn A, Botn B, Botn
C), se requiere de un cuarto botn (Botn R) para que el
conductor del programa una vez terminada la respuesta,
regrese al sistema a condiciones iniciales (Focos
apagados).

Figura 14 Diagrama de transicin del ejemplo.


Figura 15 Diagrama de Bloques
En el diagrama de bloques se tienen como entradas los
botones A, B, C y R adems de la seal de sincrona Clk,
como salidas Combinacionales se requieren cada uno de
los focos y como salidas secuenciales o registradas dos
Flip Flops llamados Q1 y Q0 que sus combinaciones
representaran a cada uno de los cuatro posibles estados.
R 0 0 0 0 0 0 0 0 1
A 0 0 0 0 1 1 1 1 X
B 0 0 1 1 0 0 1 1 X
C 0 1 0 1 0 1 0 1 X
CI CI FC FB FB FA FA FA FA CI
FA FA FA FA FA FA FA FA FA CI
FB FB FB FB FB FB FB FB FB CI
FC FC FC FC FC FC FC FC FC CI
Figura 16 Tabla de Estados
En la tabla de estados se puede observar el estado
prximo en funcin de la posible entrada, se considera en
este ejercicio que solo un botn pude presentarse a la vez
ya que la frecuencia de operacin del Clk es alta y
remotamente se tendrn dos o mas botones en el mismo
instante, para mantener una operacin estable del sistema
se le asignan indistintamente el valor del estado prximo.
La asignacin de valores a los estados puede ser al azar
como por ejemplo:
Q1 Q0
CI 0 0
FA 0 1
FB 1 0
FC 1 1
Figura 17 Asignacin de valores a los Estados

El archivo en formato ABEL-HDL de este sistema
secuencial se presenta a continuacin:
MODULE FER
"Entradas
Clk, A,B,C,R PIN 1..5;
"Salidas combinacionales
FA,FB,FC pin 19..17 istype 'com';
"salidas registradas
Q1,Q0 PIN 16,15 istype 'reg';

"sincronizacin de los flip flops
SREG=[Q1,Q0];
EQUATIONS
SREG.CLK=Clk;

Asignacin de valores a los
estados
Declarations
E0=[0,0];
E1=[0,1];
E2=[1,0];
E3=[1,1];
Q1 Q0
CI 0 0
FA 0 1
FB 1 0
FC 1 1
STATE_DIAGRAM SREG
STATE E0:
FA=0;FB=0;FC=0;
IF !A&!B&!C&!R THEN E0;
IF A&!B&!C&!R THEN E1;
IF !A&B&!C&!R THEN E2;
IF !A&!B&C&!R THEN E3 ELSE
E0;
STATE E1:
FA=1; FB=0; FC=0;
IF R THEN E0 ELSE E1;
STATE E2:
FA=0; FB=1; FC=0;
IF R THEN E0 ELSE E2;
STATE E3:
FA=0; FB=0; FC=1;
IF R THEN E0 ELSE E3;
simulacion
Test_vectors
([Clk,A,B,C,R]->[FA,FB,FC])
[.c.,0,0,0,1]->[.x.,.x.,.x.];
[.c.,0,0,0,0]->[.x.,.x.,.x.];
[.c.,1,0,0,0]->[.x.,.x.,.x.];
[.c.,0,1,0,0]->[.x.,.x.,.x.];
[.c.,0,0,0,1]->[.x.,.x.,.x.];
[.c.,0,0,0,0]->[.x.,.x.,.x.];
[.c.,0,1,0,0]->[.x.,.x.,.x.];
[.c.,0,0,1,0]->[.x.,.x.,.x.];
[.c.,0,0,0,1]->[.x.,.x.,.x.];
[.c.,0,0,0,0]->[.x.,.x.,.x.];
[.c.,0,0,1,0]->[.x.,.x.,.x.];
[.c.,0,1,0,0]->[.x.,.x.,.x.];
[.c.,0,0,0,1]->[.x.,.x.,.x.];
[.c.,0,0,0,0]->[.x.,.x.,.x.];
End



9. SISTEMAS SECUENCIALES
ASNCRONOS
Estos sistemas pueden ser implementados con los PLDs,
ya que las caractersticas de las OLMC es permitir la
retroalimentacin, tambin las ecuaciones obtenidas se
pueden representar por medio de un diagrama escalera e
implementarse en un Controlador lgico programable
PLC.
A continuacin se muestran 14 pasos sugeridos para el
desarrollo y diseo de sistemas secuenciales asncronos:

1.- Especificar el Sistema.
Por medio de un Diagrama de Tiempos o Diagrama de
transicin se puede describir cada uno de los eventos del
sistema.

2.- Tabla de Flujo Primitiva.
En una tabla de flujo (o transiciones) se tiene la misma
informacin que en un diagrama de estados, pero
organizada de forma tabular. Si en la construccin de ella
se establecen las siguientes condiciones:
a).- Solo debe de haber un estado estable por fila. b).- Solo
cambia una variable de entrada a la vez.
Entonces la tabla recibe el nombre de TABLA DE FLUJO
PRIMITIVA.
En una tabla de flujo primitiva se pueden considerar
eventos no descritos en el diagrama de tiempo o en el
diagrama de transicin de tal suerte que se asegura la
consideracin de todos los eventos posibles en el
funcionamiento u operacin de un diseo.

3.- Eliminacin de estados redundantes o equivalentes.
En el proceso de la descripcin de los eventos por medio
del diagrama de tiempos o el diagrama de transicin en
algunos casos se pueden incluir eventos innecesarios o
redundantes a los que se les denomina estados
equivalentes, para determinar si dos estados son
equivalentes si se tiene que cumplir las siguientes tres
condiciones:
a) Son estados estables en la misma columna (misma
combinacin de entradas).
b) Tienen la misma salida.
c) Sus estados siguientes son equivalentes.

4.- Mezcla de Filas.
Las filas o hileras pueden mezclarse con el propsito de la
tabla y requerir de una menor cantidad de variables.
Dos filas o mas se pueden mezclar siempre y cuando no
hay ningn conflicto sobre que estado debe ocupar cada
columna, entendindose por conflicto la ocupacin
simultnea de una columna por dos estados diferentes.
La salida no se considera como un factor de conflicto en la
mezcla de filas. Esto es, dos filas con salidas diferentes
pueden mezclarse.
Con el propsito de tener una visualizacin completa sobre
las posibilidades de mezcla de las filas, se construye un
diagrama de mezcla, este consiste en asignar un punto por
cada fila y se unen esos puntos por lneas cuando estos
pueden mezclarse.

5.- Expandir tabla de salidas.
Si para una hilera se tiene la posibilidad de mezclar filas
pero los estados estables tienen salidas diferentes es
conveniente expandir las salidas convirtindose en
modelo de Mealy. En el caso de que no sea necesaria la
expansin entonces las salidas solo dependeran de los
valores de memoria Q y se considera modelo de Moore.

6.- Tabla de estados internos.
Convertir la tabla de estados totales obtenida al mezclar las
filas en una tabla de estados internos.

7.- Asignacin de Valores a los Estados.
Para cumplir con las transiciones descritas en la tabla de
estados internos se asignan valores a las variables de modo
que estos cumplan que solo cambie un valor entre dichas
transiciones.

8.- Tabla de Estados.
En esta tabla se sustituyen los estados internos por el valor
de la asignacin propuesta en el paso anterior.

9.- Completar Tabla de Salidas.
En algunos casos las salidas no estn completamente
definidas y esto puede generar valores transitorios no
convenientes para el sistema por tal razn es necesario
asignar un valor a la salida de modo que no se presente el
transitorio.

10.- Obtencin de las ecuaciones por medio de
minimizacin.
Se puede utilizar recursos como Manipulacin algebraica,
Mapas de karnaugh o el uso de programas de aplicacin
para obtener las ecuaciones mnimas.

11.- Elaborar el Archivo en formato ABEL-HDL.
Por medio de esta herramienta nos permite efectuar la
simulacin para comprobar el si el funcionamiento
obtenido es el deseado del sistema.

12 Simulacin.
Por lo general la forma de presentarse es por medio de un
diagrama de tiempo en donde se incluyen las entradas y
salidas as como los valores de los estados (Qs).

13.- Representacin grafica.
a) Diagrama esquemtico
b) Diagrama escalera

14.- Implementacin
a) PLD
b) PLC
Aplicacin de la metodologa
La figura 18 muestra un tanque en el que requiere de un
sistema secuencial asncrono para detectar nivel.

Figura 18 Tanque con sensores de nivel.
Se cuenta con dos sensores llamados S1 (Nivel Bajo), S2
(Nivel Alto), que contenga una salida H de modo que:
H=0 cuando el nivel va de S1 hacia S2 (subida) hasta que
llegue a S2 y H=1 cuando el nivel va de S2 hacia S1.
(Bajada) hasta que llegue a S1 como lo indica el siguiente
diagrama de tiempos.


Figura 19 Diagrama de tiempos.
1.- Especificar el sistema

Figura 20 Diagrama de Transicin
En el diagrama de transicin podemos observar que
estando en el estado E1 si el nivel baja hasta S1 (0,0)
el sistema regresa al estado E0 y en el estado E3 si el
nivel sube a S2 (1,1) el sistema regresa a E2 que se
representara fsicamente por un oleaje o fluctuacin
del agua entre los sensores y la salida no es alterada
por dicho oleaje.
2.- tabla reflujo primitiva
Se esta considerando que el valor de entrada 01 no se
puede presentar ya que implicara que solo el sensor s2
detectara nivel lo cual no es posible dentro de las
condiciones normales de funcionamiento.
S
1
S
2
00

01

11

10
H
1 E
0
- - E
1
0
2 E
0
- E
2
E
1
0
3 - - E
2
E
3
1
4 E
0
- E
2
E
3
1
Figura 21 Tabla de transiciones
3.- Eliminacin de estados redundantes.
Los estados que son estables en la misma columna (10)
son E1 y E3 pero tienen diferente salida por lo que no son
equivalentes.

4.- Mezcla de Filas.
Mezclando las filas 1 con 2 y 3 con 4 obtenemos
S
1
S
2
00

01

11

10
H
E
0
- E
2
E
1
0
E
0
- E
2
E
3
1
Figura 22 Tabla de transiciones mezclada
5.- Expandir tabla de salidas.
No es necesario expandir la salida teniendo un sistema
secuencial modelo Moore en donde la salida solo depende
directamente del estado Q
6.- Tabla de estados internos.
Sustituyendo E0 y E1 por a y E2 y E3 por b dado que en
ambos casos son estables en el mismo rengln obtenemos
lo siguiente:
Estado
S
1
S
2
00

01

11

10
H
a a - b a 0
b a - b b 1
Figura 23 Tabla de estados internos
7.- Asignacin de Valores a los Estados.
Asignando los valores de los estados a = 0 y b = 1
obtenemos:
8.- Tabla de Estados totales.
Q+ Q
S
1
S
2
00

01

11

10
H
0 0 X 1 0 0
1 0 X 1 1 1
Figura 24 Tabla de estados asignados
Podemos observar en la tabla anterior que el valor de
Q

= H,
9.- Completar Tabla de Salidas.
No es necesario este paso
10.- Obtencin de las ecuaciones mnimas.
Podemos hacer uso del mapa de karnaugh

Figura 25 Mapa de Karnaugh
Ecuaciones:
H = S
2
+ S
1
H (1) (agrupando unos)
H = (S
2
+ H) S
1
(2) (agrupando ceros)

El costo de implementacin de ambos resultados es el
mismo por lo que elaboraremos el archivo ABEL-HDL
con la ecuacin (2).

11.- Elaborar el Archivo en formato ABEL-HDL.


Figura 26 Archivo en formato ABEL-HDL
12 Simulacin en IspStarter de Lattice semiconductor.

Figura 27 simulacin
13.- Representacin grafica.


Figura 28 Diagrama esquemtico

Figura 29 Diagrama escalera
14.- Implementacin y simulacion
Implementacin y simulacin en un PLD Marca Crouzet
partiendo del diagrama esquemtico, se incluyo una salida
para el motor de la bomba que es igual al complemento de
H de modo que cuando H=0 el motor esta trabajando y
cuando H=1 el motor esta apagado.

Evento 1
S1=0,
S2=0
motor
encendido
y H=0
Evento 2
S1=1,
S2=0
motor
encendido
y H=0
Evento 3
S1=1,
S2=1
motor
apagado y
H=1
Evento 4
S1=1,
S2=0
motor
apagado y
H=1
Evento 5
S1=0,
S2=0
motor
encendido
y H=0
estado
inicial
10. CONCLUSIN

Como hemos comentado a travs del documento esta
tcnica de diseo digital presenta grandes ventajas sobre
las tradicionales, podemos mencionar algunas como: El
bajo costo, la rapidez del diseo, la facilidad de corregir
errores, la posibilidad de implementar en un solo circuito,
adems de que el aprendizaje y dominio de estas tcnicas
se lleva en un tiempo relativamente corto.

Tambin se incluye en la parte de secuencial asncrono un
mtodo sistemtico en 14 pasos y que la implementacin
de los resultados puede realizarse tanto en un Dispositivo
Lgico Programable (DLP), como en un Controlador
Lgico Programable (PLC) normalmente de aplicacin
industrial.

Lo anterior fue posible gracias al apoyo de las actuales
herramientas computacionales tales como computadoras
de escritorio de gran capacidad, los sistemas operativos y
programas de aplicacin que son poderosos, fciles de
manejar y nos permiten resolver problemas en segundos ya
que manualmente nos llevara probablemente varios das.

En caso de que requiera mas informacin puede consultar
nuestra pagina

Web http:// jagarza.fime.uanl.mx.

11. AGRADECIMIENTOS

Al M.E.C. Rogelio G. Garza Rivera, M.C. Luis Manuel
Martnez Villarreal, M.C. Fernando Elizondo Garza,
M.C. Jos D. Rivera Martinez, M.C. Jos Manuel Rocha
Nez, Ing. Francisco Figueroa Martinez, Ing Eder
Hernndez Wong y al alumno Eleazar Rangel Silva por su
apoyo y colaboracin.

12 REFERENCIAS
Libros:
Diseo Digital Jhon F. Wakerly Prentice-Hall, 2001.

Digital Systems Principles and applicatons Tocci and
Widmer Prentice-Hall, 2001.

Digital Fundamentals Floyd Prentice-Hall, 2000

Digital System Design Using VHDL Charles H. Roth
International Thomson Publishing Company. 1998

Prcticas de Laboratorio de Electrnica Lgica I Garza,
Hernandez, Cant y Martnez U.A.N.L. F.I.M.E 2002

Teora de Conmutacin y diseo lgico, Frederik J. Hill
Gerald R. Peterson, Limusa.
Diseo Lgico Digital, Norman Balabanian Bradley
Carlson, CECSA.

Paginas Web
http://www.seas.upenn.edu/~ee200/
http://jagarza.fime.uanl.mx

Você também pode gostar