te 2030 sistemas digitales avanzadoshomepage.cem.itesm.mx/garcia.andres/pdf201411/te 2030 sda...

145
TE 2030 Sistemas Digitales Avanzados Dr. Andrés David García García Departamento de Mecatrónica Campus Estado de México

Upload: dinhphuc

Post on 19-Sep-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

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

Ejemplos:

X Y

X

Y

EDIA/DMK/ADGG17

X AND Y

X OR Y

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

El Diodo

• Unión de Material N, y Material P

EDIA/DMK/ADGG 23

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 eléctricos de la TTL

Voltajes y Corrientes:

EDIA/DMK/ADGG 35

Familias Lógicas: Parámetros eléctricos de la TTL

Voltajes y Corrientes:

EDIA/DMK/ADGG 36

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 46

Tecnologías de Circuitos Integrados

Tecnología TTL (Transistor-Transistor Logic):

EDIA/DMK/ADGG 47

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 TTL (Transistor-Transistor Logic):

EDIA/DMK/ADGG 49

Tecnologías de Circuitos Integrados

Tecnología TTL (Transistor-Transistor Logic):

EDIA/DMK/ADGG 50

Tecnologías de Circuitos Integrados

Tecnología DTL (Diode-Transistor Logic):

EDIA/DMK/ADGG 51

VS = E0 * E1 * E2

Tecnologías de Circuitos Integrados

Tecnología ECL (Emmeter-Coupled Logic):

EDIA/DMK/ADGG 52

VS = E

Tecnologías de Circuitos Integrados

Tecnología I2L (Integrated Injection Logic):

EDIA/DMK/ADGG 53

Tecnologías de Circuitos Integrados

I2L:

EDIA/DMK/ADGG 54

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

Funcionamiento de un transistor MOS:

EDIA/DMK/ADGG 56

Tecnologías de Circuitos Integrados

Funcionamiento de un transistor MOS:

EDIA/DMK/ADGG 57

Tecnologías de Circuitos Integrados

Funcionamiento de un transistor MOS:

EDIA/DMK/ADGG 58

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ías de Circuitos Integrados

BiCMOS:

Inversor:

EDIA/DMK/ADGG 66

Tecnologías de Circuitos Integrados

BiCMOS:

Inversor:

EDIA/DMK/ADGG 67

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

EDIA/DMK/ADGG 86

16L8

16R8

Evolución de los PLDs

El PLD 22V10

MACROCELL

Suma de productos

EDIA/DMK/ADGG 87

Evolución de los PLDs

El 22V10

EDIA/DMK/ADGG 88

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

MacroCell (CPLD):

D Q

/Qclk

Programmable

Interconnections

CPLDs y FPGAs

EDIA/DMK/ADGG 103

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

MAX: MacroCell

EDIA/DMK/ADGG

Courtesy of Altera Co.

111

CPLDs y FPGAs

MAX: Programmable I/O

EDIA/DMK/ADGG 112

Multiplexers

I/O pin

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

Carry chain and cascade chain :

EDIA/DMK/ADGG

EABRow

119

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

CAM: Content Addressable Memory

EDIA/DMK/ADGG

Address

Match

FlagCAM

Data

125

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

Estructura de las LABs en el Stratix:

EDIA/DMK/ADGG

Courtesy of Altera Co.

128

CPLDs y FPGAs

Adaptive Logic Module (ALM):

EDIA/DMK/ADGG

Courtesy of Altera Co.

129

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 Stratix Memory Array Blocks:

EDIA/DMK/ADGG

Courtesy of Altera Co.

134

CPLDs y FPGAs Bloques DSP en Stratix y StratixII:

EDIA/DMK/ADGG

Courtesy of Altera Co.

135

CPLDs y FPGAs PLL digital de los Stratix y StratixII:

EDIA/DMK/ADGG

Courtesy of Altera Co.

136

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

Justificación FPGA vs ASIC

Flujo de diseño:

EDIA/DMK/ADGG 143

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

Compromisos tecnológicos

En base a la tecnología utilizada y a la aplicación final, el C.I. debe cumplir con los compromisos:

EDIA/DMK/ADGG

S

V P

S = Superficie

V = Velocidad (Frecuencia)

P = Potencia (V*I)

145