49
Eletrônica Digital II ELT013 Engenharia de Computação

Aula 2 Arquitetura de Dispositivos Lógicos Programáveis ELT013ECO2013

Embed Size (px)

DESCRIPTION

digital 2

Citation preview

Eletrônica Digital IIELT013

Engenharia de Computação

ELT013 - Eletrônica Digital II 2

ARQUITETURA DE DISPOSITIVOS LÓGICOS PROGRAMÁVEIS

Aula 2

ELT013 - Eletrônica Digital II 3

O que são dispositivos lógicos programáveis? (1)

Dispositivos Lógicos Programáveis, ou PLDs, são dispositivos configuráveis a fim de implementar um grande número de funções lógicas Configuráveis pelo usuário Funções combinacionais e/ou sequenciais.

PLD é um chip que contém um grande número de portas lógicas, flip-flops e registradores, que estão interconectados, uns com os outros, por meio de fusíveis (ou chaves) especiais que podem ser programados e com isso, implementar uma função lógica.

ELT013 - Eletrônica Digital II 4

O que são dispositivos lógicos programáveis? (1)

PLD é um chip que contém um grande número de componentes lógicos Portas lógicas, flip-flops e registradores interconectados A conexão é feita por meio de fusíveis (ou chaves) especiais para

esta função A conexão podem ser programadas e com isso implementar uma

função lógica.

ELT013 - Eletrônica Digital II 5

Qual a diferença entre um microprocessador/controlador/DSPs e os outros sistemas

digitais?MICROPROSSADORES/

MICROCONTROLADORES/DSPs

Seguem instruções especificadas pelo projetista

Organização interna complexa “Lentos” Inflexível Desenvolvimento do hardware é

caro (CI MSI) e demorado

OUTROS SISTEMAS DIGITAIS Não são limitados por funções

especificadas Fornece respostas mais

“rápidas” Flexível Possibilita a prototipagem “Desenvolvimento” do

hardware é mais barato e rápido

ELT013 - Eletrônica Digital II 6

Árvores da Famílias de Sistemas Digitais A decisão de projeto sobre qual família utilizar depende de

muitos fatores Velocidade de operação, custo, consumo de energia, potência,

tamanho, tempo disponível para projeto, etc.

ELT013 - Eletrônica Digital II 7

http://algol.dcc.ufla.br/~lacerda/projetos/index.html

ELT013 - Eletrônica Digital II 8

http://algol.dcc.ufla.br/~lacerda/projetos/index.html

ELT013 - Eletrônica Digital II 9

Lógica padrão (1) Refere-se a componentes digitais funcionais básicos

Portas lógicas, flip-flops, decodificadores, multiplexadores, registradores, contadores etc.), disponíveis como CIs SSI e MSI.

Projetos de complexidade média utilizariam centenas de componentes

ELT013 - Eletrônica Digital II 10

Lógica padrão (2) TTL

Tecnologia madura, não usada em novos projetos mas muito presente em sistemas digitais ainda utilizados

CMOS Mais popular nos dias de hoje pois tem baixo consumo de energia

ECL Projetos de alta velocidade

ELT013 - Eletrônica Digital II 11

Sistemas Microprocessados e Processamento Digital de Sinais (DSP)

Dispositivos que podem ser controlados eletronicamente e os dados manipulados pela execução de um programa de instruções. Flexíveis porém com baixa velocidade Hardware é sempre mais rápido do que software

ELT013 - Eletrônica Digital II 12

ASICsApplication Specific Integrated Circuit

Circuitos integrados de aplicação específica Solução moderna de projetos de hardware para sistemas

digitais

ELT013 - Eletrônica Digital II 13

Dispositivos lógicos programáveis (PLDs) Ou dispositivos de campo de lógicas programáveis (FPLDs)

Podem ser configurados para criar qualquer circuito digital desejado para sistemas simples ou complexos.

Componentes e software de desenvolvimento são de baixo custo se comparados com matrizes de portas, célula padrão e full custom

ELT013 - Eletrônica Digital II 14

Dispositivos lógicos programáveis (PLDs) A arquitetura de PLD selecionada depende de sua aplicação, pois são

muito diversificadas e dinâmicas: SPLD - dispositivos lógicos programáveis simples (600 portas). CPLD - dispositivos lógicos programáveis complexos. FPGA - matrizes de portas programáveis em campo.

CPLDs e FPGAs , também são chamadas dispositivos lógicos programáveis de alta capacidade (HCPLDs).

ELT013 - Eletrônica Digital II 15

Matrizes de portas (MPGAs) As funções lógicas são criadas por interconexões de centenas de milhares de portas

pré-fabricadas (circuitos ULSI). Uma máscara de design customizada é usada, muito parecida com os dados

armazenados em uma ROM programada por máscara. Individualmente são menos caras do que PLDs com mesmo número de portas. Processos de programação customizada são muito caros e requerem um longo

período de espera.

ELT013 - Eletrônica Digital II 16

Célula Padrão Usam blocos de construção da função de lógica predefinidos para

criar o sistema digital desejado Os custos do projeto para as células padrão ASICs são superiores aos MPGAs,

com maior tempo de espera. Funções baseadas em células são projetadas para serem muito menores que

as funções equivalentes em matrizes portas: Permitem a operação, geralmente com maior velocidade e custos de

fabricação mais baixos.

ELT013 - Eletrônica Digital II 17

Totalmente Personalizados (full-custom) São a melhor escolha ASIC

Todos os componentes e interconexões são personalizadas pelo projetista do CI.

Requerem uma quantidade significativa de tempo e dinheiro Resultar em CIs que podem operar na maior velocidade possível e

exigem a menor área de chip, o que reduz significativamente o custo de produção.

ELT013 - Eletrônica Digital II 18

Arquitetura de um FPGA Blocos podem sem

programados como sendo: Entrada ou saída; ou Bidirecionais (I/O)

Programados por codificação do projetista; ou

Blocos pré-definidos (IPs)

ELT013 - Eletrônica Digital II 19

IPsIntelectual Property

Projetos de blocos digitais complexos pré-definidos Disponibilizados pelos fabricantes do FPGA ou terceiros Avaliação é grátis Uso comercial necessita de licenciamento

Incluem processadores embutidos, blocos de construção DSP e circuitos de núcleo padrão para funções periféricas e de interface

Encurta o tempo de projeto

ELT013 - Eletrônica Digital II 20

FUNDAMENTOS DOS CIRCUITOS DE PLDS

ELT013 - Eletrônica Digital II 21

Estrutura Básica

ELT013 - Eletrônica Digital II 22

Fundamentos dos circuitos de PLDs (1) Cada função de saída é programada com os fusíveis posicionados

entre as portas AND e cada uma das portas OR. Linhas de entrada: cada entrada A e B está conectada a um buffer inversor e

outro não-inversor que são ligados a uma matriz de portas AND Linhas produto:saídas das portas AND

ELT013 - Eletrônica Digital II 23

Fundamentos dos circuitos de PLDs (2) Cada linha produto está ligada a uma das quatro entradas

de cada porta OR por fusíveis Com todos os fusíveis intactos, casa saída de porta OR apresenta

um nível constante 1.

1

)()(

1

1

1

AAO

BBABBAO

ABBABAABO

ELT013 - Eletrônica Digital II 24

Fundamentos dos circuitos de PLDs (3) Cada uma das saídas O1, O2, O3 e O4 pode ser programada

para ser função de A e B queimando seletivamente os fusíveis apropriadas Cada entrada aberta atua como um nível lógico 0

Pode-se programar cada saída OR para executar qualquer função desejada

Depois de programado o dispositivo realiza a lógica desejada.

Exemplo: queimando os fusíveis 1 e 4 da por OR número 1, a saída O1 se torna:

BABABABAABBABAABO 001

ELT013 - Eletrônica Digital II 25

Simbologia Simplificada Diminuir a complexidade do diagrama do circuito Neste arranjo, as saídas estão programadas como:

1

0

4

3

2

1

O

O

ABO

BABAO

ELT013 - Eletrônica Digital II 26

ARQUITETURA DE PLDS

ELT013 - Eletrônica Digital II 27

PROMs

ELT013 - Eletrônica Digital II 28

PROMs (1) PROMs têm como objetivo a implementação de uma expressão lógica

de soma-de-produtos em vez de armazenamento de dados em posições de memória.

ELT013 - Eletrônica Digital II 29

PROMs

ELT013 - Eletrônica Digital II 30

Procedimento de Análise 1º Passo: Tabela verdade para todas as combinações de valores das

variáveis de entrada

ELT013 - Eletrônica Digital II 31

Procedimento de Análise 2º Passo: Selecionar as saídas de interesse (fusíveis intactos)

ELT013 - Eletrônica Digital II 32

Procedimento de Análise 3º Passo: Realizar um OR das saídas da matriz AND intactas para

encontrar o valor da saída O

ELT013 - Eletrônica Digital II 33

Lógica de Arranjo Programável (PAL)

ELT013 - Eletrônica Digital II 34

Lógica de Arranjo Programável (PAL) Cada porta AND pode ser programada

para gerar qualquer produto desejado de quatro variáveis de entrada.

A família PAL também contém dispositivos com variações do circuito soma-de-produtos básico Conectam o circuito lógico de soma-de-

produtos às entradas de FFs D e usam um dos pinos como entrada de clock para disparar os flip-flops de saída sincronamente.

ELT013 - Eletrônica Digital II 35

ELT013 - Eletrônica Digital II 36

Arranjos de lógica genérico (GAL) Usam uma matriz EEPROM na matriz programável

que determina as conexões para as portas AND. Os interruptores EEPROM podem ser apagados e

reprogramados pelo menos 100 vezes. Podem ser usado como um genérico, com substituição

de pinos compatível para a maioria dos dispositivos PAL.

ELT013 - Eletrônica Digital II 37

FAMÍLIA MAX7000S DA ALTERA

ELT013 - Eletrônica Digital II 38

Diagrama em bloco da família MAX7000S

ELT013 - Eletrônica Digital II 39

Recursos dos dispositivos da Família MAX7000S

As principais estruturas da MAX7000S são os blocos de matrizes lógicas (LABs) e o arranjo de interconexão programável (PIA). Um LAB contém um conjunto de 16 macrocélulas e se assemelha

muito a um dispositivo SPLD único. Cada macrocélula consiste de um circuito programável AND/OR e

um registro programável (flip-flop).

ELT013 - Eletrônica Digital II 40

Diagrama em bloco da família MAX7000S

ELT013 - Eletrônica Digital II 41

Estruturas principais dos dispositivos da Família MAX7000S (1)

Blocos de Matriz Lógica (LABs) com 16 macrocélulas, número determinado a partir do nº de peças (EPM7128S têm 128, em oito LABs).

Sinais lógicos roteados entre LABs pelo PIA. PIA é um barramento global que conecta qualquer fonte de sinal a

qualquer destino dentro do dispositivo. Pinos I/O são conectados a macrocélulas específicas (o

número de pinos I/O disponíveis depende do pacote).

ELT013 - Eletrônica Digital II 42

Diagrama em bloco da família MAX7000S

ELT013 - Eletrônica Digital II 43

Estruturas principais dos dispositivos da Família MAX7000S (2)

A programação no – sistema pode ser feita através de pinos JTAG e uma porta paralela do PC.

Macrocélulas não conectados a pinos de I/ O podem ser usadas pelo compilador para a lógica interna.

Os quatro pinos só de entrada podem ser configurados como sinais de alta velocidade de controle ou como entradas gerais do usuário. GCLK1 - entrada de clock global primária para todas as macrocélulas. GCLK2 - relógio global secundário. OE1- habilitação de saída tristate primária. GCLRn - clear assíncrono para qualquer registrador de macrocélula.

ELT013 - Eletrônica Digital II 44

Diagrama em bloco da família MAX7000S

ELT013 - Eletrônica Digital II 45

ELT013 - Eletrônica Digital II 46

Estruturas principais dos dispositivos da Família MAX7000S (3)

Os blocos de controle I/O configuram todos os pinos I/O de entrada, saída ou operação bidirecional.

Todos os pinos I/O têm um buffer de saída que permanentemente ativado ou desativado, controlado por um dos dois pinos de habilitação de saída global ou por outras entradas ou funções geradas por macrocélulas.

Durante a programação no sistema os pinos de I/O serão transformados em tristate e receberão um pull-up interno, para eliminar conflitos de placa

ELT013 - Eletrônica Digital II 47

Diagrama em bloco da família MAX7000S

ELT013 - Eletrônica Digital II 48

Estruturas principais dos dispositivos da Família MAX7000S (4)

FFs de macrocélulas podem implementar operações D, T, JK, ou SR.

Todos os registradores programáveis têm seu clock ativado de três modos diferentes: Com sinal de clock global. Com sinal de clock global quando FF está habilitado. Com sinal de clock de matriz produzido por uma macrocélula ou

um pino de entrada (não-global). Cada registrador pode ser apagado com o pino GCLRn. Todos os registradores do dispositivo serão resetados

automaticamente ao serem energizados.

ELT013 - Eletrônica Digital II 49