Slide 1 - Professor Doutor Cesar da Costa

Propaganda
PROGRAMAÇÃO E PROJETOS COM
DISPOSITIVOS FPGA (1.a parte)
Prof. Dr. Cesar da Costa – N8LB0 - 1.a Aula_Teórica
SUMÁRIO
 1. Introdução
 1.2 Circuitos Integrados Padrões
 1.3 Circuitos Integrados ASICs
 2. Conceito de Lógica Programável
 2.1 Dispositivos Lógicos Programáveis - PLDs
 2.2 SPLDs (PLA, PAL, GAL e EPLD)
 2.3 HCPLDs (CPLD e FPGA)
 3 Kit de Desenvolvimento DE 2
Introdução:
 Os circuitos integrados digitais implementados em
pastilha de silício podem ser classificados em dois
grupos de integração:
a) Circuitos integrados padrões
b) Circuitos integrados de aplicação específica
(ASIC)
Circuitos Integrados Padrões
 Os circuitos integrados padrões são compostos pelos
circuitos de funções fixas, que correspondem aos
componentes digitais básicos: AND, OR, NAND, NOR,
NOT, FLIP-FLOPS,etc.
Exemplos:

Circuitos integrados digitais SSI.
 CI 7400 (4 portas NAND)
 CI 7408 (4 portas AND)

Circuitos integrados digitais MSI.
 CI 74151 (1 Multiplexador 8x1)
 CI 74LS90 (1contador BCD)
Circuitos Integrados de Aplicações Específicas
(ASICs)
 Os circuitos integrados de aplicação específicas ASICs são aqueles que precisam de um processo de
fabricação especial, que requer máscaras específicas
para cada projeto.
Exemplos:
CISC (Conjunto de
instruções complexas)
 Microprocessadores
 Microcontroladores
RISC (Conjunto de
instruções reduzidas)
Arquitetura Básica
 Microprocessadores
são
componentes
extremamente
flexíveis
devido
a
sua
programabilidade.
 A programação do componente torna-o flexível para
implementação de vários tipos de aplicação ,
entretanto, a implementação de um algoritmo por
software será mais lenta que quando implementada
por um hardware equivalente.
Somador por Software
Início
A  04h
Estados
Endereços
Mnemônico
Operando
Comentários
B  03h
7
0000
MVI
A, 04
Move 04 para A
AA+B
7
0002
MVI
B, 03
Move 03 para B
Fim
Clock = 4 Mhz
4
0004
ADD
5
0005
HLT
B
Soma A e B para A
Pára.
Tempo de estado = 0,25 μs
Somador por Hardware
A
B
 A B
S = A+B
S
13 nanosegundos (delay)
 Em ambos os casos apresentados, os circuitos
integrados digitais possuem suas funções internas
fixas, predefinidas, implementadas na construção do CI
no processo de fabricação.
Circuito Integrado MSI
Microcontrolador
Conceito de Lógica Programável

Nos últimos 30 anos a tecnologia de projeto de
sistemas digitais se moveu na direção da Lógica
Programável.
 A maioria dos circuitos de controles digitais modernos
estão contidos em um único dispositivo de Lógica
Programável: FPGA ou CPLD.

A idéia básica desses dispositivos é permitir ao
projetista configurar o circuito eletrônico digital
desejado dentro do próprio “chip”.
 Os recursos de hardware serão configurados para
implementar a funcionalidade requerida.
Dispositivos Lógicos Programáveis - PLDs
 Os PLDs são circuitos integrados que podem ser
configurados pelo próprio usuário. Não apresentam
uma função lógica definida, até que sejam
configurados.
 Uma função lógica, seja combinacional ou seqüencial
poderá ser representada na forma de soma de
produtos, através do uso do Teorema de DeMorgan
ou das leis da Álgebra de Boole.
 Uma função lógica complexa de multi – níveis
poderá facilmente ser reduzida a uma configuração
de dois níveis usando portas ANDs e portas ORs.
Arquitetura básica de um dispositivo PLD
 Algumas
propriedades
das
funções
lógicas
possibilitaram a implementação de componentes
eletrônicos contendo arranjos uniformes de portas
ANDs e portas ORs que podem ser programadas.
 Os dispositivos de lógica programável – PLDs foram
os dispositivos eletrônicos que possibilitaram a
implementação da Lógica Programável no projeto de
circuitos digitais.
 Os PLDs podem ser classificados em função do
número de portas lógicas que comportam como:
a) SPLDs (Simple Programmable Logic Devices);
b) HCPLDs (High Complex Programmable Logic
Devices).
SPLDs (Single Programmable Logic Devices)
 São
dispositivos simples de baixa capacidade, que
tipicamente contêm menos de 600 portas lógicas,
fabricados com tecnologia CMOS.
Exemplos de dispositivos SPLDs:
a) PLAs (Programmables Logic Arrays);
b) PALs (Programmable Arrays Logic);
c) GALs (Gate Arrays Logic).
 PLA
(Programmable
Logic Array).
 Introduzidos em
1970 pela
Philips.
 A saída do
plano AND
corresponde ao
produto das
entradas.
 PAL
(Programmable
Array Logic).
 Desenvolvido para
superar
as
deficiências
dos
PLAs.
GAL (Generic Array
Logic).
 Um novo tipo de
PAL baseado em
células de memória
EEPROM.
Introduzido
no
mercado
pela
empresa LATTICE.
EPLDs (Erasable Programmable Logic Devices)
 São
dispositivos lógicos programáveis e apagáveis que
foram introduzidos no mercado pela empresa ALTERA,
no ano de 1983.
 Os
dispositivos EPLDs implementavam capacidade
lógica de até 50 dispositivos PALs típicos em um único
circuito integrado.
Suas Principais vantagens:
 Programabilidade
e reprogramabilidade.
 Tecnologia CMOS.
 Integração em larga escala.
 Simplificação e redução do tempo de desenvolvimento.
HCPLDs (High Complex Programmable Logic Devices)
 São
dispositivos simples de alta capacidade, que
tipicamente contêm mais do que 600 portas lógicas,
os mais modernos podem atingir cerca de 1.000.000
portas lógicas, fabricados com tecnologia CMOS.
Exemplos de dispositivos HCPLDs:
a) CPLDs (Complex Programmable Logic Devices);
b) FPGAs (Field Programmable Logic Devices).
CPLDs (Complex Programmable Logic Devices)
 Foram
introduzidos no mercado internacional pela
empresa ALTERA, inicialmente como EPLDs.
 São dispositivos programáveis e reprogramáveis pelo
usuário, com alto desempenho, baixo custo por função
e alta capacidade de integração.
CPLDs (Complex Programmable Logic Devices)
 Famílias de CPLDs fornecidos pela ALTERA:
MAX II, MAX 3000A e MAX7000.
 Famílias de CPLDs fornecidos pela XILINX:
XA9500XL, XC95144.
CPLD
 Consiste
de
um
determinado número de
blocos lógicos, onde cada
bloco
contém
uma
macrocélula interligada a
uma
matriz
lógica
programável tipo SPLD.
 No centro da arquitetura
existe uma interconexão
programável global, que
permite a conexão entre
blocos lógicos e células de
entrada e saída.
28
FPGA
 O FPGA consiste de uma matriz de
blocos lógicos ou células lógicas
independentes, cercada de blocos de
entrada e saída, também independentes
e por um conjunto de recursos de
interconexão
programáveis,
que
permitem a interligação arbitrária dos
blocos uns aos outros.
 Cada
bloco
lógico
pode
ser
programado
individualmente
para
desempenhar uma função específica.
Cada bloco de entrada e saída pode ser
programado para ser uma entrada, uma
saída ou um pino bidirecional global.
29
FPGA
 Novas arquiteturas de FPGAs têm sido desenvolvidas desde 1985, com
variações significativas na composição dos blocos e das tecnologias de
implementação, mas sempre mantendo a mesma estrutura básica da LCA
(Logic Cell Array) inicial:
 Blocos lógicos;
 Blocos de entrada e saída;
 Recursos de interligação programáveis.
30
Arquitetura de roteamento
 A arquitetura de roteamento de um FPGA é a forma
pela qual os seus barramentos e as chaves de
interconexão são posicionadas para permitir a
interconexão entre as células lógicas.
 Essa arquitetura permite que se obtenha um
roteamento completo e, ao mesmo tempo, alta
densidade de portas lógicas.
FPGA
Arquitetura geral de roteamento de um FPGA.
32
Conceitos básicos da arquitetura de um FPGA
 Pinos: entradas e saídas dos blocos lógicos;
 Conexão: ligação elétrica de um par de pinos;
 Rede: conjunto de pinos que estão conectados;
 Bloco de comutação: utilizado para conectar dois
segmentos de trilha;
 Segmento de trilha: segmento não interrompido por
chaves programáveis;
 Canal de roteamento: grupo de duas ou mais trilhas
paralelas;
 Bloco de Conexão: permite a conectividade das
entradas e saídas de um bloco lógico com os
segmentos de trilhas nos canais;
 Chaves programáveis: afetam a velocidade, tempo
de propagação dos sinais e definem características de
volatilidade e reprogramação.
Tecnologia de programação das chaves de roteamento
 SRAM: nessa tecnologia a chave de interconexão é
uma memória estática RAM de um bit.
 Antifuse: nessa tecnologia a chave de interconexão
é um dispositivo semicondutor de dois terminais, que
no estado não programado apresenta alta impedância
(aberto) e que no estado programado apresenta baixa
impedância (fechado).
 Gate Flutuante: nessa tecnologia a chave de
interconexão é um transistor MOS, especialmente
construídos com dois gates flutuantes semelhantes aos
usados nas memórias EPROM e EEPROM . A maior
vantagem dessa tecnologia é a sua capacidade de
programação e a retenção dos dados.
Obs: Com a tecnologia Gate Flutuante os dados
podem ser programados com o circuito integrado
instalado na placa, característica denominada ISP (In
System Programmability).
FPGA (Field Programmable Gate Arrays)
 Famílias de FPGAs fornecidos pela XILINX:
 Artix -7, Kintex-7, Virtex-7, Spartan-6 e Virtex-6.
 Visite o site:
http://www.xilinx.com/products/silicon-devices/fpga/index.htm
FPGA (Field Programmable Gate Arrays)
 Famílias de FPGAs fornecidos pela ALTERA:
 Stratix V, IV, III, II e I;
 Arria V, II e I;
 Cyclone V, IV, III, II e I
 Visite o site:
http://www.altera.com/devices/fpga/fpga-index.html
FPGA
• APLICAÇÕES DE FPGA.
• Radio Digital (Wireless).
• Equipamentos em Medicina:
Ultra Som, etc;
• Processamento de Som.
• Processamento de Imagem:
Aplicações de Vídeo;
• Controle Industrial:
Autônomos, Motion Control.
• DSP (Processamento Digital
de Sinais).
40
Principais Fabricantes de FPGA e CPLD
Fabricante
Webesiet
Achronix Semiconductor
www.achronix.com
Actel Corporation
www.actel.com
Altera Corporation
www.altera.com
Atmel Corporation
www.atmel.com
Cypress Semiconductor
www.cypress.com
Lattice Semiconductor
www.latticesemi.com
Quicklogic Corporation
www.quicklogic.com
Xilinx
www.xilinx.com
41
Placas de Desenvolvimento
Altera DE3 Development System - FPGA Stratix III
42
42
Placas de Desenvolvimento
Altera Cyclone III FPGA Development KIT
43
43
KIT DE 2
KIT DE 2
Endereço das chaves
Endereço dos LEDs
Atenção:
1. Maiores informações sobre
dados técnicos do Kit DE 2,
deverão ser obtidas no site do
professor:
www.professorcesarcosta.com.br.
Disciplinas Ministradas
N8LB10
Bibliografia:
Bibliografia:
2. Site www.professorcesarcosta.com.br
Tópicos:
-Disciplinas Ministradas N8LB10;
- Kits Didáticos com FPGA;
- Clube do FPGA;
- FPGA;
3. Site www.fpgacentral.com
Download