Dispositivos de Lógica Programável

Propaganda
ELD - Eletrônica Digital
Aula 11 – Introdução à Lógica Programável
Prof. Antonio Heronaldo de Sousa
Agenda
- Introdução
- Lógica Programável
- Dispositivos de Lógica Programável
- Arranjos Lógicos Programáveis (PLA e PAL)
- Arranjos de Portas Programáveis (CPLD e FPGA)
- Linguagem de Descrição de Hardware
Introduçã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
– Surgem os microprocessadores
– Surgem os SPLD – Simple Programmable Logic Device
(ROM e Logic Arrays - PLA e PAL) << 600 portas
– ASIC’s – Applications Specific Integrated Circuits
Década de 1980 >> 600 portas
– Complex 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.
Introdução
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, flipflops, registradores e outros; 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
Arranjos Lógicos Programáveis
• Circuito que possui uma estrutura interna baseada em um conjunto de
portas AND-OR (o conjunto de portas AND e OR são chamados de
arranjos).
• As entradas desse circuito são ligadas às entradas das portas AND e as
saídas das portas AND são ligadas às entradas das portas OR e suas
saídas representam as saídas do circuito.
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
Arranjos de Portas Programáveis
• Os arranjos de portas programáveis são estruturas mais genéricas e
versáteis que as baseadas na estrutura tradicional AND-OR dos arranjos
lógicos programáveis.
• A principal vantagem deste tipo de circuito é a possibilidade de
reprogramação do comportamento de um circuito quantas vezes for
necessária, ao contrário dos arranjos lógicos programáveis que só podem
ser programados uma vez, ou seja, definida sua função lógica ela não
poderá ser mudada.
CPLD - Complex PLD
• Os CPLDs podem ser vistos como dispositivos que utilizam em sua
estrutura vários PLD´s (PLA ou PAL). Cada PLA ou PAL formam células
que são interligadas através de conexões programáveis.
FPGA - Field Programmable Gate Array
Linhas de Roteamento
Blocos de Entrada e Saída
Blocos Lógicos
Configuráveis
Matriz de Roteamento
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, flipflop 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).
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.
– Estrutural:
• Descreve-se o circuito pensando na arquitetura.
VHDL – Linguagem de Descrição de Hardware
• Ex.: Flip-Flop D
Download