






























Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Um dispositivo lógico programável (Programmable logic device - PLD) é um componente electrónico utilizado para construir circuitos digitais
Tipologia: Trabalhos
1 / 38
Esta página não é visível na pré-visualização
Não perca as partes importantes!































2
Introdução Neste presente trabalho pretendo falar de Dispositivos de Logica Programáveis, que em inglês significa Programmable Logics Devices (PLD).
Ao decorrer do trabalho, veremos que a lógica de programação necessita de hardware e software. Dispositivos de lógica programável podem ser programados para realizar funções lógicas especificadas pelo fabricante ou pelo usuário.
Veremos também algumas vantagens da lógica programável sobre a lógica de funções fixas é que os dispositivos programáveis ocupam bem menos espaço na placa para uma mesma quantidade de lógica. Uma outra vantagem que, com a lógica programável, pode-se alterar os projetos com facilidade sem alterações físicas no hardware ou substituição de componentes. Além disso, veremos que um projeto lógico geralmente pode ser implementado mais rápido e com um menor custo com a lógica programável do que com cis de função fixa.
Além do PLD, um dispositivo de uma outra importante categoria da lógica programável é o FPGA, o qual terei a disposição de poder dar uma breve síntese para riqueza de informação do trabalho.
4
Metodologia A fundamentação deste trabalho foi feita através de manuais específicos de sistemas digitais com o auxílios dos sites fabricantes de alguns dispositivos de logica programável.
5
Breve contextualização da Logica Programavel Temos disponíveis vários tipos de lógica programável, desde dispositivos de pequena capacidade, os quais podem substituir alguns dispositivos de funções lógicas fixas, até dispositivos complexos de alta densidade, que podem substituir centenas de dispositivos de funções fixas. As duas categorias principais de lógica programável pelo usuário são: PLD ( programmable logic device ) e; FPGA ( field programmable gate array ).
As PLDs se subdividem: SPLDs (PLDs simples) e; CPLDs (PLDs complexas).
Na figura1 a seguir podemos visualizar o percurso da filiação da logica programável:
Fig1. Logica programável
Dispositivos de Logica Programáveis (PLDs) São dispositivos cujas funções são programadas pelo usuário. Pode ainda ser definido como circuito integrado que pode conter grande quantidade de circuitos lógicos, com uma estrutura que não é fixa.
7
Tecnologia de Processos para Conexões Programáveis
Tecnologia de Fusível Essa foi a tecnologia de conexões programáveis original. Ela ainda é usada em algumas SPLDs. O fusível é uma conexão metálica que conecta uma linha com uma coluna numa matriz de interconexões. Antes da programação, existe uma conexão à fusível em cada interconexão. Para programar um dispositivo, os fusíveis selecionados são abertos passando-se uma corrente através deles que seja suficiente para “queimar” os fusíveis e abrir a conexão. Os fusíveis mantidos intactos provêem as conexões entre linhas e colunas. A conexão à fusível é ilustrada na Figura 3–51.
(a) (b) (c)
(a) Fusível intacto antes da programação (b) Corrente de programação (c) Fusível aberto apos a programação
Os dispositivos de lógica programável que usam a tecnologia de fusível são programados apenas uma vez ( OTP – one-time programmable ).
Tecnologia Anti fusível
Uma conexão programável anti fusível é o oposto de uma conexão à fusível.
Em vez de quebrar a conexão, uma conexão é feita durante a programação. Um anti fusível começa como um circuito aberto enquanto que um fusível começa como um curto-circuito. Antes da programação, não existem conexões entre as linhas e colunas na matriz de interconexões.
8
Um anti fusível consiste basicamente de dois condutores separados por um isolante. Para programar um dispositivo com a tecnologia anti fusível, um equipamento de programação aplica uma tensão suficiente no anti fusível selecionado para romper com a isolação entre os dois materiais condutores, fazendo com que o isolante se torne uma conexão de baixa resistência. A conexão anti fusível é ilustrada na Figura 3–52.
(a) (b) (c)
(a) O anti fusível esta aberto antes da programação; (b) A tensão de programação rompe a camada isolante e estabelece contacto; (c) O anti fusível entra efetivamente em curto-circuito apos a programação.
Um dispositivo anti fusível também é um dispositivo OTP (programável apenas uma vez).
Tecnologia EPROM Em certos dispositivos lógicos programáveis, as conexões programáveis são semelhantes às células de memória nas EPROMs ( ele c trically programmable read-only memories ).
Esse tipo de PLD é programado usando uma ferramenta especial conhecida como programador de dispositivo. O dispositivo é inserido no programador, o qual é conectado a um computador que executa um software de programação.
A maioria dos PLDs baseados em EPROM é do tipo OTP. Entretanto, os que apresentam um encapsulamento com “janela” podem ser apagados com luz ultravioleta (UV) e reprogramados usando um equipamento padrão de programação de PLD. A tecnologia do processo EPROM
10
Tecnologia SRAM
Muitos FPGAs e alguns CPLDs usam uma tecnologia de processo similar a que é usada em memórias de acesso aleatório estáticas ( SRAMs – statics random-access memories ).
O conceito básico de arranjos lógicos programáveis baseado em SRAM é ilustrado na figura abaixo. Uma célula de memória do tipo SRAM é usada para ligar ou desligar um transistor conectando ou desconectando linhas e colunas. Por exemplo, quando a célula de memória contém um 1 (branca), o transistor está ligado e quando contém um 0 (cinza) o transistor está desligado de forma que não existe conexão entre a linha e a coluna correspondente, como mostra a parte (c).
A tecnologia SRAM é diferente das outras tecnologias de processos discutidas porque ela é uma tecnologia volátil. Isso significa que uma célula SRAM não retém o dado quando a alimentação é desligada. Os dados da programação têm que ser carregados na memória; e quando a alimentação é ligada, os dados da memória reprogramam o PLD baseado em SRAM.
Figura 7. Arranjos lógicos programáveis baseado em SRAM
Dispositivo de Lógica Programável Simples (SPLD) O SPLD foi o PLD que surgiu inicialmente e ainda encontra-se disponível para aplicações de pequena escala. Geralmente, um SPLD pode substituir até dez cis de função fixa e suas interconexões, dependendo dos tipos de funções e do SPLD específico.
11
A maioria dos SPLDS estão em uma das duas categorias: PAL e GAL.
Definição de um PAL Um tipo de SPLD programável apenas uma vez que consiste de um arranjo programável de portas AND que se conecta a um arranjo fixo de portas OR.
Um dispositivo PAL (programmable array of logic) pode ser programado uma vez. Ele consiste de um arranjo programável de portas AND e um arranjo fixo de portas OR, como mostra a Figura a seguir:
Fig. Diagrama de um PAL
Um dispositivo GAL (generic array logic) é basicamente umdispositivo PAL que pode ser reprogramado várias vezes. Ele consiste de um arranjo programável de portas AND e um arranjo fixo de portas OR com saídas programáveis, como mostra a figura:
Dispositivos PAL Um dispositivo PAL ( programmable array logic ) consiste em um arranjo programável de portas AND que se conecta a um arranjo fixo de portas OR. Geralmente, os dispositivos PALs são implementados com a tecnologia de conexão a fusível e, portanto, são programáveis uma vez (OTP).
13
Figura. Implementação de uma expressão na forma de soma-de-produtos usando um dispositivo PAL.
Definição de GAL Um tipo reprogramável de SPLD que é similar a um dispositivo PAL exceto que o primeiro usa uma tecnologia de processo reprogramável, tal como a EEPROM (E2PROM), em vez de fusíveis.
Um dispositivo GAL ( generic array logic ) é basicamente um dispositivo PAL que pode ser reprogramado várias vezes. Ele consiste de um arranjo programável de portas AND e um arranjo fixo de portas OR com saídas programáveis, como mostra a figura:
Figura8. Diagrama de um GAL
O dispositivo GAL é essencialmente um dispositivo PAL que pode ser reprogramado. Ele tem o mesmo tipo de organização AND/OR que o dispositivo PAL. A diferença básica é que um
14
dispositivo GAL usa uma tecnologia de processo reprogramável, como uma EEPROM (E2CMOS), em vez de fusíveis, como mostra a Figura abaixo:
Figura 9. Arranjo simplificado de um dispositivo GAL.
Notação Simplificada para Diagramas PAL/GAL Os atuais dispositivos PAL e GAL têm muitas portas AND e OR além de outros elementos e são capazes de manipular muitas variáveis e seus complementos. A maioria dos diagramas de PAL e GAL que podemos ver nas folhas de dados usa uma notação simplificada, como a ilustrada na Figura 11–4, para fazer com que o diagrama esquemático fique menos complicado.
16
Macrocélula
Uma macrocélula consiste geralmente em uma porta OR e alguma lógica de saída associada. As macrocélulas variam em complexidade dependendo do tipo particular de PAL ou GAL. Uma macrocélula pode ser configurada para lógica combinacional, lógica registrada ou uma combinação de ambos. A lógica registrada significa que existe um flip-flop na macrocélula para prover uma função lógica seqüencial.
A Figura 11 ilustra três tipos básicos de macrocélulas com lógica combinacional.
A parte (a) da figura mostra uma macrocélula simples com porta OR e um inversor com um controle tristate que pode fazer com que o inversor se assemelhe a um circuito aberto para desconectar completamente a saída. A saída do inversor tristate pode ser nível ALTO, nível BAIXO ou desconectado (alta impedância).
Figura11. Saída combinacional (ativa em nível BAIXO). Uma saída ativa em nível ALTO seria mostrada sem o pequeno círculo no símbolo da porta tristate.
A parte (b) da figura é uma macrocélula que pode ser entrada ou saída. Quando a saída é usada como uma entrada, o inversor tristate é desconectado e a entrada vai para o buffer que está conectado no arranjo AND.
17
Figura12. Entrada/Saída combinacional (ativa em nível BAIXO)
A parte (c) da figura é uma macrocélula que pode ser programada para ter uma saída de estado ativo ALTO ou estado ativo BAIXO, ou ela pode ser usada como uma entrada. Uma entrada para uma porta EX-OR pode ser programada para ser nível ALTO ou BAIXO. Quando a entrada da EX-OR programável for nível ALTO, a saída da porta OR é invertida porque 0 ⊕ 1 = 1 e 1 ⊕ 1 = 0. De forma similar, quando a entrada da porta EX-OR programável for nível BAIXO, a saída da porta OR não é invertida porque 0 ⊕ 0 = 0 e 0 ⊕ 0 = 1
Figura 13. Saída com polaridade programável
SPLDS Específicos Geralmente, as configurações de encapsulamento SPLD variam de 20 a 28 pinos. Dois fatores que podemos usar para ajudar a determinar se um determinado dispositivo PAL ou GAL é adequado para um determinado projeto lógico são: O número de portas equivalentes; Densidade.
Outros parâmetros a considerar são: Frequência máxima de operação; Os tempos de atraso e; A tensão de alimentação.
Lattice, Actel, Atmel e Cypress são algumas das diversas empresas que produzem splds. Diversos fabricantes de splds podem ter diferentes formas de definir densidade, assim temos que usar o número especificado de portas equivalentes com isso em mente.
19
A Figura abaixo mostra um diagrama em bloco para um dispositivo GAL22V10 e um encapsulamento SPLD típico.
Figura 15. Diagrama em bloco para um dispositivo GAL22V10 e um encapsulamento SPLD típico.
Esse dispositivo tem doze entradas dedicadas e dez pinos que podem ser entradas ou saídas. As macrocélulas têm entradas a partir do arranjo AND que varia de oito a dezesseis, conforme indicado pela notação simplificada. O dispositivo GAL22V10 tem uma densidade de aproximadamente 500 portas equivalentes.
20
Dispositivo de Lógica Programável Complexo (CPLD) Conforme o progresso tecnológico e o aumento da quantidade de circuito que pode ser implementado em um chip (densidade de chip), os fabricantes conseguiram implementar mais de um SPLD num único chip, surgindo assim o CPLD. Essencialmente, o CPLD é um dispositivo que contém múltiplos SPLDs e pode substituir diversos CIs de funções fixas. A Figura abaixo mostra o diagrama em bloco básico de um CPLD com quatro blocos de arranjo lógico (LABs – logic array blocks ) e um arranjo de interconexões programáveis (PIA – programmable interconnction array ). Dependendo do CPLD específico, podem existir de 2 a 64 LABs. Cada bloco de arranjo lógico é aproximadamente equivalente a um SPLD. Geralmente, CPLDs podem ser usadas para implementar quaisquer tipos de funções lógicas como decodificadores, codificadores, multiplexadores, demultiplexadores e somadores. Eles estão disponíveis em uma variedade de configurações, tendo tipicamente um encapsulamento com uma extensão de 44 a 160 pinos. A Figura abaixo mostra exemplos de encapsulamentos para CPLDs.
Figura 16. Diagrama em bloco geral de um CPLD
Geralmente, CPLDs podem ser usadas para implementar quaisquer tipos de funções lógicas, como decodificadores, codificadores, multiplexadores, demultiplexadores e somadores. Eles estão disponíveis em uma variedade de configurações, tendo tipicamente um encapsulamento com uma extensão de 44 a 160 pinos. A Figura abaixo mostra exemplos de encapsulamentos para CPLDs.