Escolar Documentos
Profissional Documentos
Cultura Documentos
Tutorial
2009-2
Chaves programveis
Interconectam as clulas segundo uma configurao
Implementao de um projeto:
Especificao da funo de cada clula Configurao da conexo de cada chave
Estrutura Conceitual
Diagrama conceitual
LUT = a b c
Podem possuir mdulos Podem possuir mdulos dedicados e mais avanados dedicados e mais avanados (macro clulas) (macro clulas)
Algumas Aplicaes
Processamento de sinais digitais (DSP) Sistemas embarcados (embedded)
Ex.: Aeroespaciais, de defesa, reconhecimento de voz
Prototipagem de ASICs
Application Specific Integrated Circuit
Configurao flexvel da preciso dos clculos de FPU vs. preciso fixa das CPUs Nova rea: Computao Reconfigurvel
Tarefas custosas realocadas do software (CPUs) p/ FPGAs Ex: clculos de FFT, convoluo etc.
Projeto e Programao
Independem do CI:
(1) Projeto do sistema: arquivos VHDL (2) Desenvolvimento do teste
Dependem do CI:
(3) Sntese
Gera componentes genricos (portas e flipflops)
(3) Implementao
Conexes de E/S do CI com os perifricos
Projeto e Programao
1) Definio do comportamento da FPGA
Projeto esquemtico (grfico) Linguagens de descrio de hardware (HDL Hardware Description Language)
Descrio formal de circuitos digitais
Operao, design e organizao Teste de funcionamento por simulao (circuitos testbench)
Pricipais:
VHDL (Very-high-speed integrated circuit HDL) Verilog
Projeto e Programao
Linguagens HDL
Exemplo de cdigo VHDL
-- import std_logic from the IEEE library -- import std_logic from the IEEE library library IEEE; library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_1164.all; -- this is the -- this is the entity ANDGATE entity ANDGATE port ( port ( IN1 : IN1 : IN2 : IN2 : OUT1: OUT1: end ANDGATE; end ANDGATE; entity entity is is in std_logic; in std_logic; in std_logic; in std_logic; out std_logic); out std_logic);
architecture RTL of ANDGATE is architecture RTL of ANDGATE is begin begin OUT1 <= IN1 and IN2; OUT1 <= IN1 and IN2; end RTL; end RTL;
Projeto e Programao
2) Gerao de uma netlist por uma ferramenta de EDA (Electronic Design Automation)
Netlist: Descreve a conectividade de um circuito
Componentes Portas Pinos Etc.
Projeto e Programao
3) Processo de Place-and-Route
Ajuste da netlist arquitetura verdadeira da FPGA Normalmente feito por um software proprietrio do fabricante da FPGA
4) Validao do mapeamento por anlise temporal, simulao etc. 5) Gerao do arquivo binrio 6) Configurao da FPGA pela transferncia do arquivo binrio
Interface serial protocolo JTAG
Nvel do projeto: portas (gate-level design) Nvel do projeto: portas (gate-level design)
eq = i 0 i1 + i 0 i1
Testbench
Operaes Operaes executadas executadas sequencialmente sequencialmente
VHDL
Conexes do circuito
Atribuies concorrentes de sinal
Condicional Condicional
Selecionada Selecionada
VHDL
Conexes do circuito
Atribuies concorrentes de sinal
case case if if
Testbench Testbench
Clock da placa: Clock da placa: F = 50 MHz; T = 20 x 10-9 s F = 50 MHz; T = 20 x 10-9 s Para T = 0,5 s: Para T = 0,5 s: m = 25.000.000 m = 25.000.000 n = 25, pois 225 = 33.554.432 n = 25, pois 225 = 33.554.432