Post on 07-Dec-2015
description
FPGA - APLICAÇÕESPOR: ANDERSON GUEDES, BIANCA SANTANA, FELIPE PINHEIRO
UNIVERSIDADE ESTADUAL DE FEIRA DE SANTANA
DEPARTAMENTO DE TECNOLOGIA – DETEC
TEC501 - ELETRÔNICA PARA PROCESSAMENTO DIGITAL DE SINAIS
2Anderson Guedes
• Engenharia de Computação
• Representação e Acompanhamento de Propriedades de Reservatórios de Petróleo
• andersoncerg@gmail.com
Bianca Santana
• Objeto de aprendizagem de para produção de Raios-x
• biancasantana.ls@gmail.com
Felipe Pinheiro
• Objeto de aprendizagem para energia fotovoltaica
• felipe.ecomp@gmail.com
Roteiro
O que é uma FPGA
Motivação
Ferramentas e linguagens
Introdução
Aplicações gerais
Pesquisas em andamento
Aplicações
Hello world
Filtros
FFT
Tutoriais
3
INTRODUÇÃO 4
Introdução
• Arranjos de portas programáveis em campo (Field-programmablegate array);
5
Introdução
Diferentes operações de
processamento, não têm que
competir pelos mesmos recursos
Paralelismo
6
7
Introdução
• Um dos benefícios dos FPGAs em comparação a sistemas baseados em processadores é que a lógica da aplicação é implementada em circuitos físicos em vez de executá-los em um sistema operacional, drivers e software de aplicação.
8
Motivação 9
recursos de Circuitos
Integrados Construídos para Tarefas Específicas
sistemas baseados em processadores
Muitas funcionalidades
Motivação 10
Circuitos reprogramáveis
velocidade temporizada
por hardware e confiabilidade
Flexibilidade para mudar o
design
Não é necessária a compra em altos volumes, como é a grande despesa de
um projeto de ASIC customizado, por exemplo.
Economia de Custo
Motivação 11
desenvolvimento conjunto entre
hardware e software
rapidez na detecção de problemas no hardware do
sistema
o produto chega à linha de
produção mais rapidamente
Economia de Tempo
Ferramentas 12
No passado, as ferramentas de projeto
eram baixo nível. Exigiam um profundo
entendimento do projeto de hardware
digital
Surgimento de ferramentas de síntese
de alto nível (HLS –high-level synthesis)
13
Converte diagramas de blocos gráficos em circuitos de hardware digital
Ferramentas
Hardware Description Languages (HDLs):
• VHDL
• Verilog
14
Quartus, ISE Xilinx….
Ferramentas
Hardware Description Languages (HDLs):
• VHDL
• Verilog
15
Sintetizador Compilador
Quartus, ISE Xilinx….
VHDL
• Acrônimo para “Very high speed integrated circuit Hardware DescriptionLanguage”;
• Descrição realizada de duas maneiras: estrutural e comportamental;
• Estrutural: indica os componentes que constituem o circuito e suas respectivas interconexões;
• Comportamental: descreve o circuito com base no comportamento e funcionamento, ao invés da estrutura;
• Algorítmica: consiste essencialmente de dois blocos: “entidade” (entity) e “arquitetura” (architecture);
16
Verilog
• Linguagem de descrição de hardware (Hardware Description Language - HDL);
• Separação hierárquica de módulos que contém conexões e registradores
• Processos sequenciais e paralelos definem o comportamento dos módulos
• Processos sequenciais são executados dentro de blocos "begin/end"
• Os demais processos são executados de forma paralela, englobando assim os blocos “begin/end”
• O interior de um bloco “begin/end” é sequencial mas dois blocos são paralelos;
17
18
VerilogVHDL
19
Desempenho
• Principais parâmetros para medir desempenho: ocupação espacial e desempenho temporal;
• Nem sempre é possível satisfazer tais critérios;
• Otimização espacial: eliminação de trechos redundantes do circuito;
• Otimização temporal: redução do tempo gasto para gerar a informação desejada a partir das entradas, sob pena de aumentar - eventualmente - o espaço necessário para a implementação.
20
APLICAÇÕES 21
Aplicações Gerais 22
Previsão do tempo: HDTV e
CATV
Consumo: Decodificador de
áudio digital, games arcade, vídeo games e sistemas de
karaokê
Transportes: Sistemas de
estradas de ferro
Industrial: Equipamentos de teste e medidas,
equipamentos médicos, controle remoto, robótica, emulador ASIC e sistemas de visão
Comunicação de Dados:
Multiplexadores, roteadores, vídeo
conferência, criptografia,
modems, compressão de dados, LANs, e Wireless LANs
Aplicações Gerais 23
Telecomunicação: interfaces de fibras
ópticas, controlador de voice-mail,
multiplexadores T1 e compressão de
dados
Militar: Sistemas de computadores,
comunicação e controle de fogo;
Computadores: Interfaces de
memória, controladores DMA, controladores de
cache, co-processadores multimídia e
gráficos;
Periféricos: Controladores de
disco, controladores de
vídeo, máquinas de caixa, cartões de
aquisição de dados, impressoras