parte 4 - introdução a fpgas laborg 21/setembro/2009 fernando gehm moraes césar augusto missio...
TRANSCRIPT
![Page 1: Parte 4 - Introdução a FPGAs LABORG 21/setembro/2009 Fernando Gehm Moraes César Augusto Missio Marcon Ney Laert Vilar Calazans](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc102497959413d8be764/html5/thumbnails/1.jpg)
Parte 4 - Introdução a FPGAs
LABORGLABORG
21/setembro/2009
Fernando Gehm Moraes
César Augusto Missio Marcon
Ney Laert Vilar Calazans
![Page 2: Parte 4 - Introdução a FPGAs LABORG 21/setembro/2009 Fernando Gehm Moraes César Augusto Missio Marcon Ney Laert Vilar Calazans](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc102497959413d8be764/html5/thumbnails/2.jpg)
Teoria – Estrutura de FPGAs
![Page 3: Parte 4 - Introdução a FPGAs LABORG 21/setembro/2009 Fernando Gehm Moraes César Augusto Missio Marcon Ney Laert Vilar Calazans](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc102497959413d8be764/html5/thumbnails/3.jpg)
3Fernando Moraes / César Marcon / Ney Calazans
O Que São FPGAs?
Sem Projeto de Dispositivos
Com Projeto de Dispositivos
Chip SetsSistema digital dedicado,
programável(microcontroladores
e/ou DSPs)
Sistemas computacional programável
(e.g. PC)
Dispositivos personalizáveis
(FPGAs e CPLDs)
Dispositivos projetados
e fabricados sob encomenda ASIC (gate-arrays
ou standard cells)
Aumento de desempenho (maior velocidade e menor potência dissipada), sigilo de projeto, custo de desenvolvimento
TECNOLOGIA
Diminuição da complexidade de projeto
FPGAs permitem implementar
circuitos digitais diretamente de
HDLs, sem os custos de fabricação de
chips
Projeto e Implementação de Produtos Tecnológicos Baseados
em Circuitos Eletrônicos
![Page 4: Parte 4 - Introdução a FPGAs LABORG 21/setembro/2009 Fernando Gehm Moraes César Augusto Missio Marcon Ney Laert Vilar Calazans](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc102497959413d8be764/html5/thumbnails/4.jpg)
4Fernando Moraes / César Marcon / Ney Calazans
FPGAs – Conceitos Básicos
Bloco K Bloco KBloco K
Bloco K Bloco KBloco K
Bloco K Bloco KBloco K
ES
ES
ES
ES
ES
ES
ES ES ES
ES ES ES
Entrada/SaídaConfiguráveis
ConexõesConfiguráveis
Funções Booleanas Configuráveis
• Matriz de CLBs (configurable logic blocks) interconectados por matrizes de chaveamento
SwitchBlocks:
![Page 5: Parte 4 - Introdução a FPGAs LABORG 21/setembro/2009 Fernando Gehm Moraes César Augusto Missio Marcon Ney Laert Vilar Calazans](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc102497959413d8be764/html5/thumbnails/5.jpg)
5Fernando Moraes / César Marcon / Ney Calazans
FPGAs – Conceitos Básicos
• Exemplo de conexão entre duas redes
Bloco K Bloco KBloco K
Bloco K Bloco K Bloco K
Bloco K
Bloco K
![Page 6: Parte 4 - Introdução a FPGAs LABORG 21/setembro/2009 Fernando Gehm Moraes César Augusto Missio Marcon Ney Laert Vilar Calazans](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc102497959413d8be764/html5/thumbnails/6.jpg)
6Fernando Moraes / César Marcon / Ney Calazans
FPGAs – Configuração (RAM-based)• FPGA deve ser visto como “duas camadas”
– Memória de configuração
– Lógica do usuário
• Memória de configuração define:– Toda a fiação da lógica do usuário
– Definição das funções lógicas (LUTs)
– Interface externas e internas (proc)
– Configuração de memórias
– Conteúdo de memórias
– Configuração dos pinos de E/S
Configuration Memory Layer
User Logic Layer
Virtex 4: memória de configuração entre 1 MB – 4 MB
![Page 7: Parte 4 - Introdução a FPGAs LABORG 21/setembro/2009 Fernando Gehm Moraes César Augusto Missio Marcon Ney Laert Vilar Calazans](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc102497959413d8be764/html5/thumbnails/7.jpg)
7Fernando Moraes / César Marcon / Ney Calazans
Algumas das diferentes tecnologias usadas para definir o comportamento de um FPGA:
• Antifusível
• (E)EPROM
• SRAM
Configuração uma única vez
Configuração deve ser realizada cada vez que oFPGA for alimentado
Configuração um número limitado de vezes,mantida com o chip desconectado da alimentação
Tecnologias de Configuração
![Page 8: Parte 4 - Introdução a FPGAs LABORG 21/setembro/2009 Fernando Gehm Moraes César Augusto Missio Marcon Ney Laert Vilar Calazans](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc102497959413d8be764/html5/thumbnails/8.jpg)
8Fernando Moraes / César Marcon / Ney Calazans
LUT – O Gerador Universal de Funções
• LUT - look-up table
– Uma porção de hardware configurável/reconfigurável capaz de
implementar qualquer tabela verdade de n entradas
– Para n=4:
– LUT
» Altamente flexível
» Método mais utilizado (Xilinx e Altera)
2(2)
4
= 65.536 funções implementáveis
![Page 9: Parte 4 - Introdução a FPGAs LABORG 21/setembro/2009 Fernando Gehm Moraes César Augusto Missio Marcon Ney Laert Vilar Calazans](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc102497959413d8be764/html5/thumbnails/9.jpg)
9Fernando Moraes / César Marcon / Ney Calazans
FPGAs – LUT – O Gerador Universal de Funções
A B C D
1
0
0
1
0
0
0
1
1
0
1
0
1
0
1
0
Tabela verdade da função é
armazenada em um memória
durante a configuração do
FPGA
DADCADCBADCBAF ......),,,(
)14,12,10,8,7,3,0(),,,( DCBAF
As entradas (variáveis Booleanas) controlam um multiplexador 2n:1
0
15
Implementação física de uma LUT4
Considerando 150 transistores / LUTPara 50.000 LUTS 7.500.000 transistores !
![Page 10: Parte 4 - Introdução a FPGAs LABORG 21/setembro/2009 Fernando Gehm Moraes César Augusto Missio Marcon Ney Laert Vilar Calazans](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc102497959413d8be764/html5/thumbnails/10.jpg)
10Fernando Moraes / César Marcon / Ney Calazans
Principais 4 Vendedores (2000)
Xilinx42%
Altera37%
Lattice15%
Actel6%
http://www.yeald.com/Yeald/a/17251/pld_market_shares.html
Mercado de FPGAs
![Page 11: Parte 4 - Introdução a FPGAs LABORG 21/setembro/2009 Fernando Gehm Moraes César Augusto Missio Marcon Ney Laert Vilar Calazans](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc102497959413d8be764/html5/thumbnails/11.jpg)
11Fernando Moraes / César Marcon / Ney Calazans
Dispositivos XILINX
• Baixo Custo– Famílias Spartan3 e Spartan2
– 1 milhão de portas lógicas equivalentes por menos de 10 US$!
• Alto desempenho– Família Virtex
– Virtex II, Virtex II-Pro, Virtex IV, Virtex V
![Page 12: Parte 4 - Introdução a FPGAs LABORG 21/setembro/2009 Fernando Gehm Moraes César Augusto Missio Marcon Ney Laert Vilar Calazans](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc102497959413d8be764/html5/thumbnails/12.jpg)
12Fernando Moraes / César Marcon / Ney Calazans
SwitchMatrix
SwitchMatrix
CLB,IOB,DCM
CLB,IOB,DCM
Active Interconnect ™
• Fully Buffered• Fast, Predictable
BRAM
• 18b x 18b mult• 200MHz pipelined
Multiplicadores• 18KBits True Dual Port• Up to 3.5Mbits / device
Block RAM
SwitchMatrix
Slice S0
Slice S1
Slice S2
Slice S3
CLBs
• 8 LUTs• Logic (primary use)• 128b distributed RAM• Shift registers• Wide Input functions (32:1)
Arquitetura Virtex II
![Page 13: Parte 4 - Introdução a FPGAs LABORG 21/setembro/2009 Fernando Gehm Moraes César Augusto Missio Marcon Ney Laert Vilar Calazans](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc102497959413d8be764/html5/thumbnails/13.jpg)
13Fernando Moraes / César Marcon / Ney Calazans
Arquitetura Virtex II – CLB e Interconexão
• Conexões diretas entre CLBs vizinhas
– Lógica de vai-um
• Matrix de conexão
– CLB às linhas de roteamento
• Linhas de roteamento
– Simples
– Hexas
– Longas
– Tri-state
SINGLE
HEX
LONG
SINGLE
HEX
LONG
SIN
GL
E
HE
X
LO
NG
SIN
GL
E
HE
X
LO
NG
TRISTATE BUSSES
SWITCHMATRIX
SLICE SLICE
LocalFeedback
CA
RR
Y
CA
RR
Y
CLB
CA
RR
Y
CA
RR
Y
DIRECTCONNECT
DIRECTCONNECT
![Page 14: Parte 4 - Introdução a FPGAs LABORG 21/setembro/2009 Fernando Gehm Moraes César Augusto Missio Marcon Ney Laert Vilar Calazans](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc102497959413d8be764/html5/thumbnails/14.jpg)
14Fernando Moraes / César Marcon / Ney Calazans
Arquitetura do CLB do Dispositivo VIRTEX-II
Slice
Slice
Slice
Slice
• Fast Carry Logic Path
• Provides fast arithmetic add and sub
RESUMINDO O CLB• 4 Slices• 8 LUTS / 8 Flip-Flops• 2 cadeias de vai-um• 64 bits para memória• 64 bits para shift-register
![Page 15: Parte 4 - Introdução a FPGAs LABORG 21/setembro/2009 Fernando Gehm Moraes César Augusto Missio Marcon Ney Laert Vilar Calazans](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc102497959413d8be764/html5/thumbnails/15.jpg)
15Fernando Moraes / César Marcon / Ney Calazans
Arquitetura – Metade de um Slice
![Page 16: Parte 4 - Introdução a FPGAs LABORG 21/setembro/2009 Fernando Gehm Moraes César Augusto Missio Marcon Ney Laert Vilar Calazans](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc102497959413d8be764/html5/thumbnails/16.jpg)
16Fernando Moraes / César Marcon / Ney Calazans
Virtex2P XC2VP7FPGA Editor View With All Wires
Virtex2P XC2VP7
4,928 slices44 BRAMs
1 PowerPC11,627 logic sites
2,653 tiles
1,423,681 wires544,549 segments
![Page 17: Parte 4 - Introdução a FPGAs LABORG 21/setembro/2009 Fernando Gehm Moraes César Augusto Missio Marcon Ney Laert Vilar Calazans](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc102497959413d8be764/html5/thumbnails/17.jpg)
17Fernando Moraes / César Marcon / Ney Calazans
Virtex2P XC2VP7FPGA Editor View With All Wires
Zoom de um CLB do canto superior
esquerdo
Muitos recursos de roteamento
Grande caixa de conexões (switch box)
4 slices e 2 TBUFs
![Page 18: Parte 4 - Introdução a FPGAs LABORG 21/setembro/2009 Fernando Gehm Moraes César Augusto Missio Marcon Ney Laert Vilar Calazans](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc102497959413d8be764/html5/thumbnails/18.jpg)
18Fernando Moraes / César Marcon / Ney Calazans
Virtex2P XC2VP7Visão do software FPGA Editor com todos os fios
Slice da Família Virtex2Pro
2 LUTs
2 flip-flops
Vários muxs
Lógica de vai-um dedicada
![Page 19: Parte 4 - Introdução a FPGAs LABORG 21/setembro/2009 Fernando Gehm Moraes César Augusto Missio Marcon Ney Laert Vilar Calazans](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc102497959413d8be764/html5/thumbnails/19.jpg)
19Fernando Moraes / César Marcon / Ney Calazans
XC2VP7 Virtex-II Pro FPGA
• Layout do XC2VP7
Power PC
MGTs (gigabit transceiver)
DCM (clock manager)
![Page 20: Parte 4 - Introdução a FPGAs LABORG 21/setembro/2009 Fernando Gehm Moraes César Augusto Missio Marcon Ney Laert Vilar Calazans](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc102497959413d8be764/html5/thumbnails/20.jpg)
20Fernando Moraes / César Marcon / Ney Calazans
Demais Componentes de FPGA Moderno (1/2)
• Gerenciamento de clock
– Reduz escorregamento de relógio
– Permite multiplicar, dividir, mudar a fase da(s) freqüências de entrada
– Implementações digitais (DCM – Xilinx) e analógica (PLL – Altera)
• Blocos de memória embarcada
– Tipicamente blocos de 18kbits
• Blocos DSP
– Multiplicadores 18x18 para funções de imagem, áudio, telecomunicações
![Page 21: Parte 4 - Introdução a FPGAs LABORG 21/setembro/2009 Fernando Gehm Moraes César Augusto Missio Marcon Ney Laert Vilar Calazans](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc102497959413d8be764/html5/thumbnails/21.jpg)
21Fernando Moraes / César Marcon / Ney Calazans
Demais Componentes de FPGA Moderno (2/2)
• Processadores embarcados do tipo hard macro
– Xilinx disponibiliza o processador PowerPC (clock de 300-500MHz)
– Podem executar sistemas operacionais embarcados como Linux
• Transceptores Gigabit
– Blocos serializadores / deserializadores para receber dados em altas taxas de transmissão
– Virtex-4 é capaz de receber e transmitir dados em freqüências de 3.2 Gbps usando dois fios.
• Outros
– Ethernet MAC
– Criptografia do bitstream
– Controle para reconfiguração interna (de dentro do FPGA - ICAP)
![Page 22: Parte 4 - Introdução a FPGAs LABORG 21/setembro/2009 Fernando Gehm Moraes César Augusto Missio Marcon Ney Laert Vilar Calazans](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc102497959413d8be764/html5/thumbnails/22.jpg)
Prática – Trabalhando com FPGAs
![Page 23: Parte 4 - Introdução a FPGAs LABORG 21/setembro/2009 Fernando Gehm Moraes César Augusto Missio Marcon Ney Laert Vilar Calazans](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc102497959413d8be764/html5/thumbnails/23.jpg)
23Fernando Moraes / César Marcon / Ney Calazans
Utilizando o FPGA Para Prototipação
1. Abaixo aparece um circuito somador baseado naquele visto na Aula 1, que deve ser prototipado nesta aula:
library IEEE;use IEEE.Std_Logic_1164.all;use IEEE.std_logic_unsigned.all; -- Nova linha
entity somador isport ( A, B: in std_logic_vector(3 downto 0); Soma: out std_logic_vector(3 downto 0) );end somador;
architecture comp of somador isbegin Soma <= A + B; -- Soma de dois vetores de N bitsend comp;
![Page 24: Parte 4 - Introdução a FPGAs LABORG 21/setembro/2009 Fernando Gehm Moraes César Augusto Missio Marcon Ney Laert Vilar Calazans](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc102497959413d8be764/html5/thumbnails/24.jpg)
24Fernando Moraes / César Marcon / Ney Calazans
Onde as Entradas e Saídas se Conectam? (1/3)
Placas de prototipação têm recursos de entrada e saída:
LEDs, chaves, displays, teclado, serial, USB, Ethernet...
A(3 downto 0);
B(3 downto 0);
Soma(3 downto 0)
![Page 25: Parte 4 - Introdução a FPGAs LABORG 21/setembro/2009 Fernando Gehm Moraes César Augusto Missio Marcon Ney Laert Vilar Calazans](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc102497959413d8be764/html5/thumbnails/25.jpg)
25Fernando Moraes / César Marcon / Ney Calazans
Onde as Entradas e Saídas se Conectam? (2/3)
Um arquivo relaciona as entradas e saídas do VHDL com os recursos da placa
Este arquivo se chama UCF (user constraint file)
2. Abrir o arquivo:
Nexys_rm.pdf
Ir na página 5 e achar figura ao lado
![Page 26: Parte 4 - Introdução a FPGAs LABORG 21/setembro/2009 Fernando Gehm Moraes César Augusto Missio Marcon Ney Laert Vilar Calazans](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc102497959413d8be764/html5/thumbnails/26.jpg)
26Fernando Moraes / César Marcon / Ney Calazans
Onde as Entradas e Saídas se Conectam? (3/3)
3. Criação do arquivo UCF – Arquivo define relação entre nome de fio/pino em VHDL e pino físico do FPGA
### UCF DO PROJETO SOMADOR DE 4 BITS
NET "A<0>" LOC = "L15" ; # Bit 0 do vetor ANET "A<1>" LOC = "M16" ;# Bit 1 do vetor ANET "A<2>" LOC = "M15" ;# Bit 2 do vetor ANET "A<3>" LOC = "N16" ;# Bit 3 do vetor A
NET "B<0>" LOC = "N15" ;NET "B<1>" LOC = "J16" ;NET "B<2>" LOC = "K16" ;NET "B<3>" LOC = "K15" ;
NET "Soma<0>" LOC = "N14" ;NET "Soma<1>" LOC = "M13" ;NET "Soma<2>" LOC = "P14" ;NET "Soma<3>" LOC = "R16" ;
A(3 downto 0);
B(3 downto 0);
Soma(3 downto 0)
![Page 27: Parte 4 - Introdução a FPGAs LABORG 21/setembro/2009 Fernando Gehm Moraes César Augusto Missio Marcon Ney Laert Vilar Calazans](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc102497959413d8be764/html5/thumbnails/27.jpg)
27Fernando Moraes / César Marcon / Ney Calazans
Ambiente de Síntese: ISE
4. Criar um diretório, colocando neste os arquivos VHDL (soma.vhd) e o arquivo UCF (soma.ucf)
5. Abrir a ferramenta ISE( ) e criar um novo projeto (File New Project), como abaixo:
Xilinx ISE 9.1i.lnk
Cuidado: Não podem haver espaços em branco no nome do caminho para o projeto, nem no nome do projeto
![Page 28: Parte 4 - Introdução a FPGAs LABORG 21/setembro/2009 Fernando Gehm Moraes César Augusto Missio Marcon Ney Laert Vilar Calazans](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc102497959413d8be764/html5/thumbnails/28.jpg)
28Fernando Moraes / César Marcon / Ney Calazans
Definição do FPGA da Placa de Prototipação
6. Para a placa que estamos trabalhando, o FPGA é um dispositivo da família Spartan3, escolher na janela como abaixo:
Características do dispositivo FPGA
![Page 29: Parte 4 - Introdução a FPGAs LABORG 21/setembro/2009 Fernando Gehm Moraes César Augusto Missio Marcon Ney Laert Vilar Calazans](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc102497959413d8be764/html5/thumbnails/29.jpg)
29Fernando Moraes / César Marcon / Ney Calazans
Inclusão dos Fontes
7. A próxima janela é para criar arquivos-fonte novos, selecionar Next
8. A próxima janela é para inclusão dos fontes, incluir
Copia para o diretório do ISE e preserva os arquivos originais
• Ao final há um resumo do projeto(com detecção da função do UCF):
![Page 30: Parte 4 - Introdução a FPGAs LABORG 21/setembro/2009 Fernando Gehm Moraes César Augusto Missio Marcon Ney Laert Vilar Calazans](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc102497959413d8be764/html5/thumbnails/30.jpg)
30Fernando Moraes / César Marcon / Ney Calazans
Ambiente ISE – Browser do Projeto
9. Se todos os passos de criação foram corretamente seguidos, deve-se ter:
Top do projeto
![Page 31: Parte 4 - Introdução a FPGAs LABORG 21/setembro/2009 Fernando Gehm Moraes César Augusto Missio Marcon Ney Laert Vilar Calazans](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc102497959413d8be764/html5/thumbnails/31.jpg)
31Fernando Moraes / César Marcon / Ney Calazans
Passo 1 da Síntese: Síntese Lógica
Transforma o VHDL em portas lógicas
10. Para executar, dá-se duplo click em “Synthesize XST”
– Ao final tem-se o relatório no lado direito
6 LUTsde 3840
12 entradas
![Page 32: Parte 4 - Introdução a FPGAs LABORG 21/setembro/2009 Fernando Gehm Moraes César Augusto Missio Marcon Ney Laert Vilar Calazans](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc102497959413d8be764/html5/thumbnails/32.jpg)
32Fernando Moraes / César Marcon / Ney Calazans
Passo 2 da Síntese: Síntese Física
Realiza o posicionamento e as conexão no FPGA
11. Dar duplo click em “Implement Design”
12. Em seguida, dar duplo click em “Generate Programming File”
![Page 33: Parte 4 - Introdução a FPGAs LABORG 21/setembro/2009 Fernando Gehm Moraes César Augusto Missio Marcon Ney Laert Vilar Calazans](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc102497959413d8be764/html5/thumbnails/33.jpg)
33Fernando Moraes / César Marcon / Ney Calazans
Visualização no FPGA
6 LUTs (em três SLICES)
13. Selecionar FPGA Editor , executar o programa e visualizar o “layout” gerado automaticamente pelo processo de síntese
![Page 34: Parte 4 - Introdução a FPGAs LABORG 21/setembro/2009 Fernando Gehm Moraes César Augusto Missio Marcon Ney Laert Vilar Calazans](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc102497959413d8be764/html5/thumbnails/34.jpg)
34Fernando Moraes / César Marcon / Ney Calazans
Baixar para o FPGA (1/3)
14. Executar o software ExPort ( ), ligar a placa, conectar o cabo USB e inicializar a cadeia. Resultado aparece abaixo.
Shortcut to ExPort.exe.lnk
![Page 35: Parte 4 - Introdução a FPGAs LABORG 21/setembro/2009 Fernando Gehm Moraes César Augusto Missio Marcon Ney Laert Vilar Calazans](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc102497959413d8be764/html5/thumbnails/35.jpg)
35Fernando Moraes / César Marcon / Ney Calazans
Baixar para o FPGA (2/3)
15. Marcar a check-box do chip de denominado XCF02S (para não programar ele ao programar o FPGA, ou seja fazer um bypass do XCF02S). O resultado é:
![Page 36: Parte 4 - Introdução a FPGAs LABORG 21/setembro/2009 Fernando Gehm Moraes César Augusto Missio Marcon Ney Laert Vilar Calazans](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc102497959413d8be764/html5/thumbnails/36.jpg)
36Fernando Moraes / César Marcon / Ney Calazans
Baixar para o FPGA (3/3)
16. Clicar na opção Browse ao lado do FPGA (ícone de nome XC3S200) e achar/selecionar o arquivo de nome somador.bit, gerado pela síntese. Em seguida escolha a opção Program Chain. Pronto!
![Page 37: Parte 4 - Introdução a FPGAs LABORG 21/setembro/2009 Fernando Gehm Moraes César Augusto Missio Marcon Ney Laert Vilar Calazans](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc102497959413d8be764/html5/thumbnails/37.jpg)
37Fernando Moraes / César Marcon / Ney Calazans
TRABALHO A FAZER
• Note que este somador não tem “vai-um”. Seu trabalho é acrescentar o cálculo do vai-um no circuito.
• Uma sugestão de modificação de código para incluí-lo:– A saída “Soma” ser modificada para 5 bits
– Declarar dois sinais internos ‘AA’ e ‘BB’, ambos de 5 bits
– Antes de fazer a “Soma <= AA + BB”, criar ‘AA’ e ‘BB’ através de uma concatenação com ‘0’ à esquerda:
AA <= ‘0’ & A; -- o símbolo & significa concatenação em VHDL
– Modifique o UCF para o LED3 ser associado ao vai-um gerado (o quinto bit da soma.
![Page 38: Parte 4 - Introdução a FPGAs LABORG 21/setembro/2009 Fernando Gehm Moraes César Augusto Missio Marcon Ney Laert Vilar Calazans](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc102497959413d8be764/html5/thumbnails/38.jpg)
38Fernando Moraes / César Marcon / Ney Calazans
A ENTREGAR
1. O projeto ISE completo gerado com o cálculo do vai-um acrescentado e mostrando em um LED da placa o resultado da soma e o vai-um resultante.
2. No dia limite de entrega, o projeto deve ser apresentado funcionando para o professor da disciplina.
3. Data Final de Entrega: 05/10/2009, até o fim do dia, via moodle
4. Aguardam possíveis acréscimos ao trabalho na aula seguinte