Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Maquinas de Estado
Maquinas de Estado
Estado Estado
Entrada 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 transición del flip-flop JK se puede
construir la tabla de estados. Para la
simplificación de los circuitos combinatorios
es conveniente que se presenten condiciones
de "no importa", ya que estas permiten
Estados no usados
Durante el diseño de los circuitos
secuenciales para simplificar las
representaciones lógicas, 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 están 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 ELECTRÓNICA Y MECATRÓNICA CIRCUITOS DIGITALES II EE V UTP
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 ELECTRÓNICA Y MECATRÓNICA CIRCUITOS DIGITALES II EE V UTP
PLD's Secuenciales
2. No se incluyó un bloque
temporizador que sirva para que el usuario
pueda seleccionar el tiempo de la etapa de
lavado y para que el mismo circuito de
control defina tiempos diferentes a los de
un período 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 envía una señal al
circuito de control, cada vez que su salida
llega a cero.
3. Si la máquina 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 señal de reloj. Igualmente si se pulsa
PAR inmediatamente debiera pararse la
máquina. De la misma forma, en las
etapas de llenado las válvulas debieran
cerrarse apenas se activa el detector de
nivel alto.
La última simplificación se tiene que hacer
porque el CUPL, versión 4.8, aparentemente
sólo soporta máquinas de estado de Moore.
b. Mediante lenguajes de
descripción HDL como VHDL, Verilog,
Abel y CUPL.
c. Diagramas de transición de
estados.
d. Formas de onda –Tablas de
verdad.
3. Simulación HDL (Opcional):
Simula el comportamiento del circuito que
se acaba de describir antes de la síntesis.
4. Síntesis lógica: Consiste en
tomar la descripción HDL y a partir de ella,
generar y simplificar las ecuaciones
lógicas correspondientes al circuito
descrito.
5. Simulación funcional: Simula las
ecuaciones lógicas, sin tener en cuenta los
retardos.
6. Implementación del diseño: Los
pasos a seguir dependen del tipo de PLD
que se esté utilizando en el diseño.
Trazado del mapa, Colocación y
enrutamiento, Creación del archivo para la
programación del dispositivo. Revisa si el
circuito se adapta al chip; No. salidas, No.
de términos productos por salida.
Ing. Luis Pacheco Cribillero
FACULTAD DE ELECTRÓNICA Y MECATRÓNICA CIRCUITOS DIGITALES II EE V UTP
5. Simulación Funcional.
6. Simulación Digital.
7. Simulación Eléctrica.
8. Diseño de PCBs.
9. Diseño de Circuitos Integrados.
10. Diseño con Dispositivos
Programables.
Para la automatización del diseño electrónico
se utilizan herramientas EDA. Ventajas de la
metodologia de diseño que usa herramientas
EDA
Entre las ventajas de la metodologia de
diseño con el empleo de herramientas EDA
está la reducción del diseño, la posibilidad de
dividir un proyecto en módulos que se
desarrollan por separado, la independencia
del diseño con respecto a la tecnología, la
posibilidad de la reutilización de los diseños,
la optimización de los circuitos y las
simulaciones posibles con las herramientas.
Con la aparición de herramientas EDA cada
vez más complejas, que integran en el mismo
marco de trabajo las herramientas de
descripción, síntesis, simulación y realización;
apareció la necesidad de disponer de un
método de descripción de circuitos que
Ing. Luis Pacheco Cribillero
FACULTAD DE ELECTRÓNICA Y MECATRÓNICA CIRCUITOS DIGITALES II EE V UTP
R Registro.
RA Registro asíncrono.
X Registro O exclusivo.
V Vesátil.
M Macrocélula.
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 Lógica Genérica (GAL, Generic
Array Logic)
La GAL se forma con una matriz AND
reprogramable y una matriz OR fija , con una
salida lógica programable. La figura 4.4.7.
muestra el diagrama de bloques de una GAL.
Esta estructura permite implementar cualquier
expresión lógica suma de productos con un
número de variables limitado.
25
GAL22RA1 24 15, 115 E2CMOS PLD
0 20 Universal
GAL22V10 24 10, 130 E2CMOS PLD
15, Universal
25
GAL26CV1 28 15, 130 E2CMOS PLD
2 20 Universal
GAL6001 24 30, 150 E2CMOS FPLA
35
ispGAL16Z8 24 E2CMOS PLD 30, 190
35
Programable en
Circuito
Tabla 4.2.2. Familias GAL del fabricante
Lattice
Programación en CUPL
En el medio electrónico 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 lección se pretende dar una introducción
a la programación de PLDs utilizando este
Designer
Company
Assembly
Location
/****************************************************
***********/
/*Entradas*/
pin 1 = ; /* */
pin 1 = ; /* */
pin 1 = ; /* */
pin 1 = ; /* */
/*Salidas*/
pin 1 = ; /* */
pin 1 = ; /* */
pin 1 = ; /* */
pin 1 = ; /* */
/****************************************************
***********/
/* Ecuaciones Lógicas*/
/****************************************************
***********/
Lista 4.5.1. Archivo de Ejemplo de Entrada en
CUPL
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 indicarán
algunas características a tener en cuenta para
programar un PLD en CUPL y la sintaxis que
se debe emplear en el archivo fuente para
implementar un diseño.
Asignación de Pines
La asignación 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
lógicas.
Ing. Luis Pacheco Cribillero
FACULTAD DE ELECTRÓNICA Y MECATRÓNICA CIRCUITOS DIGITALES II EE V UTP
Sintaxis
General Sintaxis Abreviada
Pin [2,3] = [Nombre,
Pin 1 = Nombre; Nombre2];
Pin 2 = ! Pin [2,3] = ![Nombre,
Nombre; Nombre2];
Pin 3 = !SET; Pin [2..3] = [Q0..3];
Tabla 4.5.1. Asignación de Terminales
El signo "!" en la asignación de pines indica
que la variable se complementa. Este signo
se emplea generalmente para declarar
variables activas en bajo
Definición de Variables Intermedias
Las variables intermedias corresponden a
variables asignadas a una ecuación lógica
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 básicamente en reducir el tamaño de
las ecuaciones lógicas asignadas a los pines
Ing. Luis Pacheco Cribillero
FACULTAD DE ELECTRÓNICA Y MECATRÓNICA CIRCUITOS DIGITALES II EE V UTP
Figura 4.5.1.
Circuito Ilustrativo
del tipo de salidas
configurables en un
PLD
Ing. Luis Pacheco Cribillero
FACULTAD DE ELECTRÓNICA Y MECATRÓNICA CIRCUITOS DIGITALES II EE V UTP
FIELD Salida =
[Sal3..0];
TABLE Ent =>
Sal {
0=> 00;
1=>01; SEQUENCE
2=>02;
3=>03; lista_vars_estado
4=>04; {
5=>05; PRESENT
6=>06;
7=>07; estado_n0
8=>08; IF
9=>09; A=>10; (condición1)NEXT
B=>11; estado_n1;
C=>12; IF (condición2)
D=>13; E=>14; NEXT estado_n2
F=>15; OUT sal_n0;
} DEFAULT
Lista 4.5.2. Sintaxis en NEXT estado_n0;
CUPL para crear Tablas de PRESENT
Verdad estado_n1
Máquinas de Estado NEXT
Este tipo de definición estado_n2;
permite declarar la relación ...
entradas y salidas ...
mediante la definición de ...
máquinas de estado. La PRESENT
estado_nn
Ing. Luis Pacheco Cribillero
estamentos;
}
FACULTAD DE ELECTRÓNICA Y MECATRÓNICA CIRCUITOS DIGITALES II EE V UTP
Pin 1 = a;
Pin 2 = b;
/* Definiciónde las salidas */
Pin 12 = inva;
Pin 13 = invb;
Pin 14 = and;
Pin 15 = nand;
Pin 16 = or;
Pin 17 = nor;
Pin 18 = xor;
Pin 19 = xnor;
/* Definición de Ecuaciones Lógicas*/
inva = !a; /* Inversión de las
entradas a y b*/
invb = !b;
and = a & b; /* Función AND */
nand = !(a & b); /* Función NAND */
or = a # b; /* Función OR*/
nor = !(a # b); /* Función NOR */
xor = a $ b; /* Función XOR */
xnor = !(a $ b); /* Función XOR
Negada*/
Lista 4.5.5. Archivo fuente de ejemplo en
CUPL para implementación de funciones
lógicas
Ing. Luis Pacheco Cribillero
FACULTAD DE ELECTRÓNICA Y MECATRÓNICA CIRCUITOS DIGITALES II EE V UTP
S2 S1 S0 OPERACIÓN
1 0 0 AND
1 0 1 OR
1 1 0 NOT A
1 1 1 XOR
0 X X A+1