Você está na página 1de 39

Aula 11

Dispositivos Lógicos Programáveis

SEL 0414 - Sistemas Digitais


Prof. Dr. Marcelo Andrade da Costa Vieira
PLDs

1. Características Gerais

l  PLD – Programmable Logical Device;


l  Agrupa um grande número de portas
lógicas, flip-flops e registradores conectados
em um único dispositivo;
l  A função específica do circuito é
determinada definindo-se as conexões
internas que devem ser abertas ou fechadas.
PLDs

2. Implementação de Circuitos Digitais

CIs convencionais
➨  necessitam de um processo de fabricação
especial que requer máscaras específicas para
cada projeto
➨  tempo de desenvolvimento é longo e os custos
são altos
➨  utilizados em aplicação de grande volume de
produção.
PLDs

2. Implementação de Circuitos Digitais

CIs PLD
➨ Eliminação do processo de fabricação especial
➨ Processo de fabricação mais rápido e barato
➨ Programado pelo usuário
➨ Baixo custo e tempo curto de projeto
➨ Menor espaço ocupado nas placas
➨ A lteração na interconexão do dispositivo
(programação) via linguagem de descrição de
hardware (HDL)
PLDs
PLD
Arquitetura Básica:
➨ Colocação de muitas portas lógicas num único CI
➨ Controlar eletronicamente a conexão entre elas.
PLDs
Simbologia Básica
PLDs
Simbologia Simplificada
PLDs

4. Arquiteturas de PLDs

FPLAs ( Field Programmable Logic of Arrays):

•  1º. Dispositivo desenvolvido para a implementação


de circuitos lógicos (década de 70)
•  Dois níveis de portas lógicas programáveis, um de
portas E e outro de OU
•  Apresentam alto custo e desempenho ruim em
termos de velocidade.
•  Pouco utilizado
PLDs
Representação Típica
A B FPLA
Arranjo OU
programável

A A B B

O1 O2 O3 O4
PLDs

4. Arquiteturas de PLDs
PROM ( Programmable Read Only Memory):

•  Memórias PROM podem ser utilizadas como PLDs,


já que sua arquitetura é semelhante
•  Conexão permanente de portas AND e conexões
programáveis nas portas OR
•  Dificuldades no projeto de equações booleanas
simples
•  Só pode ser programado uma vez
PROM
PLDs

4. Arquiteturas de PLDs
PAL (Programmable Array Logic):
•  Desenvolvidos para superar as deficiências das
FPLAs e das PROMs
•  Um único nível de programação – portas E
programáveis alimentando portas OU permanentes
•  São produzidas com diferentes quantidades de
entradas e saídas
•  Só pode ser programado uma vez
OBS.: geralmente apresentam flip-flops conectados às saídas das portas OU para
que circuitos sequenciais possam ser implementados.
PLDs

Representação Típica
A B PAL
Matriz
permanente

A A B B

O1 O2 O3 O4
PAL
PLDs

4. Arquiteturas de PLDs
GAL (Generic Array Logic):

•  Arranjo lógico genérico


•  Arquitetura semelhante a PAL com compatibilidade
de pinos
•  Ao invés de fusíveis, possui memória EEPROM
•  Podem ser programadas e apagadas diversas
vezes (+ de 100)
Macrocélula
de saída
(programável)
PLDs
GAL16V8
Exemplo:
➨  Implementação de uma lógica combinacional simples

Y = AC + BC + ABC
PLDs

6. Outros grupos de PLDs


SPLDs (Simple Programmable Logic Devices):
•  Categoria de todos os pequenos PLDs como PLAs, PALs
•  Características mais importantes: baixo custo e alto desempenho.

CPLDs ( Complex Programmable Logic Devices):


•  Constituídos de múltiplos SPLDs integrados em um único chip
•  Apresentam interconexões programáveis para conectar os blocos SPLDs
•  Capacidade lógica de até 50 SPLDs típicos.

FPGA (Field-Programmable Gate Array):


•  Constituídos de um arranjo de elementos de circuitos não conectados –
os blocos lógicos – e recursos de interconexão
•  Configuração: programada pelo usuário.
FPGA
PLDs
PLD
Modo de programação do chip PLD:
Dispositivo Programador ➨ conectado ao PC (software com
as bibliotecas dos PLDs disponíveis) ➨ software gera o
MAPA DE FUSÍVEIS

Software permite
configurar o
Programador com os
dados do PLD e checar
as conexões
PLDs
PLD
Programação

Formato padrão p/
transferência de
dados de
programação p/
PLDs
PLDs
PLD
Programação:

➨  Linguagens de Descrição de Hardware - HDL


(Hardware Description Language)
➨  VHDL – Para dispositivos VHSIC (Very High Speed
Integrated Circuit)
➨  Vários compiladores (HDL → Net List):
➨  ABEL (Data I/O Corporation)
➨  CUPL (Logical Devices Inc.)
PLDs

CUPL (Universal Compiler for Programammable Logic)

Formato
Função Operador Formato CUPL convencional

E & A&B A.B


OU # A#B A+B
NÃO ! !A A
OU-EXCL $ A$B A+B

S=ABC + ABC + ABC

S = !A&B&C#A&!B&C#A&B&!C
PLDs

CUPL (Universal Compiler for Programammable Logic)

•  Cabeçalho
•  Especificação da entrada (Por ex.: pino 1: A; pino 2: B...)
•  Especificação da saída (Por ex.: pino 19: S)
•  Especificação da descrição do Hardware
(Por ex.: implementação da equação booleana):

S = !A&B&C#A&!B&C#A&B&!C
PLDs
GAL
Exemplo:
➨  GAL16V8 – Lattice Semiconductor Corporation
➨  Possui 8 entradas e 8 saídas básicas configuráveis
PLDs
CUPL
7. Modo de entrada por conjuntos (field)

X=A·B
field A = [A3..0]
A = [A3 A2 A1 A0]
field B = [B3..0]
B = [B3 B2 B1 B0]
field X = [X3..0]
X = [X3 X2 X1 X0] X = A&B
PLDs
CUPL
8. Modo de entrada por tabela verdade
PLDs
Decodificador 3 x 8
9. Exemplos e Aplicações com PLDs
PLDs
Decodificador 3 x 8
9. Exemplos e Aplicações com PLDs
PLDs

!
PLDs

Decodificador 3 x 8

Programado em Assembly (Intel 8051)


Decodificador 3X8
Porta P0 como entrada (0-2) - Porta P1 como saída (0-7)

LOOP: ZERO:
MOV A,P0 MOV P1, #00000001B
ANL A, #00000111B SJMP LOOP
XRL A, #00000000B UM:
JZ ZERO MOV P1, #00000010B
XRL A, #00000001B SJMP LOOP
JZ UM DOIS:
XRL A, #00000010B MOV P1, #00000100B
JZ DOIS SJMP LOOP
XRL A, #00000011B TRES:
JZ TRES MOV P1, #00001000B
XRL A, #00000100B SJMP LOOP
JZ QUATRO QUATRO:
XRL A, #00000101B MOV P1, #00010000B
JZ CINCO SJMP LOOP
XRL A, #00000110B CINCO:
JZ SEIS MOV P1, #00100000B
XRL A, #00000111B SJMP LOOP
JZ SETE SEIS:
SJMP LOOP MOV P1, #01000000B
SJMP LOOP
SETE:
MOV P1, #10000000B
SJMP LOOP
PLDs
Somador Completo (1bit)
9. Exemplos e Aplicações com PLDs

Cin

Cout

S = A ⊕ B ⊕ Cin Cout = AB + ACin + BCin


PLDs
Somador Completo (4 bits)

A3 B3 Cin 3 A2 B2 Cin 2 A1 B1 Cin 1 A0 B0

F.A. F.A. F.A. H.A.

Cout 2 Cout 1 Cout 0


Cout 3 S3 S2 S1 S0
PLDs
CUPL
6. Exemplos e Aplicações
Somador completo com um PLD
PLDs
CUPL
FIM

Você também pode gostar