Upload
dinhphuc
View
223
Download
0
Embed Size (px)
Citation preview
TE 2030 Sistemas Digitales Avanzados
Dr. Andrés David García García
Departamento de Mecatrónica
Campus Estado de México
Objetivo de la materia
Al finalizar el curso los alumnos serán capaces de:
Conocer el principio de operación y los parámetrosmás importantes de las familias lógicas.
Conocer el principio de operación de los dispositivoslógicos programables.
Comprender los conocimientos básicos para el diseñobasado en lenguajes de descripción material.
Diseñar e integrar cada una de las partes queconforman a un sistema computacional.
EDIA/DMK/ADGG 2
Temario
1. Familias Lógicas– Parámetros eléctricos de las familias lógicas. Fan in, Fan out,
alta impedancia, corrientes y voltajes.
– Familias lógicas: TTL, ECL y CMOS.
– Compatibilidad entre familias lógicas.
2. Introducción a los circuitos lógicos programables– Dispositivos de memoria semiconductor
– Evolución histórica de los PLDs
– Organización y arquitectura de CPLDs
– Organización y arquitectura de FPGAs
– Estado del arte del diseño con PLDs
EDIA/DMK/ADGG 3
Temario
3. Descripción de Circuitos Combinatorios utilizando HDLs– Simulación y síntesis.
– Concurrencia.
– Niveles de descripción: estructural, ecuaciones, funcional, RTL.
– Descripción de circuitos en módulos.
4. Descripción de Circuitos Secuenciales utilizando HDLsLógica secuencial
– Descripción de Flip-Flops.
– Descripción de registros y contadores.
– Descripción de máquinas de estados.
– Descripción de unidades de control.
EDIA/DMK/ADGG 4
Temario
5. Diseño de Interfaces de entrada y salida utilizando HDLs
– Dispositivos de entrada.– Dispositivos de salida.
6. Diseño y construcción de circuitos aritméticos– Aritmética de números enteros.– Aritmética de números de punto fijo.– Aritmética de números de punto flotante.
7. Descripción de un sistema digital utilizando lógica programable
– Descripción de una unidad de control.– Estructura de una Unidad Central de Procesamiento (CPU)– Implementación de un sistema
EDIA/DMK/ADGG 5
Bibliografía
Roth, Ch. Jr. Digital Systems Design Using VHDL.PWS Publishing Company, 2a Ed.
Roth, Ch. Jr. Fundamentals of Logic Design, PWS Publishing Company, 2a Ed.
Brown, Vranesic. Fundamentals of Digital Logic with VHDL, McGrawHill. 3rd edition.
Tocci y Widmer, Sistemas Digitales, Principios y Aplicaciones. Pearson Educación. 10ª. Ed.
Sjoholm, Lindh. VHDL for Designers. Prentice Hall.
Wakerly, J. Digital Design: Principles and Practices. Prentice Hall.3a. Ed.
Tokheim, Digital Electronics. McGraw-Hill, 5a. Ed.
Morris/Mano. “Logic and Computer Design Fundamentals”. Prentice Hall.
Nelso, Nagle, Carroll, Irwin. “Análisis y diseño de circuitos lógicos digitales”. Prentice Hall.
Uyemura. “Diseño de sistemas digitales”. Thomsom.
EDIA/DMK/ADGG 6
Políticas del curso
Se tomara asistencia al inicio de cada sesión de clase,si un alumno llega después de la toma de asistencia nopodrá ingresar al salón.
El límite de faltas es el 18% de las sesiones.
La figura de “retardo” no existe en el reglamento.
La entrada y salida al salón durante la clase deberealizarse de la forma mas discreta posible.
No se permite comer ni beber dentro del salón declases.
EDIA/DMK/ADGG 7
Políticas del curso
Se debe mantener el teléfono celular en modo“Silencioso” o preferentemente apagado.
No se permite contestar ni hacer llamadas de celulardentro del salón.
No se permite el uso de Smarphones, Tablets ni deningún artefacto electrónico portátil.
El uso de la computadora portátil (Laptop) se permitirásolamente cuando el profesor lo indique.
EDIA/DMK/ADGG 8
Evaluación
EDIA/DMK/ADGG 9
NOTA: Para efectos del reporte de calificación del primero y segundo parcial, el promedio de las
evaluaciones continuas será el 80% y las tareas el 20% de la nota reportada en boleta.
PRIMER PARCIAL
Fecha 10-ago 17-ago 24-ago 31-ago 07-sep 14-sep
Porcentaje 5% 5% 5% 5% 5% 5% 2% 2% 2% 36%
Rubro
Ex. Diagnóstico
Eval. 1 Eval. 2 Eval. 3 Eval. 4 Eval. 5 Tarea 1 Tarea 2 Tarea 3 Acumulado
SEGUNDO PARCIAL
Fecha21-sept Semanai 12-oct 19-oct 26-oct Actividad
Porcentaje 5% 5% 5% 5% 5% 5% 2% 2% 2% 36%
RubroEval. 1 Reto Eval. 2 Eval. 3 Eval. 4 Proyecto Tarea 1 Tarea 2 Tarea 3 Acumulado
Evaluación
EDIA/DMK/ADGG 10
El porcentaje del taller de Bocetos (en caso de que aplique) será aplicado al final
del semestre.
EVALUACIÓN SEMESTRAL
Porcentaje 36% 36% 28% 100% 10%
RubroParcial 1 Parcial 2 Parcial 3 FINAL Taller Dibujo
TERCER PARCIAL
Fecha 02 nov 09-nov 30-nov
Porcentaje
5%5% 8% 10% 28%
Rubro Eval 1 Av. Proy Proy Examen Final Acumulado
Sistemas Lógicos (repaso)
EDIA/DMK/ADGG 11
Los circuitos lógicos basa su funcionamiento en la “lógica deconjuntos”
Principio fundamental de los circuitos lógicos:
Falso: ‘0’ (cero lógico)
Verdadero: ‘1’ (uno lógico)
Al tratarse de un dispositivo electrónico, estos “estados” serepresentan por un nivel de tensión eléctrica o “Voltaje”.
Sistemas Lógicos (repaso)
Niveles lógicos de voltaje:
EDIA/DMK/ADGG 12
Umbral de ruido
(nivel indefinido)
5V
0V
‘1’ (estado lógico
“alto”)
‘0’ (estado lógico
“bajo”)
Indecisión
¿’0, ‘1’?
Sistemas Lógicos
EDIA/DMK/ADGG 13
Construcción de un dispositivo lógico basado en niveles detensión eléctrica (Voltaje):
Ley de Ohm:
V = I*RV = Voltaje
I = Corriente
R = Resistencia
La ley de Ohm establece que la tensión (Volts) medida entre lasterminales de un elemento resistivo es igual al valor deresistencia (en Ohms) multiplicada por la corriente (en Amperes)que pasa por el resistor.
DC R
+VR
-
I
V
División de corriente
División de voltaje
EDIA/DMK/ADGG14
Sistemas LógicosIR
R
Ra
Rb
IRb
IRa
Ra
RbIRb
IRa
Equivalente eléctrico de los niveles lógicos:
Los niveles lógicos pueden ser vistos como un switch:
‘0’ es un circuito abierto
‘ 1’ es un circuito cerrado
‘0’
‘1’
S
EDIA/DMK/ADGG15
Sistemas Lógicos
Ejemplos: Switches en serie:
La función lógica que hace que A=B es una AND.
Switches en paralelo:
La función lógica que hace que A=B es una OR.
S SA B
S
SA B
EDIA/DMK/ADGG16
Sistemas Lógicos
Compuertas lógicas
Ejemplo: Análisis de una red lógica:
)21()1( andXXorXnotF
X1
X2
F
0, 0, 1, 1
0, 1, 0, 1
1, 1, 0, 0
0, 0, 0, 1
1, 1, 0, 1A
B
TE 101018
)21(1 XXXF
Brown/Vranesic. “Fundamentals of logic design”.
Compuertas lógicas
Ejemplo: Análisis de una red lógica:
X1
X2
A
B
F
X1 X2 F
0 0 1
0 1 1
1 0 0
1 1 1
TE 101019
Brown/Vranesic. “Fundamentals of logic design”.
Diagrama de tiempo (cronograma):
Circuitos Digitales
• ¿Qué hay al interior de una compuerta lógica?
• ¿Cómo Funcionan las compuertas lógicas?
• ¿Por qué se “cae” el voltaje?
• ¿Por qué algunos TTL siempre tienen una salida en “1” sin importar las condiciones de entrada?
EDIA/DMK/ADGG20
Circuitos Digitales
Los transistores que mas se usan en la construcción de compuertas lógicas son BJT y MOS:
EDIA/DMK/ADGG 21
Colector Colector
Base Base
Emisor Emisor
Tipo
N
Tipo
P
n
p
n
p
p
n
Circuitos Digitales
• El funcionamiento de un transistor en circuitos digitales es el siguiente:
EDIA/DMK/ADGG 22
S D
S DR
S D
S D
S D
Corte
Saturación
Tecnologías de Circuitos Integrados
BJT: Transistor Bipolar de Juntura:
EDIA/DMK/ADGG 24
Colector
Base
Emisor
Tecnologías de Circuitos Integrados
BJT: Transistor Bipolar de Juntura:
EDIA/DMK/ADGG 25
C
B
E
Vb = Vc
C
B
E
Tipo
N
Vb = 0
C
B
E
C
B
Tipo
P
E
Vb = 0 Vb = VcS
atu
ració
n
Co
rte
•Tipo N:
•Corte: Vb = ‘0’
•Saturación: Vb = Vc
•Tipo P:
•Corte: Vb = Vc
•Saturación: Vb = ‘0’
Tecnologías de Circuitos Integrados
BJT: Transistor Bipolar de Juntura: El circuito mas simple de construir es un inversor:
EDIA/DMK/ADGG 26
VDD
Vout
Vin
Vin 0 1
Vout 1 0
Resistencia de
Pull-Up
Tecnologías de Circuitos Integrados
Tecnología TTL (Transistor-Transistor Logic):
EDIA/DMK/ADGG 27
VS = E0 * E1
Familias Lógicas: efectos eléctricos de la TTL
• Simulación cuasi-real de un inversor TTL
EDIA/DMK/ADGG 28
Q1
Q2N2605
Q2
Q2N2222
V1
5Vdc
0
V2
TD = 0.1us
TF = 0.1usPW = 4.5usPER = 10us
V1 = 0
TR = 0.1us
V2 = 5
C2
0.1n
Q3
Q2N2605
Q4
Q2N2222
I
V
V
V
Familias Lógicas: efectos eléctricos de la TTL
• Simulación cuasi-real de un inversor TTL:
EDIA/DMK/ADGG 29
Familias Lógicas: efectos eléctricos de la TTL
• Simulación cuasi-real de un inversor TTL:
EDIA/DMK/ADGG 30
Familias Lógicas: efectos eléctricos de la TTL
• Simulación cuasi-real de un inversor TTL:
EDIA/DMK/ADGG 31
Familias Lógicas: Parámetros eléctricos de la TTL
Voltajes y Corrientes:
Alto:
Bajo:
EDIA/DMK/ADGG 32
I_OH
I_OL
I_IH
I_IL
V_OH V_IH
V_OL V_IL
Familias Lógicas: Parámetros eléctricos de la TTL
Voltajes y Corrientes:
5V = ‘1’
0V = ‘0’
¿qué pasa si no se garantizan esos voltajes?
EDIA/DMK/ADGG 33
Familias Lógicas: Parámetros eléctricos de la TTL
Voltajes y Corrientes:
¿a partir de donde toma la decisión?
EDIA/DMK/ADGG 34
Se definen regiones de certitud para
el ‘0’ y el ‘1’, la región fuera de estos
rangos se llama “Umbral de Ruido”:
Familias Lógicas: Parámetros
• Inmunidad al ruido: Margen de Ruido (V_NH, V_NL)
EDIA/DMK/ADGG 37
“1”
“0”
Umbral de ruido
(nivel indefinido)
“1”
“0”
Umbral de ruido
(nivel indefinido)
Voltaje de Salida Voltaje de Entrada
V_OH min
V_IH min
V_OL max
V_IL max
V_NH
V_NL
Familias Lógicas: Parámetros eléctricos de la TTL
Voltajes y Corrientes:
Umbral de Ruido
Margen de Ruido
Tiempos de Propagación
EDIA/DMK/ADGG 38
IDEAL REAL Respuesta de la
compuerta
Tiempos de
propagación
Familias Lógicas: Parámetros eléctricos de la TTL
Voltajes y Corrientes:
Tiempos de Propagación
Corrientes de entrada
Corrientes de salida
EDIA/DMK/ADGG 39
FAN-IN
FAN-OUT
Familias Lógicas: Parámetros eléctricos de la TTL
Voltajes y Corrientes:
Corrientes de entrada necesarias para interpretar niveles lógicos (FAN-IN)
Corrientes de salida necesarias para alimentar la siguiente etapa (FAN-OUT)
EDIA/DMK/ADGG 40
¿Cuántas entradas de compuertas lógicas del mismo tipo puede
alimentar una salida TTL?
Familias Lógicas: Parámetros eléctricos de la TTL
Voltajes y Corrientes:
EDIA/DMK/ADGG 41
¿Cuántas entradas de
compuertas lógicas del mismo
tipo puede alimentar una salida
TTL?
La corriente de salida en ALTO debe ser suficiente para alimentar
a todas las entradas.
Familias Lógicas: Parámetros eléctricos de la TTL
Voltajes y Corrientes:
EDIA/DMK/ADGG 42
¿Cuántas entradas de
compuertas lógicas del mismo
tipo puede alimentar una salida
TTL?
La corriente de salida en BAJO debe ser suficiente para soportar
la suma de todas las corrientes de entradas.
Familias Lógicas: Parámetros
FAN_IN, FAN_OUT:
Tarea: Investigar los parámetros de voltaje, corriente, Margen de Ruido y tiempos de propagación de un circuito TTL y un circuito CMOS.
Investigar la forma en que debe conectarse una salida MOS a una entrada TTL y vice-versa
EDIA/DMK/ADGG 43
Tecnologías de Circuitos Integrados
Tecnología TTL (Transistor-Transistor Logic):
EDIA/DMK/ADGG 44
VS = E0 * E1
Tecnologías de Circuitos Integrados
Tecnología TTL (Transistor-Transistor Logic):
EDIA/DMK/ADGG 45
Q1
PN2222
Q1_bis
PN2222
A
B
Q2
PN2222
INT
Q3
PN2222
INT1
Q4
PN2222
INT2
R1
4k
R2
1k
R3
130
R4
1.6k
VDD
C1
0.1n1
2
OUTV2
TD = 0.1u
TF = 0.15uPW = 6uPER = 13u
V1 = 5V
TR = 0.15u
V2 = 0V
V3
TD = 0.1u
TF = 0.15uPW = 13uPER = 26u
V1 = 5V
TR = 0.15u
V2 = 0V
GND
V5
5VdcD3
D1N4004
0
VV
V
Tecnologías de Circuitos Integrados
Tecnología TTL (Transistor-Transistor Logic):
EDIA/DMK/ADGG 48
Q1
PN2222
A
Q1_bis
PN2222
B
Q2
PN2222
INT
INT1 Q3
PN2222
INT2 Q4
PN2222
R1
4k
R2
1k
R3
130
R4
1.6k
C1
0.01n1
2
OUT_intV2
TD = 0.1u
TF = 0.15uPW = 6uPER = 13u
V1 = 5V
TR = 0.15u
V2 = 0V
V3
TD = 0.1u
TF = 0.15uPW = 13uPER = 26u
V1 = 5V
TR = 0.15u
V2 = 0V
GND
V5
5VdcD1
D1N4004
0
Q5
PN2222
Q5_bis
PN2222
Q8
PN2222
INT3
INT4 Q6
PN2222
INT5 Q7
PN2222
R5
4k
R6
1k
R7
130
R8
1.6k
OUT
C2
0.1n1
2
D2
D1N4004
VDD
VVV
V
Tecnologías de Circuitos Integrados
Tecnología DTL (Diode-Transistor Logic):
EDIA/DMK/ADGG 51
VS = E0 * E1 * E2
Tecnologías de Circuitos Integrados
MOS : Metal Oxyde Semiconductor.– Creado por RCA en 1962:
EDIA/DMK/ADGG 55
n+ n+
p-
W
L
Oxido
(SIO2)
Poli-silicio
Tox
Tecnologías de Circuitos Integrados
Régimen de transistor en corte:
VGS < VT
VT = Threshold Voltage
No hay canal
EDIA/DMK/ADGG 59
n+ n+
p-
Vdrain = 0Vgate = 0Vsource = 0
Tecnologías de Circuitos Integrados
Régimen de transistor en conducción:
VGS >VT
Creación de un canal de conducción
Cambio de la conductividad del substrato
EDIA/DMK/ADGG 60
Vdrain = 0Vgate = 5Vsource = 0
n+ n+
p-
Tecnologías de Circuitos Integrados
Régimen de transistor lineal:
VGS y VDS >VT
Aparición de la corriente de IDS
Corriente y voltaje VDS proporcionales a VGS
EDIA/DMK/ADGG 61
Vdrain = 2Vgate = 5Vsource = 0
n+ n+
p-
Tecnologías de Circuitos Integrados
Régimen de transistor en saturación:
VDS > VGS -VT
Corriente de IDS máxima
Conductividad máxima entre Drain y Source
EDIA/DMK/ADGG 62
Vdrain = 2Vgate = 5Vsource = 0
n+ n+
p-
Tecnologías de Circuitos Integrados
CMOS: Complementary MOS:
Una red PMOS unida con una red NMOS
EDIA/DMK/ADGG 63
Compuerta NOT a
base de lógica MOS
complementaria
Tecnologías de Circuitos Integrados
CMOS: Complementary MOS
EDIA/DMK/ADGG 64
Compuerta NOR a
base de lógica MOS
complementaria
Tecnologías de Circuitos Integrados
CMOS: Complementary MOS
EDIA/DMK/ADGG 65
Compuerta NAND a
base de lógica MOS
complementaria
Tecnología de fabricación
Se define como tecnología de fabricación a la longitud del transistor.
Medida de longitud en micro-metros
Voltaje de alimentación está directamente relacionado con el tamaño del transistor
EDIA/DMK/ADGG 68
Tecnología 1.0 uM @ 5 V
Tecnología 0.6 uM @ 3.3 V
Tecnología 0.35 uM @ 2.2 V
Tecnología 0.25 uM @ 1.8 V
Tecnología 90 nM @ 1.2 V
Tecnología 70 nM @ 1.0 V
Tecnología 65 nM @ 0.8 V
Familias Lógicas: Parámetros
Modelo basado en un Inversor con una carga a la salida CL:
EDIA/DMK/ADGG 69
VIN
VDD
+
-
ID,p
ID,nCL
IC
Vin
Vout
TpHL TpLH
Familias Lógicas: Parámetros
La respuesta real del inversor propia de CL:
EDIA/DMK/ADGG 70
TpHL TpLH
2
pLHpHL
p
TTT
Familias Lógicas: Parámetros
Voltaje de salida: Tiempos de subida y bajada
EDIA/DMK/ADGG 71
V90%
V10%
V50%
Tfall Trise
Vout
Introducción a la Lógica Programable
Los años obscuros(1970s)
El diseño digital se realizaba manualmente utilizando herramientas de diseño esquemático a nivel de transistor.
La escala de integración sólo permitía incluir un escaso número de compuertas en un empaquetado.
Resultado: SSI, MSI (TI’s TTL series 54/74)
EDIA/DMK/ADGG 72
Introducción a la Lógica Programable
Diseño a nivel de compuertas (1980s)
El diseño de circuitos digitales se comienza a realizar a nivel de compuertas mediante el uso de herramientas computacionales avanzadas y el uso de sintetizadores lógicos básicos (reglas del álgebra de Boole)
Resultado: MSI, LSI (Simple PLDs – PAL, PLA …)EDIA/DMK/ADGG 73
Introducción a la Lógica Programable
Descripción usando lenguajes (1985)
Los circuitos lógicos comienzan a ser diseñados mediante lenguajes de descripción material y herramientas de diseño asistido por computadora basadas en sintetizadores lógicos
Resultado: LSI, ASIC
EDIA/DMK/ADGG 74
Block BK(A, B, C : in;
Q:out)
Node D,E;
{
Nor(A,B,D);
And(B,C,E);
Or(D,E,Q);
}
Introducción a la Lógica Programable
A partir de 1990 hasta hoy
Descripción funcional y estructural de circuitos lógicos mediante el uso de HDL’s (Hardware Description Languages) y herramientas óptimas de diseño asistido por computadora
Resultado: VLSI, complex DSP, complex GPP, DSPs, CPLDs y FPGAs
EDIA/DMK/ADGG 75
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
ENTITY add_stru IS
GENERIC (width : INTEGER :=8);
PORT(a,b : IN STD_LOGIC_VECTOR(width-1 DOWNTO
0);
s : OUT STD_LOGIC_VECTOR(width-1 DOWNTO 0));
END add_stru;
ARCHITECTURE structural OF add_stru IS
component fa port(a,b,cin : in std_logic;
s,cout : out std_logic);
end component;
signal cy : std_logic_vector(width downto 0);
BEGIN
carry(0) <= '0';
inst : for i in 0 to width-1 generate
ui : fa port map (a(i),b(i),cy(i),s(i),cy(i+1));
end generate;
END structural;
Introducción a la Lógica Programable
Ventajas:
Metodología de diseño “Top-down”. Reducción en los tiempos de diseño y producción. Re-utilización de diseños. Reducción de los costos. Flexibilidad. Facilita la integración de distintas arquitecturas. Facilita el uso de arquitecturas alternas Permite la portabilidad y es independiente de la tecnología Permite la construcción de prototipos rápidos mediante la síntesis y la
integración del circuito dentro de un dispositivo reconfigurable. Facilita las tareas de prueba, verificación y optimización
EDIA/DMK/ADGG 76
Introducción a la Lógica Programable
Distintas opciones tecnológicas:
EDIA/DMK/ADGG 77
Evolución de los PLDs Una memoria semiconductor programable de solo lectura (PROM) puede ser utilizado
como un PLD.
En este caso, los bits de direcciones se consideran como los bits de entrada de la función lógica, y los bits de palabra serán de forma individual considerados una función lógica.
De tal suerte que la función lógica de cada una de las salidas dada una combinación de bits de entrada dependerá de la información almacenada en las células de memoria.
EDIA/DMK/ADGG 78
Ad
dre
ss
Dec
od
er
N b
its
Array of
2N M-bit
Words
M bits
Evolución de los PLDs
EEPROM usada como PDL:
El decodificador de direcciones forma un arreglo AND fijo, también conocido como AND alambrada
El arreglo de células de memoria PROM forma un arreglo OR programable
Cada uno de los bits de palabra se convierte de forma individual en una suma de productos
Un bit en ‘1’ selecciona un producto de las entradas
EDIA/DMK/ADGG 79
A2 A0A1
O3 O1O2 O0
Fixed
Connection
Programmable
Connection
{A2, A1, A0} => Address
lines
{O2, O1, O0} => Outputs
)0,1,2( AAAFOi
j
jAOi
Fixed AND array
Programmable
OR array
Evolución de los PLDs
Máquina de estados de Mealy implementada en una memoria de tipo EPROM:
EDIA/DMK/ADGG 80
PROM
16 X 4
D1
D1
D1
D1
XZ
A2 A0A1
O3 O1O2 O0
Fixed
connection
Programmable
connection
Fixed AND array
Programmable
OR array
Evolución de los PLDs
EDIA/DMK/ADGG 81
•O3 = /I2*/I1*/I0 + /I2*/I1*I0 + /I2*I1*I0 +
I2*/I1*/I0 + I2*I1*I0
•O2 = /I2*I1*/I0 + I2*/I1*I0 + I2*I1*I0
•O1 = /I2*/I1*I0 + I2*I1*/I0 + I2*I1*I0
•O0 = /I2*I1*/I0 + I2*I1*/I0 + I2*I1*I0
Evolución de los PLDs
De forma mas apropiada, un PLD desarrollado a partir del principio de funcionamientode una memoria EPROM fue denominado PLA (Programmable Logic Array), tambiénllamado FPLA (Field Programmable Logic Array).
Un PLA se compone de un arreglo de compuertas AND, y un arreglo de compuertas OR.En este caso cualquiera de los 2 arreglos (o los 2) puede ser programable.
EDIA/DMK/ADGG 82
AN
D a
rray
of
N b
its
N b
its OR array
of M bits
M bits
Evolución de los PLDs
PLA:
En este caso los 2 arreglos son programables.
Cada salida es una suma de productos
EDIA/DMK/ADGG 83
I2 I0I1
O3 O1O2 O0
AND array
OR array
Evolución de los PLDs
Otro tipo de PLD que fue desarrollado basado en el esquema de unaEEPROM fue el denominado PAL (Programmable Array Logic)
Una PAL consiste de una suma de productos de dimensiones pre-establecidas, a este arreglo se le agregó un Flip-Flop con el fin de poderimplementar máquinas secuenciales dentro del mismo CI.
EDIA/DMK/ADGG 84
D Q
/QA
B
clk
S
Programmable
Interconnections
Evolución de los PLDs
PAL (Programmable Array Logic):
EDIA/DMK/ADGG 85
A
B
C F
F = /A B+/B C+/A B /C
MacroCell
A
B
C
F
Arquitectura
PAL
Evolución de los PLDs
Algunos PLDs mas recientes incluyeron un arreglo similar al delos PAL y la integraron dentro de un bloque lógico al cual sedenominó MACROCELL.
Una MACROCELL tiene el equivalente a 20 compuertas lógicas
EDIA/DMK/ADGG 89
D Q
/QClock
ENA
C1
C0
Feedback
Output Select
Evolución de los PLDs
Arquitectura de un “Complex PLD”:
EDIA/DMK/ADGG 90
PIA = Programmable Interconnect Array
LAB = Logic Array Block
I/O = Input/output Cell
PIA
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
Interco
nnectio
n m
atrix
. . .
. . .
LAB
LAB
LAB
LAB
LAB
macrocell
. . .
macrocell
macrocell
Evolución de los PLDs
Cada MACROCELL dentro de un PLD puede ser individualmente configurado mediante el almacenamiento de un patrón binario que represente la función lógica, el cual se inserta dentro de la capa de configuración
Los CPLD o EPLD (Erasable PLD) extienden el concepto de la arquitectura PLD a un nivel mayor de integración para proporcionar un mejor desempeño
Este tipo de arquitecturas:
Hace mas eficiente el uso del área de silicio dentro del circuito
Permite reducir el consumo de potenciaPermiten aumentar sustancialmente la frecuencia de
operación del circuito
EDIA/DMK/ADGG 91
Evolución de los PLDs
Un dispositivo de tipo FPGA (Field Programmable Gate Array) es un tipo de PLD que consiste de un arreglo de elementos lógicos distribuidos en forma de matriz, los cuales pueden ser interconectados entre ellos mediante recursos de interconexión bien distribuidos dentro del circuito
EDIA/DMK/ADGG 92
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/OI/O
I/O
I/O
I/O
I/O
Logic Cell
Interconnect lines
I/O Cell
Evolución de los PLDs
De igual forma que las EEPROMS, las células lógicas (Logic Cells)se componen de células de memoria en las cuales se almacenanlas tablas lógicas.
Estas células de memoria forman una tabla de búsqueda llamadaLookUp Table
EDIA/DMK/ADGG 93
4 S
RA
M C
ells
Output
2 inputs
MUX
Address Data
Output16 bits
MemoryDFF
Tecnologías de Fabricación
EPROM: Esta tecnología es la misma utilizada en la fabricación de memorias PROM.
La célula de memoria se basa en un transistor de doble compuerta, una de ellas no tiene conexión física al exterior (Floating Gate)
La compuerta flotante permite almacenar de forma permanente una cantidad de carga eléctrica que fórza al transistor a estar en corte o saturación
Bit line
R pull-up
wo
rd lin
e
PROM
Transistor
Floating
Gate
DPI/EGIC/ADGG
EDIA/DMK/ADGG94
Tecnologías de Fabricación
Durante su estado inactivo, no hay carga almacenada dentro de la “Floating Gate” yel transistor puede activarse (o saturarse) al aplicar un voltaje en la compuerta(como cualquier NMOS)
Cuando el transistor se “programa” al aplicar una diferencia de potencialimportante entre las terminales del transistor (22-27 Volts), una cantidad de cargase almacena en la “Floating Gate”, esta carga obliga al transistor a estarpermanentemente apagado
EDIA/DMK/ADGG 95
Tecnologías de Fabricación
SRAM: Esta es la tecnología de fabricación masutilizada para construir PLDs.
Las células de memoria RAM estáticas se utilizan paraconstruir las LookUp Tables así como para construirparte de los recursos de interconexión de los PLDs.
EDIA/DMK/ADGG 96
SRAM
CELL
(a)
SRAM
CELL
(b)
SRAM
CELL
SRAM
CELL
(c)
Tecnologías de Fabricación
Esta es una célula de memoria SRAM. Se compone de dos inversores re-alimentados entre si, y dos “pass-Transistors” para tener accesopropiamente a la célula de memoria.
El acceso a la célula de memoria se realiza mediante las lineas de bit y depalabra.
EDIA/DMK/ADGG 97
Word Line
Bit linesBL /BL
WL
VDD
CBL
CWL
CBL
N2
N4
P2 P1
N3
N1
AB
Tecnologías de Fabricación
Anti-Fuse: Esta tecnología se utiliza para generar switches. Su funcionamiento essimilar al de los fusibles.
En su estado inactivo, el Anti-Fuse se comporta como circuito abierto, evitando laconexión directa entre las 2 terminales.
Cuando se aplica una diferencia de potencial importante entre las terminales (20-22Volts), se forma un canal permanente, lo cual permite tener una conexión eléctricaentre las 2 terminales.
EDIA/DMK/ADGG 98Oxiden+
Poly-Si
metalSIO2 SIO2
SIO2
metal
vialink
An unprogrammed anti-fuse element A programmed anti-fuse element
metalSIO2 SIO2
SIO2
metal
via
Tecnologías de Fabricación
Memoria FLASH: Este dispositivo no volátil combina laspropiedades de la EEPROM y la SRAM. Se Compone deun dispositivo similar al de la célula EPROM.
Las ventajas mas importantes de esta tecnología sonque utiliza voltajes de programación mucho mas bajosque la EPROM, y los tiempos de acceso son similares alos de un dispositivo SRAM
EDIA/DMK/ADGG 99
CPLDs y FPGAs
Fabricante Altera:
EDIA/DMK/ADGG 100
CADProgrammable
Logic Devices
ARRIA
MAX 10
QUARTUS II
STRATIX
MAX II
SRAM
EEPROM
CYCLONE
IP
NIOS II
DSP
SOC
CPLDs y FPGAs
Densidad y número de E/S:
EDIA/DMK/ADGG 101
100 000 1 000 000
1500
1400
1300
1200
1100
1000
900
800
700
600
500
400
300
200
100
0
I/O
Equivalent Gates
10 0001 000 10 000 000
STRATIX
MAX10, MAX-II
Cyclone
PIA
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
Interco
nn
ect Arra
y
. . .
. . .
LAB
LAB
LAB
LAB
LAB
MacroCell. . .
MacroCell
MacroCell
Arquitectura PAL Jerárquica (EPLD, CPLD): Familia MAX
CPLDs y FPGAs
EDIA/DMK/ADGG 102
Interconnect lines
Logic Cell
Arquitectura convencional del FPGA:
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O Cells
CPLDs y FPGAs
EDIA/DMK/ADGG 104
Good performance
Granularity and
Flexibility
Fast compilation
Predictable model of time
and propagation delay
High number of
Registers
PAL Gate Array
?
. . .
. . .
LAB
LAB
LAB
LAB
LAB
. . .
LAB
Comparación de las 2 arquitecturas:
CPLDs y FPGAs
EDIA/DMK/ADGG 105
Local Routing
in a LAB
LAB
Long lines: Fast Tracks
row/columns
Interconnect switches
(or multiplexers)
Arquitectura Mixta (FPGAs):
CPLDs y FPGAs
EDIA/DMK/ADGG 106
CPLDs y FPGAs LAB architecture (Logic Array Block):
EDIA/DMK/ADGG 107
Carry-in &
Cascade-In
Carry-out &
Cascade-out
Lines of variable
speed and length
Local In
terc
onnect
LE or ALM
CPLDs y FPGAs Logic Element a base de LUT:
EDIA/DMK/ADGG
Data 1
Data 2
Data 3
Data 4
ENA
LAB Clock1
LAB Clock2Local
Interconnect
FastTrackCarry
Chain
Cascade
ChainLUT
D Q
Clock Selection
Carry in Cascade
in
Carry
out
Cascade
Out
Clear & Preset
Logic
LAB Clear/Preset 1
LAB Clear/Preset 2
General Reset
108
CPLDs y FPGAs
Adaptive Logic Modules (ALM):
EDIA/DMK/ADGG
Com
bin
ational
Logic
Adder 0
Adder 1
D
D
Q
Q
Carry INShared_Arith_IN
Shared_Arith_OUT
Carry OUT
Reg_chain IN
Reg_chain OUT
Data f0
Data e0
Data a
Data b
Data c
Data d
Data e1
Data f1
To g
enera
l or
local ro
uting
109
CPLDs y FPGAs MAX:
EDIA/DMK/ADGG 110
Dedicated I/O
I/O control blocks
LAB (16 Macro-Cells)
Interconnections
Courtesy of Altera Co.
CPLDs y FPGAs Familia FLEX:
EDIA/DMK/ADGG
... IOC
IOC
. . .
IOC
IOC
... IOC
IOC
. . .
IOC
IOC
... IOC
IOC
. . .
IOC
IOC
... IOC
IOC
. . .
IOC
IOC
.
.
.
IOC
IOC
.
.
.IOC
IOC
.
.
.
IOC
IOC
.
.
.IOC
IOC
EAB
EAB
LAB(8 LE)
FastTrack
Embedded
Array Block
Row
113
CPLDs y FPGAs Familia FLEX:
EDIA/DMK/ADGG 114
LE1
LE2
LE3
LE4
LE5
LE6
LE7
LE8
Carry-in &
Cascade-In
Global signal
Carry-out &
Cascade-out
Control signals
FastTrack
Local interconnect
Row
6
22
o 26
CPLDs y FPGAs Logic Element (LE)
EDIA/DMK/ADGG 115
Data 1
Data 2
Data 3
Data 4
ENA
LAB Clock1
LAB Clock2
Local
Interconnect
FastTrackCarry
Chain
Cascade
ChainLUT
D Q
Clock Selection
"Enable" of CLK Mux for register packingCarry in Cascade
in
Carry
out
Cascade
Out
Clear & Preset
Logic
LAB Clear/Preset 1
LAB Clear/Preset 2
General Reset
2 outputs
CPLDs y FPGAs
LE usada para una función lógica de 4 entradas:
EDIA/DMK/ADGG 116
Data 1Data 2
Data 3Data 4
Carry IN Cascade IN
Cascade
OUT
Output
4-i
nput
LU
T
D F
F
ENA
CPLDs y FPGAs
Operadores en cascada:
EDIA/DMK/ADGG
Free D-FF : pipeline
D D D
CLK
register
LEOut
Out
117
CPLDs y FPGAs
Modo Aritmético:
EDIA/DMK/ADGG 118
Data 1Data 2
Carry
IN
3-input
LUT
3-input
LUT
Carry
OUT
Cascade
IN
Cascade
OUT
Output
D-F
F
ENA
CPLDs y FPGAs I/O cells:
EDIA/DMK/ADGG 120
CLRN
ENA
D Q
2
clock(1..0)
clear(1..0)
Open-drain
I/O
enable(5..0)
OE(7..0)
clock(1..0)
6
2
2
8
Slew rate
2
12
Dedicated Clks
Control bus
RESET
OEF
astT
rack
CPLDs y FPGAs
Multi-Volt:
EDIA/DMK/ADGG
VCCIO VCCIOVCCINT
GNDIO GNDIOGNDINT
Core5V
system
3V
system
121
CPLDs y FPGAs
EABs:
EDIA/DMK/ADGG 122
Device EABs Total RAM Bits
EPF10K10A 3 6 144
EPF10K30A 6 12 288
EPF10K30E 6 24 576
EPF10K50A 10 20 480
EPF10K50E 10 40 960
EPF10K100A 12 24 576
EPF10K100E 12 49 152
EPF10K130A 16 32 768
EPF10K130E 16 65 536
EPF10K200E 24 98 304
EPF10K250A 20 40 960
EAB
EAB
LAB
CPLDs y FPGAs EAB:
EDIA/DMK/ADGG
DATA_OUT
8,4,2,1
wide
Output
CLK
ADDR:
11,10,9,8
wide
WE
DATA:
8,4,2,1
wide
Input
CLK
D
RAM/ROM
256x8
512x4
1024x2
2048x1
D
D
D
Write
Pulse
Circuit
123
CPLDs y FPGAs
Aplicaciones de las EABs:
Memoria RAM simple port : Síncrona o Asíncrona
RAM dual port, FIFO
ROM
Lógica CombinatoriaEAB usada como una Look Up Table mas grande
Lógica Secuencial (Máquinas de Estado)EAB usada como LUT con DFFs y retro-alimentaciones
EDIA/DMK/ADGG 124
CPLDs y FPGAs
Arquitectura Stratix:
EDIA/DMK/ADGG
8-LEs LABs (Stratix)
8-ALMs LAB (StratixII)
4-8 PLLs digitales
M512 RAM blocks
M4K RAM blocks
Mega EABs
DSP blocks
Courtesy of Altera Co.
126
CPLDs y FPGAs Jerarquías de las líneas de
interconexión de la familia Stratix:
EDIA/DMK/ADGG
5-6 capas de metal
3 distintos tipos de líneas largas
(Long Lines)
Interconexiones de alta velocidad
entre las LABs
Líneas de interconexión entre
LABS Adyacentes para funciones
en cascada
Líneas de interconexión de
distinta longitud y velocidad
Courtesy of Altera Co.
127
CPLDs y FPGAs
Stratix ALM:
EDIA/DMK/ADGG
Courtesy of Altera Co.
Two 4-input LUT
Four 3-input LUT
130
CPLDs y FPGAs
Stratix ALM en modo lógico:
EDIA/DMK/ADGG
4-inputLUT
4-inputLUT
Data f0
Data e0Data a
Data b
Data c
Data d
Data e1Data f1
5-inputLUT
3-inputLUT
Data f0
Data e0Data a
Data bData c
Data d
Data e1Data f1
4-inputLUT
Data d
Data e1Data f1
5-inputLUT
Data f0
Data e0Data a
Data bData c
131
CPLDs y FPGAs
Stratix ALM en modo lógico:
EDIA/DMK/ADGG
6-inputLUT
Data f0
Data e0Data a
Data bData c
Data d Data d
Data e1Data f1
Data f0
Data e0Data a
Data bData c
5-inputLUT
Data f0
Data e0Data a
Data bData c
5-inputLUT
Data d
Data e1Data f1
6-inputLUT
6-inputLUT
132
CPLDs y FPGAs
Stratix ALM en modo aritmético:
8-bit adder
Manchester carrychain
Carry Select Adder(para multiplicadores de BOOTH)
EDIA/DMK/ADGG
4-inputLUT
4-inputLUT
Data f0
Data e0
Data aData b
Data c
Data d
Data e1
Data f1
4-inputLUT
4-inputLUT
+
+
Carry_in
Carry_out
133
CPLDs y FPGAs
Distribución en regiones del reloj para las familias Stratix:
En cada cuadrante se puede utilizar una señal de reloj distinta
EDIA/DMK/ADGG
Courtesy of Altera Co.
137
CPLDs y FPGAs
Células de E/S de Stratix:
Las entradas y las salidas pueden ser registradas
La señal de Output Enabletambién puede pasar a través de un FF
EDIA/DMK/ADGG
Courtesy of Altera Co.
138
CPLDs y FPGAs Herramientas de
CAD para lógica programable:
Quartus II
EDIA/DMK/ADGG139
Rapport
.rpt
XX . acf
Graphic
Editor
Error correct
assistant
Waveform
EditorSimulator
Programmer
Compiler
.gdf
.scf .scf
.mtf
. tdf . vhd .v
Text Editor
E0
E1
S
E0
E1
S
.acf
Timing
Analyser
Floorplan
Editor
NETLIST
.edo .vho .vo
Description
Compiler
Verification
To other CAD tools
(Synopsys, Cadence)
Configuration
Concepción de C.I.
Definición del comportamiento del sistema(Arquitectura) => Especificación
Traducción de la arquitectura en compuertas lógicas,organización de los recursos y selección de latecnología => Concepción
Verificación, el sistema construido se comportaconforme a la especificación de la arquitectura =>Validación
EDIA/DMK/ADGG 140
Desarrollo de un C.I.
Traducción de la concepción a la tecnología seleccionada: Implementación material
Concepción y diseño de los protocolos de verificación post-fabricación: Verificación Test-besch
Optimización del desempeño global del circuito para su producción final: Industrialización
EDIA/DMK/ADGG 141
Desarrollo de un prototipo
Antes de mandar construir un C.I. de tipo ASIC a una fundidora de silicio, se debe desarrollar un prototipo:
Tecnología más barata
Tecnología muy disponible
Desempeño equiparable al producto terminado
Herramientas de diseño CAD óptimas y que proporcionen una NetList sintetizable
Finalmente hay que desarrollar una plataforma de prueba que valide el funcionamiento del prototipo
EDIA/DMK/ADGG 142
Flujo de diseño de un C.I.
EDIA/DMK/ADGG
Descripción
Síntesis lógicaVerificación
funcional
Place & Route
Tecno
Verificación
Temporal
Síntesis de
alto nivel
Verificación &
test bench
Progra-
mación
144