Tema V Diseño Lógico en el Mundo Real

Anuncio
Circuitos Digitales I
Tema V
Lenguajes ABEL y PLAN
PLDs (Programmable Logic Devices)
Estándares de documentación
Circuitos MSI
Luis Tarazona, UNEXPO Barquisimeto
EL-3213 – Circuitos Digitales I - 2004
158
Diseño Lógico en el Mundo Real
! Circuitos con mucho más de 6 entradas –No es
práctico usar mapas de Karnaugh
! Diseño correcto mucho más importante que la
minimización de compuertas
– Se usa un “lenguaje de alto nivel” para especificar las
operaciones lógicas
! Uso de programas para manipular las
expresiones lógicas y minimizar los diseños.
! PALASM, ABEL, CUPL – desarrollados para
PLDs
! VHDL, Verilog – desarrollados para ASICs
Luis Tarazona, UNEXPO Barquisimeto
EL-3213 – Circuitos Digitales I - 2004
159
Lenguajes de programación de PLD
! Son herramientas que facilitan la forma de
programación de los fusibles de los PLD, mediante
la especificación simbólica de funciones lógicas.
! El archivo con las expresiones lógicas en la sintaxis
del lenguaje debe ser procesado por un compilador
que genera un archivo con el patrón de fusibles
para el PLD especificado.
! Existen diferentes lenguajes con pequeñas
variaciones en la sintaxis: ABEL (Data IO Corp.),
PALASAM (Monolitic Memories), CUPL (Logical
devices), PLAN (National Semiconductors).
Luis Tarazona, UNEXPO Barquisimeto
EL-3213 – Circuitos Digitales I - 2004
160
ABEL
(Advanced Boolean Equation Language)
Desarrollado para utilizarlo con dispositivos lógicos programables (PLDs) , los cuales tienen una estructura AND-OR
programable.
! Funciones lógicas combinacionales
– Operadores: AND, OR, NOT,
&
– Conjuntos:
#
!
XOR,
XNOR
$
!$
XBUS = [X3,X2,X1,X0];
XBUS = [1,1,0,1];
XBUS = 13;
– Relaciones: (XBUS == YBUS)
(XBUS > [1,1,0,1])
– Variables intermedias
Luis Tarazona, UNEXPO Barquisimeto
EL-3213 – Circuitos Digitales I - 2004
161
Estructura de un programa en ABEL
module nombre_del_módulo
Caracteres encerrados entre
comillas simples
title cadena
IDdispositivo device TipoDeDispositivo;
declaraciones de pines
otras declaraciones
equations
ecuaciones
test_vectors
vectores de prueba
end nombre_del_módulo
Luis Tarazona, UNEXPO Barquisimeto
EL-3213 – Circuitos Digitales I - 2004
162
Ejemplo en ABEL
Module Circuito_de_Alarma
Title ‘Ejemplo de Circuito de Alarma, adaptado
del libro DDPP J. Wakerly, 3ra edicion’
C_ALARMA device ‘P16V8C’
“ Esto es un comentario
“ pines de entrada:
PANICO, HABILITAR, SALIR
VENTANA, PUERTA, GARAJE
“ pines de salida:
ALARMA
pin 1,2,3;
pin 4,5,6;
pin 11 istype ‘com’;
“definiciones de constantes:
X = .X.;
“Ecuacion intermedia
SEGURO = VENTANA & PUERTA & GARAJE
equations
ALARMA = PANICO # HABILITAR & !SALIR & !SEGURO;
Luis Tarazona, UNEXPO Barquisimeto
EL-3213 – Circuitos Digitales I - 2004
163
Ejemplo en ABEL (continuación)
test_vectors
([PANICO,HABILITAR,SALIR,VENTANA,PUERTA,GARAJE]->[ALARMA])
[
1,
.X., .X.,
.X.,
.X.,
.X.]->[ 1 ];
[
0,
0, .X.,
.X.,
.X.,
.X.]->[ 0 ];
[
0,
1,
1,
X,
X,
X]->[ 0 ];
[
0,
1,
0,
0,
X,
X]->[ 1 ];
[
0,
1,
0,
X,
0,
X]->[ 1 ];
[
0,
1,
0,
X,
X,
0]->[ 1 ];
[
0,
1,
0,
1,
1,
1]->[ 0 ];
end Circuito_de_Alarma
Luis Tarazona, UNEXPO Barquisimeto
EL-3213 – Circuitos Digitales I - 2004
164
Procesador del lenguaje ABEL
(compilador)
! Revisa la sintaxis
! Revisa las capacidad de pines del dispositivo
! Expande las declaraciones del lenguaje y las
ecuaciones
! Reduce las ecuaciones a la forma suma de productos
para el PLD
! Revisa los vectores de prueba contra las ecuaciones
! Revisa los requerimientos de las ecuaciones (número de
entradas, términos producto) contra la disponibilidad en
el PLD
! Determina el “mapa” de fusibles para programar el PLD
Luis Tarazona, UNEXPO Barquisimeto
EL-3213 – Circuitos Digitales I - 2004
165
El lenguaje PLAN (1)
! Operadores:
. PUNTO, identificador de etiqueta de comando/
delimitador de lista
= IGUALDAD
* AND, Producto
+ OR, Suma
:= CLOCK (próximo estado después del reloj)
:+: XOR, OR Exclusivo
/ complemento (precede a un símbolo)
; delimitador de comentarios
Luis Tarazona, UNEXPO Barquisimeto
EL-3213 – Circuitos Digitales I - 2004
166
El lenguaje PLAN (2)
! Sintaxis del archivo:
Dispositivo (PALxxxx o
Lista de los pines del
Lista de los pines del
Macros y Ecuaciones de
GALxxxx)
componente (1ra mitad)
componente (2da mitad)
conmutación
! Ejemplo:
Implementar en un GAL16V8 todas las funciones
básicas: NOT, NAND, NOR, OR-EX, NOR-EX
Luis Tarazona, UNEXPO Barquisimeto
EL-3213 – Circuitos Digitales I - 2004
167
Solución al Ejemplo
GAL16V8 ;Todas las funciones basicas
E_INV E1_NAND E2_NAND E1_NOR E2_NOR E1_XOR E2_XOR E1_XNOR E2_XNOR GND
/OE NC NC NC S_XNOR S_XOR S_NOR S_NAND S_INV VCC
S_INV
S_NAND
S_NOR
S_XOR
S_XNOR
=
=
=
=
=
/E_INV
/E1_NAND+/E2_NAND
/E1_NOR*/E2_NOR
/E1_XOR*E2_XOR + E1_XOR*/E2_XOR
/E1_XNOR*E2_XNOR + E1_XNOR*/E2_XNOR
E_INV
E1_NAND
S_INV
E2_NAND
S_NAND
E1_NOR
S_XOR
S_NOR
E2_NOR
S_XNOR
E1_XOR
E2-XNOR
E2_XOR
E2-XNOR
E2_XNOR
Ver salida
Luis Tarazona, UNEXPO Barquisimeto
E2_XNOR
EL-3213 – Circuitos Digitales I - 2004
168
Estándares de documentación
! Diagramas de bloque
– Primer paso en el diseño jerárquico
! Diagramas esquemáticos
! Programas HDL (ABEL, PLAN,Verilog,
VHDL)
! Diagramas temporizados
! Descripciones del circuito
Luis Tarazona, UNEXPO Barquisimeto
EL-3213 – Circuitos Digitales I - 2004
169
Diagrama de bloques
Luis Tarazona, UNEXPO Barquisimeto
EL-3213 – Circuitos Digitales I - 2004
170
Diagramas esquemáticos
! Detalles de entradas, salidas e
interconexiones de los componentes
! Designadores de referencia
! Número de cada pin
! Títulos de cada bloque
! Nombres para todas las señales
! Conectores de página a página
Luis Tarazona, UNEXPO Barquisimeto
EL-3213 – Circuitos Digitales I - 2004
171
Ejemplo de diagrama esquemático
Luis Tarazona, UNEXPO Barquisimeto
EL-3213 – Circuitos Digitales I - 2004
172
Estructura esquemática plana
Luis Tarazona, UNEXPO Barquisimeto
EL-3213 – Circuitos Digitales I - 2004
173
Estructura
esquemática
jerárquica
Luis Tarazona, UNEXPO Barquisimeto
EL-3213 – Circuitos Digitales I - 2004
174
Otra documentación
! Diagramas temporizados
– Salida del simulador
– Herramientas especializadas para diagramas temp.
! Descripciones de circuito
– Texto (procesadores de texto)
– Puede ser tan grande como un libro (por ej. La
descripción de un ASIC )
– Normalmente incorpora otros elementos
– (diagramas de bloque, diagramas temporizados, etc.)
Luis Tarazona, UNEXPO Barquisimeto
EL-3213 – Circuitos Digitales I - 2004
175
Símbolos de compuertas
Luis Tarazona, UNEXPO Barquisimeto
EL-3213 – Circuitos Digitales I - 2004
176
Símbolos equivalentes DeMorgan
¿Cuál símbolo utilizar?
Su uso depende de los nombres de
las señales y de los niveles activos
Luis Tarazona, UNEXPO Barquisimeto
EL-3213 – Circuitos Digitales I - 2004
177
Nombres de señales y niveles activos
! Los nombres se eligen de modo que sean descriptivos.
! Niveles activos – ALTO(H) o BAJO(L)
– La condición indicada ocurre en el estado ALTO o BAJO, de acuerdo
con la designación de nivel activo en el nombre
Luis Tarazona, UNEXPO Barquisimeto
EL-3213 – Circuitos Digitales I - 2004
178
Ejemplo
Circuito
Lógico
ALTO cuando ocurre error
ERROR
OK_L
BAJO cuando ocurre error
Circuito
Lógico
ERROR_L
ERROR
ERROR1_L
Luis Tarazona, UNEXPO Barquisimeto
EL-3213 – Circuitos Digitales I - 2004
179
Arreglos lógicos programables (PLA)
! Dispositivo combinacional de dos niveles AND-OR
caracterizado por:
– Conexiones programables en el arreglo AND
– Conexiones programables en el arreglo OR
! No están presentes todos los posibles términos
AND
! No se puede implementar todas las combinaciones
de funciones posibles
! La capacidad de un PLA se denota por:
entradas x productos x salidas
Luis Tarazona, UNEXPO Barquisimeto
EL-3213 – Circuitos Digitales I - 2004
180
Estructura de un PLA 3x6x3
A
X
X
B
X
X
X
C
X
OR de 8
entradas
AND de 3
entradas
X
X
X
x = programado
• = fijo
Luis Tarazona, UNEXPO Barquisimeto
X
Z0
Z1
Z2
EL-3213 – Circuitos Digitales I - 2004
181
Lógica de arreglo programable (PAL)
! Dispositivo combinacional de dos niveles AND-OR
caracterizado por:
– Conexiones programables en el arreglo AND
– Conexiones fijas en el arreglo OR
! No están presentes todos los posibles términos AND
! No se puede implementar todas las combinaciones de
funciones posibles
! Si un término producto es requerido por dos funciones
diferentes, se debe implementar dos veces en en
arreglo AND
Luis Tarazona, UNEXPO Barquisimeto
EL-3213 – Circuitos Digitales I - 2004
182
Estructura de un PAL
A
X
X
B
X
X
C
X
AND de 3
entradas
X
X
X
X
OR de 8
entradas
Z0
Z1
x = programado
• = fijo
Luis Tarazona, UNEXPO Barquisimeto
Z2
EL-3213 – Circuitos Digitales I - 2004
183
Modificaciones a la estructura básica
! Realimentación
– Si la salida del arreglo OR tiene un camino hacia el
arreglo AND es posible construir lógica multinivel
! Salidas con registro
– Junto con la realimentación permiten la
implementación de circuitos secuenciales de
mediana-alta complejidad
! Pines bidireccionales para E/S
– Si los buffers de salida tienen 3 estados, es posible
usar el camino de realimentación para porveer
entradas extra
!
Luis Tarazona, UNEXPO Barquisimeto
EL-3213 – Circuitos Digitales I - 2004
184
Arreglo genérico de compuertas (GAL)
! Es un nombre comercial (Lattice
Semiconductors) para dispositivos tipo PAL
que pueden reprogramarse eléctricamete
(tecnología similar a las EEPROM)
! Un GAL puede servir como reemplazo a
diferentes PAL comerciales
! GALs más populares:
16v8
Luis Tarazona, UNEXPO Barquisimeto
20v8
22v10
EL-3213 – Circuitos Digitales I - 2004
185
Decodificadores MSI
Luis Tarazona, UNEXPO Barquisimeto
Decodificador
eo
ap
M
! Un decodificador es un circuito
de múltiples entradas y multiples
salidas que convierte entradas
codificadas en salidas
Palabra de
codificadas en otro código
código
(mapeo).
de entrada
! Es posible que ciertas
combinaciones de entrada no Entradas
sean válidas y generen salidas habilitadoras
“sin sentido”
! El decodificador puede tener
entradas habilitadoras que
habiliten su operación.
Palabra de
código
de salida
EL-3213 – Circuitos Digitales I - 2004
186
Decodificadores binarios (1)
! Entrada de n bits
! Salida: uno de 2n
(salidas
mutuamente
exclusivas)
! Las entradas
habilitadores
permiten la
conexión en
cascada
HABILITADOR
Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
S0 S1 S2
Luis Tarazona, UNEXPO Barquisimeto
EL-3213 – Circuitos Digitales I - 2004
187
Decodificador binario de 2 a 4
Observe la notación “x” (don’t care)
Luis Tarazona, UNEXPO Barquisimeto
EL-3213 – Circuitos Digitales I - 2004
188
Diagrama lógico del decodificador de 2 a 4
Luis Tarazona, UNEXPO Barquisimeto
EL-3213 – Circuitos Digitales I - 2004
189
Decodificador MSI de 2 a 4
! Amplificación en la entrada (menos carga)
! Compuertas NAND (más rápido)
Luis Tarazona, UNEXPO Barquisimeto
EL-3213 – Circuitos Digitales I - 2004
190
Símbolo del decodificador
Luis Tarazona, UNEXPO Barquisimeto
EL-3213 – Circuitos Digitales I - 2004
191
Decodifcicador 74x139 completo
Luis Tarazona, UNEXPO Barquisimeto
EL-3213 – Circuitos Digitales I - 2004
192
Más símbolos para el decodificador
Luis Tarazona, UNEXPO Barquisimeto
EL-3213 – Circuitos Digitales I - 2004
193
Decodificador de 3 a 8
Luis Tarazona, UNEXPO Barquisimeto
EL-3213 – Circuitos Digitales I - 2004
194
Símbolo del decodificador de 3 a 8
74x138
Luis Tarazona, UNEXPO Barquisimeto
EL-3213 – Circuitos Digitales I - 2004
195
Aplicaciones de los decodificadores
! Usos típicos:
– Generador de minitérminos para funciones de salidas
múltiples.
– Generador de señales de selección de dispositivos
(Chip Select - CS) en sistemas con
microprocesadores.
! Los circuitos decodificadores MSI tienen una
funcionalidad similar a las celdas presentes
en dispositivos PLD LSI.
Luis Tarazona, UNEXPO Barquisimeto
EL-3213 – Circuitos Digitales I - 2004
196
Ejemplos de uso:
Línea
0
1
2
3
4
5
6
7
X
0
0
0
0
1
1
1
1
Y
0
0
1
1
0
0
1
1
Z
0
1
0
1
0
1
0
1
F1
0
0
1
1
0
0
1
0
F2
0
1
1
0
0
0
0
1
F3
1
0
0
0
1
1
0
0
5 V
+V
1k
74LS138
74LS138
X
Y
Z
A2
A1
A0
E3
E2
E1
Q7
Q6
Q5
Q4
Q3
Q2
Q1
Q0
F3
F2
F1
Luis Tarazona, UNEXPO Barquisimeto
EL-3213 – Circuitos Digitales I - 2004
197
Ejemplos de uso
! Diseñar un circuito decodificador con 74xx138 para
ser utilizado en un sistema con un microprocesador
6802 de acuerdo a la siguiente tabla:
Direcciones de sel.
A15 A14 A13 A12
1
X
X
X
0
1
1
1
0
1
1
0
0
1
0
1
0
1
0
0
0
0
0
1
Dispositivo selec.
Selección
ROM : 8000 – FFFF
RAM : 7000 – 7FFF
P. Paralelo : 6000 – 6FFF
Reloj de tiempo real : 5000 – 5FFF
P. Serial : 4000 – 4FFF
Expansión : 1000 – 1FFF
¿Y con
el ‘154?
NOTA: El microprocesador genera 2 señales activas en alto
cuando la dirección de acceso a memoria es válida: E y VMA
Luis Tarazona, UNEXPO Barquisimeto
EL-3213 – Circuitos Digitales I - 2004
198
Decodificadores de 7 segmentos
! Son utilizados para convertir dígitos BCD o
binarios a su representación en código de 7
segmentos.
! Las salidas del decodificador manejan un
visualizador de 7 segmentos (con LEDS,
LCD o incandescente)
– A veces es necesario utilizar drivers a las salidas
para manejar altas corrientes/voltajes
– Algunos integrados tienen salidas especiales para
este propósito
Luis Tarazona, UNEXPO Barquisimeto
EL-3213 – Circuitos Digitales I - 2004
199
Dispositivos de 7 segmentos
a
f
b
g
e
c
d
Ejemplo
Luis Tarazona, UNEXPO Barquisimeto
EL-3213 – Circuitos Digitales I - 2004
200
Descargar