47
Arquitetura de Sistemas Digitais FPGA Francisco Januário Orientador: Prof. Lucas Cordeiro, Dr Universidade Federal do Amazonas (UFAM) Faculdade de Tecnologia (FT) Departamento de Eletrônica e Computação (DTEC)

Arquitetura de Sistemas Digitais FPGA Francisco Januário Orientador: Prof. Lucas Cordeiro, Dr Universidade Federal do Amazonas (UFAM) Faculdade de Tecnologia

Embed Size (px)

Citation preview

Page 1: Arquitetura de Sistemas Digitais FPGA Francisco Januário Orientador: Prof. Lucas Cordeiro, Dr Universidade Federal do Amazonas (UFAM) Faculdade de Tecnologia

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)

Page 2: Arquitetura de Sistemas Digitais FPGA Francisco Januário Orientador: Prof. Lucas Cordeiro, Dr Universidade Federal do Amazonas (UFAM) Faculdade de Tecnologia

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

Page 3: Arquitetura de Sistemas Digitais FPGA Francisco Januário Orientador: Prof. Lucas Cordeiro, Dr Universidade Federal do Amazonas (UFAM) Faculdade de Tecnologia

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)

Page 4: Arquitetura de Sistemas Digitais FPGA Francisco Januário Orientador: Prof. Lucas Cordeiro, Dr Universidade Federal do Amazonas (UFAM) Faculdade de Tecnologia

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)

Page 5: Arquitetura de Sistemas Digitais FPGA Francisco Januário Orientador: Prof. Lucas Cordeiro, Dr Universidade Federal do Amazonas (UFAM) Faculdade de Tecnologia

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)

Page 6: Arquitetura de Sistemas Digitais FPGA Francisco Januário Orientador: Prof. Lucas Cordeiro, Dr Universidade Federal do Amazonas (UFAM) Faculdade de Tecnologia

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)

Page 7: Arquitetura de Sistemas Digitais FPGA Francisco Januário Orientador: Prof. Lucas Cordeiro, Dr Universidade Federal do Amazonas (UFAM) Faculdade de Tecnologia

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)

Page 8: Arquitetura de Sistemas Digitais FPGA Francisco Januário Orientador: Prof. Lucas Cordeiro, Dr Universidade Federal do Amazonas (UFAM) Faculdade de Tecnologia

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)

Page 9: Arquitetura de Sistemas Digitais FPGA Francisco Januário Orientador: Prof. Lucas Cordeiro, Dr Universidade Federal do Amazonas (UFAM) Faculdade de Tecnologia

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)

Page 10: Arquitetura de Sistemas Digitais FPGA Francisco Januário Orientador: Prof. Lucas Cordeiro, Dr Universidade Federal do Amazonas (UFAM) Faculdade de Tecnologia

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.

Page 11: Arquitetura de Sistemas Digitais FPGA Francisco Januário Orientador: Prof. Lucas Cordeiro, Dr Universidade Federal do Amazonas (UFAM) Faculdade de Tecnologia

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)

Page 12: Arquitetura de Sistemas Digitais FPGA Francisco Januário Orientador: Prof. Lucas Cordeiro, Dr Universidade Federal do Amazonas (UFAM) Faculdade de Tecnologia

12

Estrutura de um FPGA.

Arquitetura de Sistemas DigitaisFPGA (3/10)

Page 13: Arquitetura de Sistemas Digitais FPGA Francisco Januário Orientador: Prof. Lucas Cordeiro, Dr Universidade Federal do Amazonas (UFAM) Faculdade de Tecnologia

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.

Page 14: Arquitetura de Sistemas Digitais FPGA Francisco Januário Orientador: Prof. Lucas Cordeiro, Dr Universidade Federal do Amazonas (UFAM) Faculdade de Tecnologia

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)

Page 15: Arquitetura de Sistemas Digitais FPGA Francisco Januário Orientador: Prof. Lucas Cordeiro, Dr Universidade Federal do Amazonas (UFAM) Faculdade de Tecnologia

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)

Page 16: Arquitetura de Sistemas Digitais FPGA Francisco Januário Orientador: Prof. Lucas Cordeiro, Dr Universidade Federal do Amazonas (UFAM) Faculdade de Tecnologia

16

• Aplicações: Transmissor / Receptor de TV Digital.

Arquitetura de Sistemas DigitaisFPGA (7/10)

Page 17: Arquitetura de Sistemas Digitais FPGA Francisco Januário Orientador: Prof. Lucas Cordeiro, Dr Universidade Federal do Amazonas (UFAM) Faculdade de Tecnologia

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/

Page 18: Arquitetura de Sistemas Digitais FPGA Francisco Januário Orientador: Prof. Lucas Cordeiro, Dr Universidade Federal do Amazonas (UFAM) Faculdade de Tecnologia

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/

Page 19: Arquitetura de Sistemas Digitais FPGA Francisco Januário Orientador: Prof. Lucas Cordeiro, Dr Universidade Federal do Amazonas (UFAM) Faculdade de Tecnologia

19

• Kit de Desenvolvimento (continuação).

Arquitetura de Sistemas DigitaisFPGA (10/10)

Altera Stratix NIOS II: Nosso KIT de desenvolvimento FPGA.

Page 20: Arquitetura de Sistemas Digitais FPGA Francisco Januário Orientador: Prof. Lucas Cordeiro, Dr Universidade Federal do Amazonas (UFAM) Faculdade de Tecnologia

20

Arquitetura de Sistemas DigitaisQUARTUS II (1/3)

Prof. Francisco Januário

Page 21: Arquitetura de Sistemas Digitais FPGA Francisco Januário Orientador: Prof. Lucas Cordeiro, Dr Universidade Federal do Amazonas (UFAM) Faculdade de Tecnologia

21

Arquitetura de Sistemas DigitaisQUARTUS II (2/3)

Prof. Francisco Januário

Page 22: Arquitetura de Sistemas Digitais FPGA Francisco Januário Orientador: Prof. Lucas Cordeiro, Dr Universidade Federal do Amazonas (UFAM) Faculdade de Tecnologia

22

Arquitetura de Sistemas DigitaisQUARTUS II (3/3)

Prof. Francisco Januário

Page 23: Arquitetura de Sistemas Digitais FPGA Francisco Januário Orientador: Prof. Lucas Cordeiro, Dr Universidade Federal do Amazonas (UFAM) Faculdade de Tecnologia

23

Arquitetura de Sistemas DigitaisVHDL (1/23)

Page 24: Arquitetura de Sistemas Digitais FPGA Francisco Januário Orientador: Prof. Lucas Cordeiro, Dr Universidade Federal do Amazonas (UFAM) Faculdade de Tecnologia

24

Arquitetura de Sistemas DigitaisVHDL (2/23)

Page 25: Arquitetura de Sistemas Digitais FPGA Francisco Januário Orientador: Prof. Lucas Cordeiro, Dr Universidade Federal do Amazonas (UFAM) Faculdade de Tecnologia

25

Arquitetura de Sistemas DigitaisVHDL (3/23)

Page 26: Arquitetura de Sistemas Digitais FPGA Francisco Januário Orientador: Prof. Lucas Cordeiro, Dr Universidade Federal do Amazonas (UFAM) Faculdade de Tecnologia

26

Arquitetura de Sistemas DigitaisVHDL (4/23)

Page 27: Arquitetura de Sistemas Digitais FPGA Francisco Januário Orientador: Prof. Lucas Cordeiro, Dr Universidade Federal do Amazonas (UFAM) Faculdade de Tecnologia

27

Arquitetura de Sistemas DigitaisVHDL (5/23)

Page 28: Arquitetura de Sistemas Digitais FPGA Francisco Januário Orientador: Prof. Lucas Cordeiro, Dr Universidade Federal do Amazonas (UFAM) Faculdade de Tecnologia

28

Arquitetura de Sistemas DigitaisVHDL (6/23)

Page 29: Arquitetura de Sistemas Digitais FPGA Francisco Januário Orientador: Prof. Lucas Cordeiro, Dr Universidade Federal do Amazonas (UFAM) Faculdade de Tecnologia

29

Arquitetura de Sistemas DigitaisVHDL (7/23)

Page 30: Arquitetura de Sistemas Digitais FPGA Francisco Januário Orientador: Prof. Lucas Cordeiro, Dr Universidade Federal do Amazonas (UFAM) Faculdade de Tecnologia

30

Arquitetura de Sistemas DigitaisVHDL (8/23)

Page 31: Arquitetura de Sistemas Digitais FPGA Francisco Januário Orientador: Prof. Lucas Cordeiro, Dr Universidade Federal do Amazonas (UFAM) Faculdade de Tecnologia

31

Arquitetura de Sistemas DigitaisVHDL (9/23)

Page 32: Arquitetura de Sistemas Digitais FPGA Francisco Januário Orientador: Prof. Lucas Cordeiro, Dr Universidade Federal do Amazonas (UFAM) Faculdade de Tecnologia

32

Arquitetura de Sistemas DigitaisVHDL (10/23)

Page 33: Arquitetura de Sistemas Digitais FPGA Francisco Januário Orientador: Prof. Lucas Cordeiro, Dr Universidade Federal do Amazonas (UFAM) Faculdade de Tecnologia

33

Arquitetura de Sistemas DigitaisVHDL (11/23)

Page 34: Arquitetura de Sistemas Digitais FPGA Francisco Januário Orientador: Prof. Lucas Cordeiro, Dr Universidade Federal do Amazonas (UFAM) Faculdade de Tecnologia

34

Arquitetura de Sistemas DigitaisVHDL (12/23)

Page 35: Arquitetura de Sistemas Digitais FPGA Francisco Januário Orientador: Prof. Lucas Cordeiro, Dr Universidade Federal do Amazonas (UFAM) Faculdade de Tecnologia

35

Arquitetura de Sistemas DigitaisVHDL (13/23)

Page 36: Arquitetura de Sistemas Digitais FPGA Francisco Januário Orientador: Prof. Lucas Cordeiro, Dr Universidade Federal do Amazonas (UFAM) Faculdade de Tecnologia

36

Arquitetura de Sistemas DigitaisVHDL (14/23)

Page 37: Arquitetura de Sistemas Digitais FPGA Francisco Januário Orientador: Prof. Lucas Cordeiro, Dr Universidade Federal do Amazonas (UFAM) Faculdade de Tecnologia

37

Arquitetura de Sistemas DigitaisVHDL (15/23)

Page 38: Arquitetura de Sistemas Digitais FPGA Francisco Januário Orientador: Prof. Lucas Cordeiro, Dr Universidade Federal do Amazonas (UFAM) Faculdade de Tecnologia

38

Arquitetura de Sistemas DigitaisVHDL (16/23)

Page 39: Arquitetura de Sistemas Digitais FPGA Francisco Januário Orientador: Prof. Lucas Cordeiro, Dr Universidade Federal do Amazonas (UFAM) Faculdade de Tecnologia

39

Arquitetura de Sistemas DigitaisVHDL (17/23)

Page 40: Arquitetura de Sistemas Digitais FPGA Francisco Januário Orientador: Prof. Lucas Cordeiro, Dr Universidade Federal do Amazonas (UFAM) Faculdade de Tecnologia

40

Arquitetura de Sistemas DigitaisVHDL (18/23)

Page 41: Arquitetura de Sistemas Digitais FPGA Francisco Januário Orientador: Prof. Lucas Cordeiro, Dr Universidade Federal do Amazonas (UFAM) Faculdade de Tecnologia

41

Arquitetura de Sistemas DigitaisVHDL (19/23)

Page 42: Arquitetura de Sistemas Digitais FPGA Francisco Januário Orientador: Prof. Lucas Cordeiro, Dr Universidade Federal do Amazonas (UFAM) Faculdade de Tecnologia

42

Arquitetura de Sistemas DigitaisVHDL (20/23)

Page 43: Arquitetura de Sistemas Digitais FPGA Francisco Januário Orientador: Prof. Lucas Cordeiro, Dr Universidade Federal do Amazonas (UFAM) Faculdade de Tecnologia

43

Arquitetura de Sistemas DigitaisVHDL (21/23)

Page 44: Arquitetura de Sistemas Digitais FPGA Francisco Januário Orientador: Prof. Lucas Cordeiro, Dr Universidade Federal do Amazonas (UFAM) Faculdade de Tecnologia

44

Arquitetura de Sistemas DigitaisVHDL (22/23)

Page 45: Arquitetura de Sistemas Digitais FPGA Francisco Januário Orientador: Prof. Lucas Cordeiro, Dr Universidade Federal do Amazonas (UFAM) Faculdade de Tecnologia

45

Arquitetura de Sistemas DigitaisVHDL (23/23)

Page 46: Arquitetura de Sistemas Digitais FPGA Francisco Januário Orientador: Prof. Lucas Cordeiro, Dr Universidade Federal do Amazonas (UFAM) Faculdade de Tecnologia

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

Page 47: Arquitetura de Sistemas Digitais FPGA Francisco Januário Orientador: Prof. Lucas Cordeiro, Dr Universidade Federal do Amazonas (UFAM) Faculdade de Tecnologia

47

Arquitetura de Sistemas DigitaisExperimento (2/2)