Arquitetura de Sistemas Digitais FPGA Francisco Januário Orientador: Prof. Lucas Cordeiro, Dr...

Preview:

Citation preview

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)

Recommended