Dispositivos Logicamente Programáveis(PLDs-Programmable Logic Devices)

Existe uma grande variedade de CIs com diversas funções lógicas e arranjos de circuitos lógicos em chips de diversos fabricantes. Porém existem desvantagens em empregar estes CIs em determinados circuitos e sistemas.

          • Necessidade de empregar centenas ou milhares de CIs no circuito ou sistema
          • Demanda por maior espaço nas placas de circuitos impressos
          • Maior tempo para montar, interligar e testar os CIs
          • Estoque de CIs diferentes e de fabricantes diversos

Reduzir o número de CIs em projetos de circuitos e sistemas apresenta as seguintes vantagens:

          • Menos espaços necessários,  menores placas e menores equipamentos
          • Menor consumo de potência
          • Maior confiabilidade
          • Manutenção mais fácil

Para reduzir o número de CIs a ser usado em certo projeto, é preciso colocar mais funções lógicas dentro do chip.Isto é feito com aplicações das tecnologias LSI e VLSI para funções padrões da microeletrônica. Porém há situações de projeto que não existem CIs LSI e VLSI que atendam os requisitos de projeto. A solução que a indústria apresentou foi um dispositivo que substitui vários CIs MSI e SSI padrões, em um único CI: os PLDs.

 

Árvore das Famílias de Sistemas Digitais

A funcionalidade de um circuito digital pode ser obtida empregando vários tipos diferentes de hardware(CIs). Pode-se empregar dispositivos lógicos padrões ou dispositivos lógicos programáveis para produzir a mesma função. Vários fatores devem ser considerados no processo de escolha, incluindo a velocidade de operação necessária do circuito, custo de fabricação, consumo de potência do sistema, tamanho do sistema, e ciclo de desenvolvimento do projeto, entre outros. Um projeto de sistema digital complexo pode incluir difrentes tipos de hardware.

A árvore das famílias de sistemas digitais mostra as opções disponíveis nas várias categorias de dispositivos digitais.

As principais categorias de sistema digital incluem lógica padrão, circuitos integrados de aplicações específicas (ASICs) e microprocessador / dispositivos de processamento digital de sinais(DSP).

A primeira categoria de dispositivos lógica padrão refere-se aos componentes digitais funcionais básicos (portas, flip-flops, decodificadores, multiplexadores, registradores, contadores, etc.) que estão disponíveis como chips SSI e MSI. Esses dispositivos têm sido usados ??por muitos anos para projetar sistemas digitais complexos.

A categoria de microprocessador / dispositivos de processamento digital de sinais(DSP) é uma abordagem muito diferente para o projeto de sistema digital. Na verdade, esses dispositivos contêm os vários tipos de blocos funcionais estudados. Com sistemas de microcomputador / DSP, os dispositivos podem ser controlados eletronicamente e os dados podem ser manipulados executando um programa de instruções do aplicativo.

A terceira categoria principal de sistemas digitais é chamada de circuitos integrados de aplicações específicas ASICs). Esta ampla categoria representa a solução de projeto de hardware moderno para sistemas digitais. Como o acrônimo indica, um circuito integrado é projetado para implementar uma aplicação específica projetada. Quatro subcategorias de dispositivos ASICs estão disponíveis para criar sistemas digitais:
- dispositivos lógicos programáveis
(PLDs)
- matrizes de portas(gate arrays)

- célula padrão(standard-cell)

- totalmente personalizado(customizados )(full-custom)\

 

 


Fig.1

 

Dispositivos lógicos programáveis (PLDs), chamados de dispositivos lógicos programáveis em campo (field- programmable logic devices - FPLDs), podem ser configurados de forma personalizada para criar qualquer circuito digital especificado, desde portas lógicas simples até sistemas digitais complexos.

Matrizes de portas(gate arrays ou mask-programmed gate arrays - MPGAs) são circuitos ULSI que oferecem centenas de milhares de portas. As funções lógicas desejadas são criadas pelas interconexões dessas portas pré-fabricadas pelo fabricante. Uma máscara personalizada para a aplicação específica determina as interconexões da porta, de maneira muito semelhante aos dados armazenados em uma ROM programada por máscara.

Os ASiCs de célula padrão(standard-cell) usam blocos de construção de função lógica predefinidos chamados células para criar o sistema digital desejado. O layout do CI de cada célula é projetado anteriormente e uma biblioteca de células disponíveis é armazenada em um banco de dados de computador. As células necessárias são dispostas para a aplicação desejada e as interconexões entre as células são determinadas.

ASiCs totalmente customizados(full-custom) são considerados a escolha definitiva de ASICs. Como o nome indica, todos os componentes (transistores, resistores e capacitores) e as interconexões entre eles são projetados pelo projetista do CI. Isso pode resultar em CIs que podem operar na velocidade mais alta possível e exigir a menor área do CI(chip individual).

Geralmente, os PLDs podem ser descritos como sendo um de três tipos diferentes:

- dispositivos lógicos programáveis simples (SPLDs),

- dispositivos lógicos programáveis complexos (CPLDs) ou

- matrizes de portas programáveis em campo (FPGAs).

Um  PLD, Programmable Logic Devices(Dispositivos Logicamente Programáveis), é um circuito integrado com um grande número de portas lógicas, flip-flops, e registradores que estão interconectados no chip.

Várias conexões de um PLD são elos fusíveis, semelhantes aos encontrados em PROMs e EPROMs, que podem ser queimados.A Fig. 1a  mostra a estrutura básica usada pelos CIs logicamente programáveis: um arranjo de portas AND e um arranjo de portas OR, cujas entradas podem ser interconectadas para produzir funções nas saídas das variávies de entrada.

 

fig1a
Fig.1a

 

fig1b
Para melhorar a representação dos dispositivos PLDs, adota-se uma simbologia simplificada onde as várias entradas de uma porta são representadas por uma única linha e as conexões das variáveis de entrada às portas são indicadas por um ponto ou um X: um X indica um fusível intacto; um ponto representa um conexão fixa(não pode ser programada).

A falta de quaisquer desses sinais no cruzamento de duas linhas indica que não há conexão.

A figura ao lado mostra um exemplo dessa simbologia.

Fig.1b
 

 

fig1

Os PLDs são chamados programáveis porque a função específica do circuito integrado para uma aplicação é estabelecida pela queima seletiva de alguns fusíveis e deixando outros intactos.Este processo chama-se programação porque produz o padrão desejado de interconexões entre portas, FFs, registradores, contadores, etc., conforme as instruções do usuário.

O processo de queimar os fusíveis pode ser feito pelo fabricante ou pelo usuário, empregando  um programador de EPROMs.

Fig.1c

 

Um PLD é  constituído de um arranjo de portas AND de entrada(decodificador) e um arranjo de portas OR de saída (codificador).

Os arranjos AND de entrada podem ser conectados às variáveis de entrada para formar os termos produtos necessários.

As funções de saída do circuito são obtidas interligando os termos produtos de saída do arranjo AND às entradas das portas do arranjo OR.

fig2a
Fig.2

 

 


Arquiteturas dos PLDs

Várias arquiteturas são usadas para CIs PLDs. A arquitetura mais comum e utilizada é a PROM. A Fig. 3a mostra uma PROM que funciona como um tipo de PLD.

Memórias Só de Leitura Programáveis(PROMs-Programmable Read Only Memories)

Nos dispositivos de memória só de leitura programáveis(PROMs),  o arranjo AND é  pré-definido em fábrica e somente o arranjo OR é programável.\


 

fig5
Fig.3a

 

 

PROMs são utilizadas quando as equações precisam um grande número de termos produtos. As PROMs são geralmente consideradas dispositivos de memória onde cada endereço aplicado na entrada retorna  uma palavra programada no dispositivo.

A Fig. 3b mostra uma PROM de quatro entradas que são decodificadas pelo arranjo AND, onde cada porta gera um dos dezesseis minternos das variáveis de entrada.As conexões da variáveis de entrada ao arranjo AND são fixas, ou seja, não-programáveis, enquanto que as conexões das linhas de saída dos mintermos às portas OR são todas completamente programáveis.

 

fig3
Fig.3b

 

 

fig3a

Para programar a PROM a fim de gerar a função O3 indicada, o primeiro passo é escrever a função como um soma padrão de produtos, conforme mostra a tabela verdade.

Observe que a programação consiste em manter intactos os fusíveis dos mintermos cujas linhas tem 1 na tabela verdade e queimar os fusíveis nas linhas que iguais são 0.

Fig.3c

 

 


Arranjos Lógicos Programáveis(PLAs-Programmable Logic Arrays)

 

fig3
Os CIs PLAs  têm os arranjos AND e OR programáveis.A possibilidade de programar os arranjos AND  e OR conferem grande flexibilidade às PLAs. Os fabricantes oferecem modelos de PLAs  que podem ser programados pelo usuário, chamados FPLA-Field Programmable Logic Array, ou seja Arranjo Lógico Programável em Campo.
O número de termos produtos disponível para cada saída  da PLA é programável pelo usuário. Portanto, os mintermos podem ser compartilhados pelas saídas do PLA.Os dispositivos PLAs em geral são mais lentos que os PALs e PROMs.
PLAs são especificados pelo número máximo de entradas(i), o número máximo de termos produtos(p) e o número máximo de sinais de saída(o).
Fig.4

 

Contudo a complexidade dos PLAs tem reduzido o interesse em aplicar este tipo de dispositivo em aplicações de circuitos digitais.


Lógica de Arranjo Programável  (PAL-Programmable Array Logic)

Os arranjos PALs têm somente os arranjos AND programáveis enquanto os arranjos OR são pré-conectados em fábrica, então todas as portas AND podem ser programadas para gerar o termo produto das variáveis de entrada e seus complementos(Figura 5a).

Como as entradas das portas OR são fixas, então limita as funções da saída ao número de mintermos ligados nas entradas das portas OR. Caso seja necessários mais mintermos para gerar uma função, não será possível programar. Embora sejam menos flexíveis que PLAs, as PALs são mais rápidas porque as conexões pré-configuradas levam menos tempo para chavear que as conexões programadas.
fig4
Fig.5a

 


A Fig. 5b mostra uma configuração típica para uma PAL com quatro entradas e quatro saídas. Sendo que cada porta OR tem suas entradas ligadas a quatro linhas de termos produtos, então só pode gerar funções de no máximo quatro mintermos.

fig5a
Fig.5b

 

Como exemplo de um CI PAL veja o circuito integrado  PAL16L8AM,  da Texas Instruments, Inc., que tem 10 entradas lógicas e 8 funções de saída. Cada porta OR tem  7 entradas fixas que são saídas de 7 portas AND. Assim, pode gerar funções com até 7 termos produtos.

 


Fig.5c - PAL16L8AM - Texas Instruments\

 


Arranjos de Portas Programáveis em Campo(Field Programmable Gate Array - FPGAs)
As FPGAs oferecem um número de blocos lógicos configuráveis que têm lógica combinacional programável  e registradores para circuitos seqüênciais. Existe um conjunto de blocos de entrada/saída que pode ser configurado como entrada, saída e bidirecional. As saídas são tri-state e os registradores podem armazenar dados de entrada ou de saída.todos os blocos lógicos podem ser conectados para implementar qualquer função lógica desejada.Cada bloco lógico está conectado a um número determinado de matrizes de conexões programáveis, que, por sua vez, estão ligadas a um número de matrizes de chaveamento programáveis.Programando as conexões apropriadas, cada bloco pode fornecer uma variedade de funções lógicas combinacionais e/ou seqüênciais.As matrizes de conexões programáveis são usadas para estabelecer ligações entre entradas e saídas dos blocos lógicos, enquanto as matrizes de chaveamento programáveis são empregadas para rotear os sinais entre as várias matrizes de conexões.

 

fig1
Fig.5d


Devido à variedade de arquiteturas, dispositivos FPGAs precisam de ferramentas de programação específicas do fabricante para a programação.


Características dos PLDs
Vários dispositivos PLDs  têm saídas com buffers tri-state comandados por uma única linha de habilitação, requerendo apenas um pino de entrada do dispositivo.

fig6
Fig.6a

 

Uma caracterísitica que vários PLDs apresentam é saída com polaridade programável que possibilita a inversão dos níveis lógicos de saída do dispositivo.

 

fig6a
Fig.6b

 


Alguns dispositivos PLDs são construídos de modo que as saídas tri-state são realimentadas para as entradas do arranjo AND.

 

fig7
Fig.7

 

No exemplo acima, o PLA tem três entradas a, b e c e três saídas w, x e y, porém foi programado como quatro entradas e somente duas saídas. Observe  que o buffer da saída y foi desconectado do sinal de controle de habilitação e ligado ao nível lógico alto,  permanecendo sempre habilitado. A saída y está agora configurada como a quarta entrada da PLA.
Como as saídas w e x continuam a funcionar como funções de saída, então os elos fusíveis de realimentação são queimados para assegurar  que não terão efeito nas entradas.

Certos tipos de PLDs são equipados com registradores nas saídas e outros com latches.Dependendo do dispositivo, os registradores(ou latches) podem ser fornecidos em todas as saídas ou em grupo de saídas. Em geral, é possível não utilizar os registradores de saídas através do uso de multiplexadores construídos no PLD.Este tipo de PLD é denominado sequenciador lógico programável.

 

fig8
Fig.8

 

Programação de PLDs
Os PLDs são programados e testados utilizando equipamentos programadores e programas específicos desenvolvidos para esta finalidade.Usando o programa, o usuário pode informar ao programador, através do microcomputador, as equações logicas que deseja programar no PLD.O programa gera o mapa de queima dos fusíveis e os dados de testes e envia para o programador realizar a programação.A Figura 9 abaixo mostra o fluxograma típico de programação e teste de um PLD.

 

fig9
Fig.9

 

 

comp53 Questões para Revisão
Tente resolver on-line um teste sobre Dispositivos Lógicos Programáveis(PLDs).
 
Visite estas páginas sobre PLDs
boar
Dispositivos de Lógica Programável (PLD’s)

 

 


Atualizada em 20/02/22

mac logo

Free Web Hosting