1_spld y cpld

90
  1 JJVS-09 Sistemas digitales Octubre '09- Febrero '10 MC Jacob J. Vásquez Sanjuan

Upload: palmerosd

Post on 20-Jul-2015

105 views

Category:

Documents


0 download

TRANSCRIPT

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 1/90

1JJVS-09

Sistemas digitalesOctubre '09- Febrero '10

MC Jacob J. Vásquez Sanjuan

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 2/90

2JJVS-09

Diseño e implementación decircuitos lógicos con WinCupl

Circuitos secuenciales

Circuitos combinacionales

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 3/90

3JJVS-09

Circuitos secuenciales

Considere la siguiente ecuación

Y = ABC  ABC  A BC  A BC  ABC 

reduzca la ecuación anterior empleando mapas deKarnaugh.

Y = ABC 

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 4/90

4JJVS-09

Implementación mediantemultiplexores

 ABC  ABC  A BC  A BC  ABC =∑ 0,1,2,3,6

ABC

D7D6D5D4D3D2D1D0

Y

5V

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 5/90

5JJVS-09

Arquitectura de una PROM

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 6/90

6JJVS-09

Implementación mediante una ROM

0

A

B

C

AB/C

/AB/C

/A/B/C

/A/BC

A/B/C

A/BC

ABC

/ABC

U7A

74LS11

1

122

13

U7A

74LS11

1

12213

U7A

74LS11

1

122

13

U7A

74LS11

1

122

13

U7A

74LS11

1

122

13

U7A

74LS11

1

122

13

U7A

74LS11

1

122

13

U8A

74LS04

         1

         2

U8A

74LS04

         1

         2

DIODE

U8A

74LS04

         1

         2

U7A

74LS11

1

122

13

Y = Σ 0,1,2,3,6

Dirección Dato0 11 12 13 14 05 06 17 0

Y =∑ 0,1,2,3,6

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 7/90

7JJVS-09

Arquitectura PAL

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 8/90

8JJVS-09

Implementación con PAL

0

A

Y1=/A/B/C+/A/BC+/AB/C

B C

U7A

74LS11

1

122

13

U8A

74LS04

         1

         2

U7A

74LS11

1

122

13

U7A

74LS11

1

122

13

U7A

74LS11

1

122

13

U7A

74LS11

1

122

13

U7A

74LS11

1

122

13

D22

DIODER2

R

R2

R

R2

R

R2

R

R2

R

R2

R

R2

RR2

R

R2

R

R2

R

R2

R

R2

R

R2

R

R2

R

R2

R

R2

R

R2

R

R2

R

U8A

74LS04

         1

         2

U8A

74LS04

         1

         2

D22

DIODE

DIODE

DIODE

D22

DIODE

U9A

74LS27

1

2

13

12

U10A

74LS04

1 2

U10A

74LS04

1 2

U9A

74LS27

1

2

13

12

D22

DIODE

D22

DIODE

D22

DIODE

DIODE

DIODE

DIODE

DIODE

DIODE

DIODE

DIODEY1=/ABC+AB/C

Y =∑ 0,1,2,3,6

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 9/90

9JJVS-09

Arquitectura PLA

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 10/90

10JJVS-09

FPGA

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 11/90

11JJVS-09

Tipos de PAL

El circuito de salida de una PAL se llama MACROCELDA. En general,existen 3 tipos de macroceldas:

Combinacional (L). Únicamente genera funciones lógicas. Las salidas pueden ser tomadas como entradas. 16L8 = 16 entradas/salidas y 8 salidas, cada salida se forma con 8 minitérminos.

Combinacional con flip-flops a las salidas (R). Las salidas que pueden ser combinacionales. Un número de salidas están conectadas a flip - flops.

16R4=16 entradas/salidas con 4 flip-flops.

Configurable, combinacional o salida a flip - flop (V) Cada una de las salidas es configurable, a ser de flip - flop o puramente combinacional. 22V10 = 22 entradas/salidas y 10 salidas configurables.

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 12/90

12JJVS-09

Macrocelda configurable

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 13/90

13JJVS-09

GAL 22V10

Tiene 12 entradas (Terminales 1-11 y 13).

Tiene 10 salidas/entradas (14 - 23).

La terminal 1 siempre es la fuente de reloj paracircuitos secuenciales.

Se puede generar hasta 120 minitérminos: 8 en las salidas 14 y 23. 10 en las salidas 15 y 22. 12 en las salidas 16 y 21.

14 en las salidas 17 y 20. 16 en las salidas 18 y 19.

Permite Reset síncrono y asíncrono, y se puedehacer retroalimentación de las salidas a lasentradas.

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 14/90

14JJVS-09

GAL 22V10

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 15/90

15JJVS-09

WinCUPL (Universal Compilerfor Programmable Logic)

El WinCUPL es un software de Atmel que genera el archivo para programarPAL’s y GAL’S.

Un programa en WinCUPL, consta de 3 bloques principales, que son:

 Encabezado. Se indica el nombre del programa, el dispositivo a serprogramado, el autor, la fecha y otros datos.

 Asignación de terminales. Se indican la asignación de las

terminales de entrada y salida del dispositivo.

 Ecuaciones lógicas. Define la relación entre las terminalesasignadas.

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 16/90

16JJVS-09

Implementación en WinCUPL

Encabezado

signación de terminales

Y =∑ 0,1,2,3,6 Name Name ;PartNo 00 ;Date 03/10/2006 ;Revision 01 ;Designer Engineer ;Company UTM ;Assembly None ;Location ;Device g22v10 ;

/* *************** INPUT PINS *********************/PIN 1 = A ; /* */PIN 2 = B ; /* */PIN 3 = C ; /* */

/* *************** OUTPUT PINS *********************/

PIN 23 = Y ; /* */

/* ************** ECUACIÓN LÓGICA ******************/Y=(!A&!B&!C)#(!A&!B&C)#(!A&B&!C)#(!A&B&C)#(A&B&!C);

Ecuaciones lógicas

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 17/90

17JJVS-09

Elementos del lenguaje CUPL Variables Son cadenas de caracteres alfanuméricos que especifican

terminales del dispositivo, nodos intermedios, constantes,señales de entrada y salida, señales intermedias o conjuntosde estas.

Son sensibles a las mayúsculas.

Indexadas

Es posible usar nombres de variables para representar ungrupo de variables terminando estas con un numero indexadodel 0 al 31. Ejemplo:

D0 D1 D2 D3 D4 D5 D6 D7

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 18/90

18JJVS-09

Palabras reservadas

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 19/90

19JJVS-09

Constantes numéricas

La base por omisión en CUPL para todos losnúmeros es el hexadecimal.

Excepto para los números de las terminales y

variables indexadas, las cuales siempre estánen decimal.

Ejemplos Decimal ‘d’O ‘d’21 ‘d’51 ‘d’7

Hexadecimal ‘h’O ‘h’15 ‘h’33 ‘h’7 Octal ‘o’O ‘o’25 ‘o’63 ‘o’7

Binario ‘b’O ‘b10101 ‘b’110011 ‘b’111

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 20/90

20JJVS-09

Funciones lógicas

& # ( ) -* + [ ] /: . ¨ /* */; , ! ‘ =@ $ ^

Not !And &Or #Xor $

/* Comentario */

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 21/90

21JJVS-09

Operadores aritméticos

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 22/90

22JJVS-09

Notación de lista 

Una lista es un método corto para definir variables.Ejemplo:

[D0,D1,D2,D3,D4,D5,D6,D7][ON, OFF]

[ONE, TWO, THREE, FOUR]

Cuando todos los nombres de las variables en lalista son secuencialmente numerados, el siguienteformato puede ser usado:

[D0..D7] [A00..A15] [INPUT3..INPUT0][D0..7] [A7..0] [I2..1]

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 23/90

23JJVS-09

Usando el comando FIELD

Una declaración con FIELD asigna una variable a ungrupo de bits.

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 24/90

24JJVS-09

Extensiones de variables

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 25/90

25JJVS-09

Operaciones de igualdad

Estas expresiones

son equivalentes a :

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 26/90

26JJVS-09

Tablas de verdad

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 27/90

27JJVS-09

Máquinas de estados

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 28/90

28JJVS-09

Máquinas de estados

Sequenced count {

present S0 if up next S1;

if down next S9;if clear next S0;if down out carry;

present S1 if up next S2;if down next S0;

if clear next S0;present S2 if up next S3;

if down next S1;if clear next S0;

}

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 29/90

29JJVS-09

Condición

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 30/90

30JJVS-09

Encabezado

Name Name ;

PartNo 00 ;

Date 03/10/2006 ;

Revision 01 ;

Designer Engineer ;

Company UTM ;

Assembly None ;

Location Huajuapan;

Device g22v10 ;

Deben escribirse todos los campos, si no, el compiladormarca un error.

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 31/90

31JJVS-09

Declaración de terminales

El formato general para esta declaración es:

PIN pin_number = [ ! ] var

Ejemplos:

PIN 1 = Clock; PIN 2 = S;

PIN 11 = !O; PIN [3..6] = [D0..D3];

Declaración de nodosPIN_NODE pin_number = [!]var;

Se usan para dispositivos que cuentan conterminales internas

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 32/90

32JJVS-09

Comandos del procesador

El comando $DEFINE sirve para remplazarun operador, número, o símbolo con unacadena de caracteres que es más

consistente con una aplicación específica.$DEFINE ON ‘b’1

$DEFINE OFF ‘b’0

$DEFINE PORTA ‘h’C000

$DEFINE + #

$DEFINE * &

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 33/90

33JJVS-09

$DEFINE STATE-a ‘b’000

$DEFINE STATE-b ‘b’001

$DEFINE STATE-c ‘b’010$DEFINE STATE-d ‘b’100

Present STATE-d NEXT STATE-a

Comandos del procesador

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 34/90

34JJVS-09

Simulación

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 35/90

35JJVS-09

Multiplexor de 2 a 1

D0

D1

C0

Y

Y=/C0*D0 + C0*D1

Min C0 D1 D0 Y

0 0 0 0 0

1 0 0 1 1

2 0 1 0 0

3 0 1 1 1

4 1 0 0 05 1 0 1 0

6 1 1 0 1

7 1 1 1 1

Tarea 1: Realice un decodificadro 2 a 4, empleando

WinCupl

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 36/90

36JJVS-09

Generador de paridad

Diseñe un circuito que determine la paridadpar en una palabra de entrada de 8 bits.Existe paridad si se tiene un número par de

unos a la entrada.

Escriba el programa para el WinCUPL.

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 37/90

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 38/90

38JJVS-09

Name bcd7seg ;PartNo 00 ;Date 04/10/2006 ;Revision 01 ;Designer Engineer ;

Company UTM ;Assembly None ;Location ;Device g22v10 ;/* *************** INPUT PINS */PIN 1 = B0 ;

PIN 2 = B1 ;PIN 3 = B2 ;

PIN 4 = B3 ; *//* *************** OUTPUT PINS*/PIN 14 = A ;PIN 15 = B ;PIN 16 = C ;PIN 17 = D ;PIN 18 = E ;PIN 19 = F ;PIN 20 = G ;

FIELD ENTRADA = [B3..0];FIELD SALIDA = [A,B,C,D,E,F,G];

TABLE ENTRADA=>SALIDA {0=>'b'1111110; 1=>'b'0110000;

2=>'b'1101101; 3=>'b'1111001;4=>'b'0110011; 5=>'b'1011011;6=>'b'1011111; 7=>'b'1110000;8=>'b'1111111; 9=>'b'1110011;

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 39/90

39JJVS-09

Decodificador de 3 a 8

Entradas Salidas

A B C Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7

0 0 0 1 0 0 0 0 0 0 0

0 0 1 0 1 0 0 0 0 0 0

0 1 0 0 0 1 0 0 0 0 0

0 1 1 0 0 0 1 0 0 0 0

1 0 0 0 0 0 0 1 0 0 0

1 0 1 0 0 0 0 0 1 0 0

1 1 0 0 0 0 0 0 0 1 0

1 1 1 0 0 0 0 0 0 0 1

Y = /A/B/C+/A/B C+/AB/C+/ABC+A/B/C+A/BC+AB/C+ABC

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 40/90

40JJVS-09

Decodificador de 3 a 8 activo enbajo

Entradas Salidas

A B C Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7

0 0 0 0 1 1 1 1 1 1 1

0 0 1 1 0 1 1 1 1 1 1

0 1 0 1 1 0 1 1 1 1 1

0 1 1 1 1 1 0 1 1 1 1

1 0 0 1 1 1 1 0 1 1 1

1 0 1 1 1 1 1 1 0 1 1

1 1 0 1 1 1 1 1 1 0 1

1 1 1 1 1 1 1 1 1 1 0

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 41/90

41JJVS-09

Comparador de dos datos de 3bits

Dato a

Dato b

Compara

Mayor

IgualMenor

TAREA2: Realice un comparador de 4 bits.

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 42/90

42JJVS-09

Sumador

Cin A B suma Cout

0 0 0 0 0

0 0 1 1 0

0 1 0 1 0

0 1 1 0 1

1 0 0 1 0

1 0 1 0 1

1 1 0 0 1

1 1 1 1 1

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 43/90

43JJVS-09

Clasificación de la lógica digital

Logic

ProgrammableLogic

Devices (PLDs)

Gate ArraysCell-Based

ICsFull Custom

ICs

Standard

Logic

ASIC Apli-cattion

Specific ICs

SPLDs(PALs)

80s

CPLDs90 -

FPGAs90 -

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 44/90

44JJVS-09

Simple Programmable LogicDevice

SPLDPALPLAPLD

Arreglos AND-OR con salidas directas o a

registros (flip-flops).Contienen de 10 a 100 circuitos TTL en un

solo chip

l bl i

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 45/90

45JJVS-09

Complex Programmable LogicDevice

Contiene varios elementos reconfigurablestipo PLA interconectados por una matriz deconmutación.

Equivale de 4 a 64 PLAs.Circuitos de 1000 a 10000 compuertas en un

solo chip.

Tiempos de retardo de terminal a terminalfijos del orden de nanosegundos.

2 0

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 46/90

46JJVS-09

PAL12L10

Tiene 12 entradas (Terminales 1-11 y 13).

Tiene 10 salidas combinacionales (14 - 23).

Se puede generar hasta 20 minitérminos,2 en

cada salida de hasta 12 productos .

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 47/90

47JJVS-09

PAL 20C1

Tiene 20 entradas.

Tiene 1 salida

complementada.

Se puede generar hasta 16minitérminos de 20 entradascada uno.

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 48/90

48JJVS-09

PAL16R4

Tiene 16 entradas de las cuales 8 puedenretroalimentarse de las salidas.

Tiene 8 salidas y cuatro de estas pueden ser consalida a flip-flop tipo D.

Se puede generar hasta 8 minitérminos de hasta8 variables (salida combinacional) y 7 paracombinacional.

Permite Reset síncrono y asíncrono, y se puedehacer retroalimentación de las salidas a las

entradas.

GAL16V8

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 49/90

49JJVS-09

GAL16V8 Tiene 10 entradas.

Tiene 8 salidas (que pueden ser entradas).

En modo de registro la terminal 1 y 11, sonconfiguradas como la señal de reloj y lahabilitación de salida (OE). En modo complejo

se retroalimentan las terminales 12 y 19. Enmodo simple se retroalimentan las terminalesadjacentes y las salidas quedan en las terminales15 y 16.

Se puede generar hasta 80 minitérminos:

8 en cada una de las salidas.

Permite Reset síncrono y asíncrono, y se puedehacer retroalimentación de las salidas a lasentradas.

GAL16V8

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 50/90

50JJVS-09

GAL16V8

P t i

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 51/90

51JJVS-09

Presentaciones

M d tit i

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 52/90

52JJVS-09

Modos para sustituirdispositivos con la GAL16V8

PLS 153

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 53/90

53JJVS-09

PLS 153

PLS 153

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 54/90

54JJVS-09

PLS 153

8 entradas lógicas, I0 a I7. El dispositivo tiene 10 salidas, B0 a B9. Cada

salida es programable usando una compuerta XOR. Todas las salidas son retroalimentadas al arreglo de

compuertas, proporcionando un total de 18 entradasal arreglo. Si las salidas no son habilitadas, sepueden usar como entradas.

Cada una de las 10 salidas es combinacional y

puede generar expresiones de hasta 32minitérminos usando algunas o las 8 entradas o 10salidas como operandos.

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 55/90

55JJVS-09

PLS 167

PROGRAMA EN OPAL DEL

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 56/90

56JJVS-09

PROGRAMA EN OPAL DELCOMPARADOR DE 4 BITSbegin header

Comparador de dos numeros de cuatro bitsend header

begin definitiondevice p22v10;input compara=1,a3=2,a2=3,a1=4,a0=5,b3=6,b2=7,b1=8,b0=9;feedback(com) may=23,igu=22,men=21;

output(com)mayor=20,menor=19,igual=18;set datoa=[a2,a1,a0],datob=[b2,b1,b0];end definition

begin equationmay = ( datoa > datob )*compara;igu = ( datoa == datob)*compara;men = ( datoa < datob )*compara;mayor = may*(a3>=b3)*compara;menor = men*(a3<=b3)*compara;igual = igu*(a3==b3)*compara;

 

Diagrama de estados

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 57/90

57JJVS-09

Diagrama de estados/* *************** INPUT PINS *********************/PIN 1 = CLOCK ; /* */PIN 2 = R ; /* */PIN 3 = S ; /* */

PIN 4 = T ; /* */PIN 5 = RESET ; /* */PIN 6 = PRESET ; /* *//* *************** OUTPUT PINS *********************/PIN 14 = A ; /* */PIN 15 = B ; /* */PIN 16 = C ; /* */

SEQUENCE [A,B,C]{PRESENT 6 IF R NEXT 2; DEFAULT NEXT 4;PRESENT 4 IF S NEXT 6; DEFAULT NEXT 5;PRESENT 2 IF S NEXT 3; DEFAULT NEXT 6;PRESENT 5 IF T NEXT 7; DEFAULT NEXT 4;

PRESENT 7 NEXT 6;PRESENT 3 IF T NEXT 2; DEFAULT NEXT 7;}

A.AR=RESET;B.AR=RESET;C.AR=RESET;A.SP=PRESET;B.SP=PRESET;C.SP=PRESET;

Múltiples entradas en un

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 58/90

58JJVS-09

Múltiples entradas en undiagrama de estados

Diseño lógico con salidas

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 59/90

59

JJVS-09

Diseño lógico con salidas

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 60/90

60

JJVS-09

Ejemplo de salidas

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 61/90

61

JJVS-09

Diagrama de tiempo

Generación de los pulsos de

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 62/90

62

JJVS-09

Generación de los pulsos desalida 

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 63/90

63

JJVS-09

Otras salidas

Diagrama de tiempos

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 64/90

64

JJVS-09

Diagrama de tiempos

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 65/90

65

JJVS-09

Salidas del ejercicio

Diagrama de tiempos

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 66/90

66

JJVS-09

Diagrama de tiempos

Un controlador para una

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 67/90

67

JJVS-09

Un controlador para una máquina de refrescos

Entrega dos tipos de refrescos: sangria ylight.

Acepta solo monedas de 5 peso.Si existen monedas depositadas, estas

pueden regresarse en cualquier momentomediante un botón.

El usuario puede tomar el tiempo que seanecesario para hacer su selección.

El precio del refresco es de 10 pesos.Más de una entrada no puede ser reconocida

al mismo tiempo.

Circuitos integrados programables

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 68/90

68

JJVS-09

SPLD (Simple Programmable Logic Device)

PROM (Programmable Read Only Memory)

PLA (Programmable Logic Array)

PAL (Programmable AND-Array Logic)

CPLD (Complex Programmable Logic Device)

FPGA (Field Programmable Logic Device)

Circuitos integrados programablescon diferentes densidades

Programación con memorias

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 69/90

69

JJVS-09

Programación con memoriasde solo lectura 

Máquina de estados basada en

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 70/90

70

JJVS-09

Máquina de estados basada enROM

Diseño de diagramas de estado

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 71/90

71

JJVS-09

Diseño de diagramas de estadocon entradas de decisión

Diseño de diagramas de

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 72/90

72

JJVS-09

Diseño de diagramas deestado con múltiples entradas

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 73/90

73

JJVS-09

THINGS TO THINK...

He who asks is a fool for five minutes, buthe who does not ask remains a fool

forever. –Chinese proverb.

Advice is what we ask for when we

already know the answer but wish wedidn't. -- Erica Jong

Generador/Sintetizador de

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 74/90

74

JJVS-09

Generador/Sintetizador deseñales digitales

Generador/Sintetizador de

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 75/90

75

JJVS-09

Generador/Sintetizador deseñales digitales

Dispositivos Lógicos

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 76/90

76

JJVS-09

Dispositivos LógicosProgramables Complejos (CPLD)

Un CPLD es un dispositivo lógico programable complejo (Complex Programmable Logic Device)

Son circuitos programables construidos con base en arreglos debloques lógicos (LABs)

Cada LAB contiene un conjunto de Macro celdas

Con cada macro celda se puede realizar una función lógicaindependiente

Los LABs se conectan entre si a través de un arreglo deinterconexiones programable

Es posible realizar sistemas con mayor complejidad

Dispositivos Lógicos

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 77/90

77

JJVS-09

Dispositivos LógicosProgramables Complejos (CPLD)

Multiple PLDs canbe combined on asingle chip byusing

programmableinterconnectstructures.

These PLDs arecalled CPLDs.

ALTERAMAX 700

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 78/90

78

JJVS-09

CPLDs de Altera 

MAX 5000, MAX 7000, y MAX 9000

• El dispositivo puedeser considerado como un

arreglo de SPLDs.

• Existen en tecnologíaEPROM y EPROM.

• Se programan “en elcircuito”.

CPLD MAX 7000

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 79/90

79

JJVS-09

CPLD MAX 7000

Cada LAB consistede dos macroceldas(OLMC), quecomprende unconjunto de términos

de productosprogramables quealimentan unacompuerta OR y unflip-flop (D,JK,T o

SR).

CPLD MAX 7000

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 80/90

80JJVS-09

CPLD MAX 7000

Las entradas a laOLMC son variables,la compuerta ORpuede recibir 5 SOPy 15 extras de otras

macroceldas, lasalida OR puedevariarse.

 

CPLDs de AMD (Advance

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 81/90

81JJVS-09

CPLDs de AMD (AdvanceMicro Devices)

ExistendiversascategoríasMatch 1-5.

La M-1 utilizaPALs 22v16.

La M-4 utilizade 6 a 16

PALs (2K-5Kcomp).

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 82/90

82JJVS-09

Match 4 de AMD

Existen 2 diferenciascon un PAL: existe unseleccionador desalidas y una matrizde conmutación entrelas OR y los pines deE/S.

Las salidas OR sonflexibles a diferenciade los PAL.

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 83/90

83JJVS-09

CPLDs de Lattice

Su primera generación de CPLDs, son las Plsi e ispLSI 1000(rango de 1200 a 4000 compuertas), retardo de 10ns.

Serie 2000, rango de 600-2000 compuertas, la cual tiene másmacroceldas por terminales de entrada/salida y menorvelocidad de retardo que la serie 1000 (5.5ns). El estado del

arte de en cuanto a velocidad. La serie 3000 representa los CPLDs más grandes con hasta

5000 compuertas y retardos de 10-15ns. Se compara a laMach 4 de AMD. Ofrece otras características mejoradas, comoel JTAG boundary scan.

Estructura general del CPLD

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 84/90

84JJVS-09

Estructura general del CPLDPSI o ispLSI de Lattice

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 85/90

85JJVS-09

Cypress FLASH370 CPLDs

Se basa en tecnología FLASH y EEPROM,ofrece retardos de terminal a terminal de 8.5a 15 ns.

No se programan “en el circuito”.Proporcionan más entradas/salidas que sus

competidores. Las partes pequeñas tienen 32 macroceldas

(grandes:256) y 32 entradas/salidas(grandes:256).

Arquitectura del CPLD de

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 86/90

86JJVS-09

qCypress FLASH370

Xilinx XC7000 CPLD

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 87/90

87JJVS-09

Tiene dos familias: XC7000 y XC9500.

Series 7200 y 7300. Cuentan con capacidad de 600 a 1500 compuertas.

Retardos de 25 ns.

Cada CI consiste de una colección de bloques compuestode 9 macroceldas.

La serie 7200 incluye dos compuertas OR y cada una deellas es entrada a una ALU de dos bits. La ALU generacualquier función que se conecta a un flip-flopreconfigurable.

La serie 7300 es una versión mejorada de la 7200,ofreciendo mayor capacidad (3000 compuertas) y altavelocidad.

XC9500 Hasta 6200 compuertas y retardos de 5 ns.

Altera CPLD FLASHlogic

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 88/90

88JJVS-09

Altera CPLD FLASHlogic

Arreglos ICT PEEL

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 89/90

89JJVS-09

g

5/17/2018 1_SPLD Y CPLD - slidepdf.com

http://slidepdf.com/reader/full/1spld-y-cpld 90/90

Aplicaciones de CPLDs

Controladores gráficos

Controladores LAN

Controladores UART

Control de memorias cache