Arquitetura de Sistemas Digitais FPGA Francisco Januário Orientador: Prof. Lucas Cordeiro, Dr...
Transcript of Arquitetura de Sistemas Digitais FPGA Francisco Januário Orientador: Prof. Lucas Cordeiro, Dr...
Arquitetura de Sistemas Digitais
FPGA
Francisco JanuárioOrientador: Prof. Lucas Cordeiro, Dr
Universidade Federal do Amazonas (UFAM)Faculdade de Tecnologia (FT)
Departamento de Eletrônica e Computação (DTEC)
2
LOPES, Alexandre – Slides das aulas de sistemas digitais, Manaus: FUCAPI, 2011.
TAUB, Herbert – Circuitos digitais e microprocessadores, São Paulo: McGraw-Hill do Brasil, 1984.
TOCCI, Ronald J. – Sistemas digitais: princípios e aplicações, 8.ed., São Paulo: Pearson Prentice Hall, 2006.
BIGNELL, James W.; DONOVAN, Robert – Eletrônica digital, 5.ed., São Paulo: Cengage Learning, 2009.
CAPUANO, Francisco G. e IDOETA, Ivan V. Elementos de eletrônica digital, 13.ed., São Paulo: Érica, 1988.
Arquitetura de Sistemas DigitaisReferências
3
• Dispositivos Lógicos Programáveis (PLD – Programmable Logic Device): são circuitos integrador configuráveis pelo próprio usuário. Permite implementar funções lógicas sem a necessidade de fabricação do CI (Circuito Integrado).
• SPLDs (Simple Programmable Logic Device): são dispositivos simples com menos de 600 portas lógicas fabricados usando a tecnologia CMOS.
• HCPLDs (High Complex Programmable Logic Device): dispositivos de alta capacidade com mais de 600 portas, chegando a 250.000. Neste grupo estão os CPLD’s e os FPGA’s.
Arquitetura de Sistemas DigitaisPLD (1/4)
4
• PLA (Programmable Logic Arrays): primeiro SPLD, criado pela Philips na década de 1970, para implementar circuitos lógicos. É composto por um plano de portas AND e outro de portas OR programáveis.
Arquitetura de Sistemas DigitaisPLD (2/4)
5
• PAL (Programmable Array Logic): é uma evolução do PLA, composto por um único plano de portas AND. Possui custo menor e melhor desempenho.
Arquitetura de Sistemas DigitaisPLD (3/4)
6
• HCPLD (High Complex Programmable Logic Device): são PLDs de alta complexidade por possuir maior número de portas programáveis. Se dividem em: CPLD e FPGA.
• O CPLD e o FPGA divergem na estrutura interna de suas células lógicas e na metodologia de interligação dessas células.
• De forma geral, um HCPLD é um dispositivo que possui em sua estrutura interna, centenas de macrocélulas programáveis, que são interligadas por conexões também programáveis.
Arquitetura de Sistemas DigitaisPLD (4/4)
7
• Dispositivos Lógicos Programáveis Complexos (CPLD – Complex Programmable Logic Device): foram criados pela empresa ALTERA em 1983, inicialmente como Dispositivos Lógicos Programáveis Apagáveis (EPLD – Erase Programmable Logic Device), e depois como CPLD.
• São dispositivos reprogramáveis, com alto desempenho, baixo custo e alta capacidade de integração. Aplicações, por exemplo, em máquinas de estado ou decodificadores de sinais.
• Um CPLD pode implementar até 50 PLDs típicos.
Arquitetura de Sistemas DigitaisCPLD (1/3)
8
• O CPLD possui algumas vantagens em relação aos circuitos discretos e ASIC (Application-Specific Integrated Circuit) tradicional.• Programabilidade e Reprogramabilidade: permite que funções
lógicas possam ser alteradas, simplificando o desenvolvimento de protótipos.
• Tecnologia CMOS: menor consumo de energia.• Integração em larga escala: redução do tamanho da placa de
circuito impresso, pois elimina diversos circuitos discretos.• Simplificação e redução do tempo de desenvolvimento: o
projetista define os sinais elétricos conforme desejado: entradas e saídas podem ocupar o mesmo terminal do dispositivo.
• Teste e depuração: o CPLD utiliza uma linguagem de programação que permite a simulação, teste e depuração rápida do protótipo.
Arquitetura de Sistemas DigitaisCPLD (2/3)
9
• O bloco funcional de um CPLD da fabricante ALTERA para as famílias MAX II, MAX 3000A, MAX 7000 e MAX IIZ.
Arquitetura de Sistemas DigitaisCPLD (3/3)
10
• Arranjo de Portas Programável em Campo – FPGA (Field Programmable Gate Array): é um HCPLD que implementa grandes circuitos lógicos. Consiste de um arranjo (ou matriz) de blocos lógicos.
Arquitetura de Sistemas DigitaisFPGA (1/10)
Cada célula contém capacidade computacional para implementar funções lógicas e realizar roteamento para comunicação entre elas.A empresa Xilinx desenvolveu o primeiro FPGA em 1983.
11
• No interior de cada bloco lógico do FPGA existem vários modos possíveis para implementação de funções lógicas. A ALTERA utiliza o bloco de memória LUT (Look-Up Table), que são células de armazenamento que podem conter o valor lógico “0” ou “1”. Este modo é o mais utilizado pelos fabricantes.
• Os blocos lógicos LUT’s possuem geralmente 4 ou 5 entradas, permitindo endereçar 16 ou 32 células de armazenamento. Quando um circuito lógico é implementado em FPGA, os LUT’s são programados para realizar as funções lógicas, e os canais de roteamento são estruturados para interconexão entre os blocos lógicos.
Arquitetura de Sistemas DigitaisFPGA (2/10)
12
Estrutura de um FPGA.
Arquitetura de Sistemas DigitaisFPGA (3/10)
13
• Arquitetura de Roteamento: formada por barramentos e chaves de comutação, permitindo interconexão entre células lógicas.
Arquitetura de Sistemas DigitaisFPGA (4/10)
Pinos: entrada/saída dos blocos.Conexão: ligação elétrica de um par de pinos.Rede: conjunto de pinos conectados.Segmento de trilha: segmento não interrompido por chaves programáveis.Canal de roteamento: grupo de 2 ou mais trilhas paralelas.Bloco de conexão: conectividade de entradas e saídas de um bloco com os segmentos de trilhas.
14
• Famílias: A fabricante ALTERA oferece comercialmente as seguintes famílias: Stratix II, Stratix, Stratix GX, Cyclone II, APEX II, APEX 20K, Mercury, FLEX 10K, ACEX 1K, FLEX 6000 e Excalibur Devices.
Arquitetura de Sistemas DigitaisFPGA (5/10)
15
• Aplicações: O FPGA permitir projetar sistemas digitais de simples a complexos.• Gerador de sinal PWM• Contadores• Decodificador para Display 7 Segmentos• Controle de Motor de Passo• Memórias RAM e ROM• Codificadores/Decodificadores de Imagens• Processamento Digital de Sinais e Imagens• Unidade Lógica Aritmética, Microcomputador• Transmissor / Receptor Serial• Transmissor / Receptor (Set-Top Box) de TV Digital
Arquitetura de Sistemas DigitaisFPGA (6/10)
16
• Aplicações: Transmissor / Receptor de TV Digital.
Arquitetura de Sistemas DigitaisFPGA (7/10)
17
• Kit de Desenvolvimento: A fabricante ALTERA oferece comercialmente alguns KIT’s de desenvolvimento FPGA.
Arquitetura de Sistemas DigitaisFPGA (8/10)
Altera DE2-115: Placa de desenvolvimento e educação.
Altera DE0-Nano: Placa de desenvolvimento e educação.
http://www.terasic.com.tw/en/
18
• Kit de Desenvolvimento (continuação).
Arquitetura de Sistemas DigitaisFPGA (9/10)
Altera Cyclone V GX: Kit de desenvolvimento FPGA.
Altera Nios II: Kit de desenvolvimento embarcado.
http://www.terasic.com.tw/en/
19
• Kit de Desenvolvimento (continuação).
Arquitetura de Sistemas DigitaisFPGA (10/10)
Altera Stratix NIOS II: Nosso KIT de desenvolvimento FPGA.
20
Arquitetura de Sistemas DigitaisQUARTUS II (1/3)
Prof. Francisco Januário
21
Arquitetura de Sistemas DigitaisQUARTUS II (2/3)
Prof. Francisco Januário
22
Arquitetura de Sistemas DigitaisQUARTUS II (3/3)
Prof. Francisco Januário
23
Arquitetura de Sistemas DigitaisVHDL (1/23)
24
Arquitetura de Sistemas DigitaisVHDL (2/23)
25
Arquitetura de Sistemas DigitaisVHDL (3/23)
26
Arquitetura de Sistemas DigitaisVHDL (4/23)
27
Arquitetura de Sistemas DigitaisVHDL (5/23)
28
Arquitetura de Sistemas DigitaisVHDL (6/23)
29
Arquitetura de Sistemas DigitaisVHDL (7/23)
30
Arquitetura de Sistemas DigitaisVHDL (8/23)
31
Arquitetura de Sistemas DigitaisVHDL (9/23)
32
Arquitetura de Sistemas DigitaisVHDL (10/23)
33
Arquitetura de Sistemas DigitaisVHDL (11/23)
34
Arquitetura de Sistemas DigitaisVHDL (12/23)
35
Arquitetura de Sistemas DigitaisVHDL (13/23)
36
Arquitetura de Sistemas DigitaisVHDL (14/23)
37
Arquitetura de Sistemas DigitaisVHDL (15/23)
38
Arquitetura de Sistemas DigitaisVHDL (16/23)
39
Arquitetura de Sistemas DigitaisVHDL (17/23)
40
Arquitetura de Sistemas DigitaisVHDL (18/23)
41
Arquitetura de Sistemas DigitaisVHDL (19/23)
42
Arquitetura de Sistemas DigitaisVHDL (20/23)
43
Arquitetura de Sistemas DigitaisVHDL (21/23)
44
Arquitetura de Sistemas DigitaisVHDL (22/23)
45
Arquitetura de Sistemas DigitaisVHDL (23/23)
46
Experimento 1: Desenvolver uma ULA de 4 bits com as seguintes funções.
Arquitetura de Sistemas DigitaisExperimento (1/2)
Controle da ULA Função
00 AND
01 OR
10 NOT
11 ADD
47
Arquitetura de Sistemas DigitaisExperimento (2/2)