Escolar Documentos
Profissional Documentos
Cultura Documentos
CIRCUITOS DIGITALES II
EE V
UTP
CIRCUITOS DIGITALES II
EE V
UTP
CIRCUITOS DIGITALES II
EE V
UTP
CIRCUITOS DIGITALES II
EE V
UTP
CIRCUITOS DIGITALES II
EE V
UTP
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.
CIRCUITOS DIGITALES II
EE V
UTP
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
CIRCUITOS DIGITALES II
EE V
UTP
CIRCUITOS DIGITALES II
EE V
UTP
Qi+1
CIRCUITOS DIGITALES II
EE V
UTP
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
CIRCUITOS DIGITALES II
EE V
UTP
CIRCUITOS DIGITALES II
EE V
UTP
CIRCUITOS DIGITALES II
EE V
UTP
CIRCUITOS DIGITALES II
EE V
UTP
CIRCUITOS DIGITALES II
EE V
UTP
CIRCUITOS DIGITALES II
EE V
UTP
CIRCUITOS DIGITALES II
EE V
UTP
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
CIRCUITOS DIGITALES II
EE V
UTP
CIRCUITOS DIGITALES II
EE V
UTP
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
CIRCUITOS DIGITALES II
EE V
UTP
CIRCUITOS DIGITALES II
EE V
UTP
CIRCUITOS DIGITALES II
EE V
UTP
PLD's Secuenciales
PLD's Secuenciales (Control Simplificado para
Mquina Lavadora)
Ing. Luis Pacheco Cribillero
CIRCUITOS DIGITALES II
EE V
UTP
CIRCUITOS DIGITALES II
EE V
UTP
CIRCUITOS DIGITALES II
EE V
UTP
CIRCUITOS DIGITALES II
EE V
UTP
CIRCUITOS DIGITALES II
EE V
UTP
CIRCUITOS DIGITALES II
EE V
UTP
CIRCUITOS DIGITALES II
EE V
UTP
CIRCUITOS DIGITALES II
EE V
UTP
CIRCUITOS DIGITALES II
EE V
UTP
CIRCUITOS DIGITALES II
EE V
UTP
CIRCUITOS DIGITALES II
EE V
UTP
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
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
CIRCUITOS DIGITALES II
EE V
UTP
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
CIRCUITOS DIGITALES II
EE V
UTP
CIRCUITOS DIGITALES II
EE V
UTP
CIRCUITOS DIGITALES II
EE V
UTP
CIRCUITOS DIGITALES II
EE V
UTP
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
CIRCUITOS DIGITALES II
EE V
UTP
CIRCUITOS DIGITALES II
EE V
UTP
CIRCUITOS DIGITALES II
EE V
UTP
CIRCUITOS DIGITALES II
EE V
UTP
CIRCUITOS DIGITALES II
EE V
UTP
CIRCUITOS DIGITALES II
EE V
UTP
CIRCUITOS DIGITALES II
EE V
UTP
CIRCUITOS DIGITALES II
EE V
UTP
CIRCUITOS DIGITALES II
EE V
UTP
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
CIRCUITOS DIGITALES II
EE V
UTP
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
CIRCUITOS DIGITALES II
EE V
UTP
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
CIRCUITOS DIGITALES II
EE V
UTP
CIRCUITOS DIGITALES II
EE V
UTP
CIRCUITOS DIGITALES II
EE V
UTP
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
CIRCUITOS DIGITALES II
EE V
UTP
CIRCUITOS DIGITALES II
EE V
UTP
CIRCUITOS DIGITALES II
EE V
UTP
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
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;
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
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
CIRCUITOS DIGITALES II
EE V
UTP
CIRCUITOS DIGITALES II
EE V
UTP