Dispositivos de Lógica Programável

Propaganda
Dispositivos de
Lógica Programável
Evolução
Válvula no início de 1940
Transistor em 1947
Não aquece como as válvulas
Fisicamente menor
1961 primeiro integrado TTL 74LSXX
Década de 1970
surge SPLD – Simple PLD ( ROM, PLA, PAL) << 600 portas
ASIC’s – Applications Specific Integrated Circuits
Década de 1980 >> 600 portas
Multiple PLD – CPLD
FPGA – Field Programmable Gate Array
Introdução
Basicamente, o projeto de um sistema
digital consiste em determinar a função
lógica que traduz o funcionamento do
mesmo de acordo com estímulos
recebidos.
A partir disso podemos implementar um
circuito lógico complexo que execute essa
função a partir de circuitos lógicos simples.
O que escolher?
Projetista tem o desafio de encontrar o balanço entre
velocidade e generalidade do hardware
Chip genérico
Microcontroladores Muitas funções Sacrifício de
desempenho
Chip dedicado
ASICS Aplicação específica alta velocidade baixo consumo só se justifica em grande
quantidade, pois alterações do projeto não são
possíveis
Lógica Programável
Os componentes da lógica programável são
dispositivos que possuem em sua lógica interna
centenas (ou milhares) de portas lógicas, flip-flops e
registradores; que são interligados internamente.
Essas interconexões são os pontos programáveis da
lógica. Podemos então programar essas conexões
para permanecerem fechadas ou abertas, de acordo
com a necessidade do projeto.
Essas interconexões podem ser entendidas como
fusíveis, que de acordo com a necessidade do projeto
podem ou não ser queimados (desfazendo ou não a
conexão entre portas lógicas). Essa queima é
realizada pelo projetista, utilizando um software de
programação do dispositivo.
Dispositivos de Lógica
Programável
PLA – Soma de Produtos
3 Entradas – X1, X2, X3
2 Saídas – Z1, Z2
Um bloco AND configurável com 6
entradas
Um Bloco OR Configurável com 6
entradas
PAL – Soma de Produtos
3 Entradas – X1, X2, X3
2 Saídas – Z1, Z2
Apenas bloco AND
configurável com 6 entradas
Bloco OR fixo
FPGA
FPGA (Field Programmable Gate Array ou Arranjo de portas
programável em campos)
Composto por um conjunto de células lógicas configuráveis e
contidos em um único integrado.
Cada célula contém capacidade de implementar funções lógicas
(combinacionais ou sequenciais) e roteamento para
comunicação entre elas.
A função a ser implementada é definida pelo usuário usando
alguma ferramenta que permita a entrada de projeto para
especificar o estado dos pontos de programação internos.
FPGA – Elementos Básicos
Blocos de entrada/saída configuráveis (I/O Blocks): são
componentes de entrada/saída formados por estruturas
bidirecionais que incluem buffer, flip-flop de entrada, buffer
tri-state e flip-flop de saída .
Interconexões Programáveis (Programmable
InterConnect): pode ser do tipo SRAM, Antifusível ou
EPROM. São como interruptores programáveis, geram as
pistas de ligação entre os blocos lógicos e blocos de
entrada e saída .
Blocos Lógicos Configuráveis (Logic Block): pode ser
tão simples como um transistor ou tão complexo quanto um
microprossessador. Este bloco é capaz de implementar
várias funções combinacionais (através de look-up-table) e
seqüenciais (através de flip-flops).
FPGA – Estrutura Básica
Linhas de Roteamento
Blocos de Entrada e Saída
Blocos Lógicos
Configuráveis
Matriz de Roteamento
FPGA – Bloco lógico
FPGA - Conexões
Ferramenta de Desenvolvimento
EDA ( Eletronic Design Automation )
Especificação do comportamento do FPGA, utilizando
Linguagem de Descrição de Hardware ( HDL ) ou
diagramas esquemáticos.
Sintetizar o circuito obedecendo restrições impostas
pelo projetista ( espaço / velocidade ).
Verificar o funcionamento do circuito através de
simulação.
Gera relatórios estatísticos com dados do
comportamento e desempenho do circuito.
Ferramenta de Desenvolvimento
Fabricante – Xilinx
Xilinx Foundation Series
Xilinx Foundation ISE
Fabricante – Altera
MAX-PLUS
MAX_PLUS II
Quartus
Quartus II
HDL – Linguagem de descrição de
Hardware
VHDL ( Very High Speed Integrated Circuit Hardware Description
Language) é uma linguagem padronizada de HDL
ratificada em 1987 pelo IEEE
Serve para modelar a estrutura ou comportamento
do Hardware
Comportamento :
• Descreve-se o circuito pensando no seu
funcionamento.
• Ex. Descrição algorítmica de uma porta AND
Estrutural :
• Descreve-se o circuito pensando na arquitetura
• Ex. Descrição da porta lógica AND
Programação VHDL
Ex.: Flip-Flop D
Vantagens do FPGA
Alto desempenho.
Facilidade de projeto.
Tempo de projeto reduzido.
Confiabilidade e flexibilidade.
Redução de custos.
Download