Você está na página 1de 34

Sistemas Digitais

Introdução FPGA

ELE0517 – Turma 02
Prof. Wallace
wallace@dee.ufrn.br

O que é uma FPGA

FPGA significa Field Programmable Gate Array é um chip


lógico semicondutor que pode ser configurado para se tornar
praticamente qualquer tipo de sistema ou circuito digital.

Em resumo é um chip reprogramável em nível de portas lógicas!

1
Janela de Oportunidade
• Ciclo de vida de um produto:

• Tempo para lançar no mercado:


Ex: Tablet → Lançado pela Apple → Em seguida samsung, LG, etc
• Tempo de vida do produto cada vez mais curto:
Aparelhos de DVD e videocassete → stream de video

Desenvolvimento de semicondutores
• Fluxo:

• Tempo para lançar produto:


FPGA x ASIC?
• Se erros de projeto são descobertos com
o produto no mercado?
1- https://pt.wikipedia.org/wiki/Defeito_de_ponto_flutuante
2- Vulnerabilidades: Meltdown e spectre
• Pesquisa de mercado visando fazer previsões e análise do
mercado consumidor.
https://www.mordorintelligence.com/industry-reports/global-fpga-market-industry

2
Evolução/Custo das FPGA
Encontramos:
Ex: EPM2210G Max II → ~500 elementos lógicos → $5
EP2C35F Ciclone II → ~40.000 elementos lógicos → possível carregar um
processador → $170

Vantagens de uma FPGA

• Projetos com FPGA levam algumas semanas para ser produzido;

• Ferramentas para desenvolver FPGA são relativamente baratas;

• Custo geral do projeto com FPGA é muito mais barato que ASIC;

• O produto final, com FPGA, pode ser atualizado!

3
O que é uma FPGA
• FPGA é menos eficiente que os ASIC (dependendo do projeto e da
tecnologia utilizada);
• Em larga escala, o custo de produto com FPGA é maior do que com
ASIC;

Onde utilizar FPGA?


• Onde existem as necessidades:

4
Onde utilizar FPGA?
• Aplicações nos setores:

• Processamento digital de sinal em tempo real;


• Telecom, switches e roteadores de alto desempenho;
• 5g: Especificação está bem amarrada → A tecnologia que vai dar
suporte ao padrão não chegou ao nível de maturidade.
• ASIC ficaria arriscado.

Onde utilizar FPGA?


• Aplicações nos setores:

• Multimidia;

• Militar;

• Automotivo;

10

10

5
Onde utilizar FPGA?
• Consumo FPGA x Setor:
https://www.grandviewresearch.com/industry-
analysis/fpga-market

11

11

Grandes empresas utilizando de FPGA


• Exemplos:
• Microsoft vem sofrendo com o desempenho dos seus datacenters.
• Lei de moore insustentável.
• 2015 – Lançamento da Microsoft da plataforma baseada em
FPGA catapult v2 em servidores de datacenter que suportam
a estrutura do Azure; (www.microsoft.com/en-
us/research/project/project-catapult/).

12

12

6
Grandes empresas utilizando de FPGA
• Exemplos:
• 2017 – Lançamento de FPGA no framework (Amazon AWS);
(https://aws.amazon.com/pt/ec2/instance-types/f1/)
• Prototipar seu desenvolvimento na nuvem.
• Faço meu projeto em FPGA → Carrego meu código na nuvem → Os
servidores te devolvem os resultados.

13

13

Grandes empresas utilizando de FPGA


• Exemplos:
• 2017 – Huawei utiliza FPGA em Cloud Server;
• Microsoft usa Intel e Huawei usa Xilinx

14

14

7
Grandes empresas utilizando de FPGA
• Exemplos:
• 2015 – Intel adquire a Altera por $16,7 bilhões de dólares.

15

15

O que preciso saber para começar?

• Conhecimento:
• Sistemas Digitais;

• Programação;

• Linguagem de Descrição de Hardware:

• VHDL

• Verilog

• SystemVerilog

16

16

8
Conceitos básicos

• Circuitos Combinacionais:

• Circuitos Sequenciais:

17

17

Metodologia de Projeto de Sistemas Digitais

18

18

9
Metodologias de Projeto de Sistemas Digitais
• Resumo:
• Principais tecnologias envolvidas em processos de concepção e
síntese de Sistemas Digitais:
• Tecnologias de circuitos integrados;
• Tecnologias de processadores:
• Interdependências entre as tecnologias de CIs e de processadores;
• Tecnologias de projeto.

• Desenvolvimento de sistemas digitais em dispositivos


reconfiguráveis:
• Em RTL design
• Orientados a plataforma

19

19

O que é tecnologia?

Tecnologia pode ser definida como a forma de se realizar uma tarefa


através de técnicas, métodos e conhecimentos.

Intel (14 nm, 10 nm?) e AMD (12 nm e 7 nm?) projetam e


fabricam seus processadores da mesma forma?
http://nanoscale.blogspot.com/2015/07/what-do-ibms-7-
nm-transistors-mean.html
20
20

20

10
Tecnologias de Circuito Integrado

21

21

Tecnologias de Circuito Integrado

• As tecnologias de circuitos integrados envolvem a maneira pela qual


as implementações digitais são mapeadas e colocadas num CI:
Se diferem de acordo com o projeto em questão!

• Tecnologias de fabricação de circuitos integrados:


• Standard Logic / SSI, MSI e LSI
• Full-custom / VLSI e ULSI
• Semi-custom / ASICs
• Programmable Logic Devices / PLDs
• ? (Full-custom com adição de parte de hardware reconfigurável)

22
22

22

11
Tecnologias de Circuito Integrado

● Tecnologias de fabricação de Circuitos em Lógica Digital

23
23

23

Tecnologias de Circuito Integrado - VLSI


• Tecnologia VLSI: Completamente “customizada”:
• Todas as camadas são otimizadas para uma implementação
digital particular.

• Tais otimizações incluem:


• Alocação de transistores para minimizar comprimento de
interligações;
• Roteamentos mais adequados para as conexões internas;
• Tamanho dos transistores para otimizar as transmissões de sinais;

• Benefícios
• Desempenho excelente, tamanho reduzido, baixo consumo
• Desvantagens
• Longo tempo para mercado (time-to-marked), alto custo NRE,

24
24

24

12
Detalhando Time-to-Market

25

25

Janela de Oportunidade
• Ciclo de vida de um produto:

26

26

13
Time-to-Market (Modelo de rendimento simplificado)

Pico dos rendimentos para entrada em tempo

Rendimentos ($)
Subida do Pico dos rendimentos para entrada com atraso
mercado
em tempo
Queda do
mercado

θ θ com atraso

D Tempo(meses)
W 2W
Entrada Entrada
no tempo com atraso

• Constata-se que atrasos podem custar muito caro

27
27

27

Time-to-Market (Modelo de rendimento simplificado)


Rendimentos ($)

Queda do
mercado

θ θ com atraso

D Tempo(meses)
W 2W
Entrada Entrada
no tempo com atraso

Qual a perda percentual de receita por causa do atraso no lançamento do


produto?

28
28

28

14
Rendimentos ($)
Time-to-market Queda do
mercado

com atraso
θ θ
Tempo(meses)
• Perdas:
D W 2W
Entrada Entrada
no tempo com atraso
• Diferença entre as áreas dos triângulos no tempo e atrasado,
considerando o ângulo de crescimento de 45°.
• Área (Entrada Ideal) = ½*(2W)*W = W²
• Área (Entrada atrasada) = ½*(2W-D)*(W-D)
• Perda percentual =

1
𝑊2 − 2𝑊 2 − 3𝑊𝐷 + 𝐷2
= 2 (𝑥100%)
𝑊2

𝐷(3𝑊 − 𝐷)
= (𝑥100%)
2𝑊 2

29

29

Time-to-market

• Exemplo para θ = 45o :


• Qual a perda percentual, considerando um atraso de 4 meses para
uma janela de oportunidade de 52 meses?
• Perda = 4*(3*26-4)/2*26² = 22%

• E considerando um atraso de 10 semanas?


• Perda = 10*(3*26-10)/2*26² = 50%

• Exercício: Calcular as perdas de rendimento para qualquer ângulo.

30

30

15
Custo NRE e Custo por produto

• Considerando uma determinada implementação, os custos


envolvidos são:
• Custo NRE (Non-Recurring Engineering cost): Custo do projeto;
• Custo unitário: Custo unitário de produção, excluído o custo de
projeto;
• Custo total: Custo NRE + custo unitário x número de unidades;

• Custo por produto: Custo total / Número de unidades =


= (Custo NRE / Número de unidades) + custo unitário

31

31

Custos do produto

• Exemplos:
NRE = $ 2000, custo unitário = $ 100
Custos para uma produção de 10 unidades?
▪ Custo total = $ 2000 + 10 x $ 100 = $ 3000
▪ Custo por produto = $ 2000/10 + $ 100 = $ 300
O custo NRE traz um custo adicional
de $ 200 por unidade produzida
Custos para uma produção de 50 unidades
▪ Custo total = $ 2000 + 50 x $ 100 = $ 7000
▪ Custo por produto = $ 2000/50 + $ 100 = $ 140
É possível amortizar o custo NRE se O custo NRE traz um custo
o produto for fabricado em larga escala. adicional de $ 40
por unidade produzida
32
32

32

16
Custos do produto

• Gráficos comparativos de custos devido a diferentes tecnologias


Tecnologia A: NRE = $ 2,000 e custo unitário = $ 100
Tecnologia B: NRE = $ 30,000 e custo unitário = $ 30
Tecnologia C: NRE = $ 100,000 e custo unitário = $ 2

33
33

33

• Tecnologia A: Melhor até 400 unidades;


• Tecnologia B: Melhor entre 400 e 2500 unidades;
• Tecnologia C: Melhor acima de 2500 unidades:
• Para o caso de 200.000 unidades:
• Custo NRE será de apenas $ 0,50 (100.000/200.000)
• Custo por produto de apenas $ 2,50
34
34

34

17
Tecnologias de Circuito Integrado
Continuação...

35

35

Tecnologias de Circuito Integrado - ASICS


• Tecnologia ASICS: Semi-customizadas
• Camadas mais baixas estão completamente ou parcialmente
construídas e prontas para uso
• Para cada projeto basta determinar a localização dos blocos
lógicos e o roteamento das conexões entre eles.

• Benefícios:
• Bom desempenho, tamanho e custo de NRE menores (quando
comparadas com VLSI).
• Desvantagens:
• Ainda requerem de semanas a meses para desenvolvimento.

36
36

36

18
Tecnologias de Circuito Integrado - ASICS

37
37

37

Tecnologias de Circuito Integrado - ASICS

38
38

38

19
Tecnologias de circuitos integrados - PLD

• PLD (Dispositivos Lógicos Programáveis):


• Todas as camadas de integração já estão prontas:
• Projetistas podem comprar CIs e ambientes de desenvolvimento;
• Conexões no CI são criadas ou destruídas para implementar as
funcionalidades desejadas.
• Popularização dos FPGAs (Field-Programmable Gate Arrays)

• Benefícios
• Baixo custo NRE (muito usado em protótipos), rápido
desenvolvimento, rapidez e facilidade de síntese do circuito

39
39

39

Tecnologias de circuitos integrados - PLD

• PLD (Dispositivos Lógicos Programáveis)


• Desvantagens:
• Grandes, custo unitário alto, alto consumo e relativamente
lentos.
• Esta realidade no entanto está sendo gradativamente
modificada graças as tecnologias de fabricação de hoje, que já
baixam da casa dos 22 nm.

40
40

40

20
Tecnologias de circuitos integrados

• Arquiteturas de PLDs
SPLDs
▪ Dispositivos Lógicos Programáveis Simples
CPLDs
▪ Dispositivos Lógicos Programáveis Complexos
FPGAs
▪ Arranjos de Gates Programáveis no Campo

41
41

41

Tipos de PLDs:
SPLDs, CPLDs e FPGAs

42

42

21
SPLDs: Dispositivos Lógicos Programáveis Simples

• Idéia básica de um PLD.

43

43

SPLDs: Dispositivos Lógicos Programáveis Simples

• Simbologia simplificada

44

44

22
SPLDs: Dispositivos Lógicos Programáveis Simples

• Principais dispositivos SPLDs:


PLA – arranjo lógico programável;
PAL – lógica de arranjo programável;
GAL – lógica de arranjo genérico.

45

45

SPLDs: Dispositivos Lógicos Programáveis Simples

• O PLA consiste de um arranjo de portas E programável e um arranjo


de portas OU também programável
• Entradas

Qual a expressão de X e Y?

• Saídas X = A.B + C e Y = A.B + C


46

46

23
SPLDs: Dispositivos Lógicos Programáveis Simples

• A PAL consiste de um arranjo de portas E programável e um


arranjo de portas OU fixo
• Entradas
A B C

Qual a expressão de X e Y?

X Y

• Saídas X = A.B + C e Y = A.B + C


47

47

SPLDs: Dispositivos Lógicos Programáveis Simples

• Exemplo: PAL com quatro entradas e quatro saídas

48

48

24
SPLDs: Dispositivos Lógicos Programáveis Simples

• GAL (arranjo lógico genérico):


• Igual a PAL → E programável e OU fixo.
• Possui uma macro célula de saída (OMLC) programável com
capacidade de armazenamento de dados de saída.
• PAL é programável apenas uma vez; GAL usa EEPROM;

Macro célula
Estrutura GAL

49

49

Exercícios: Referências

PLA para as funções:


• X=AB’C’+AB’C+ABC
• Y=BC+AC
• Z(ABC)=Σm(2,4,5,7)
• W(ABC)=Σm(0,1,2,4,6)

PAL para as funções:


• X(ABC)=Σm(2,3,5,7)
• Y(ABC)=Σm(0,1,57)
• Z(ABC)=Σm(0,2,3,5)

50

50

25
CPLDs: Dispositivos Lógicos Programáveis Complexos

• Os CPLD representam um degrau de complexidade acima dos


SPLDs:
• Utiliza as SPLDs como base;
• Utilizados em projetos maiores → sintetizar um número
relativamente grande de CIs em um único chip;
• A arquitetura de um CPLD é baseada:
• Blocos lógicos (macro célula + PLA ou PAL);
• Blocos de E/S;
• Tudo interligados por uma rede de interconexão global
programável.
• Normalmente incorporam blocos combinacionais e elementos
de memória do tipo flip-flop ou registros.
51

51

CPLDs: Dispositivos Lógicos Programáveis Complexos

• Representação de um CPLD genérico.

52

52

26
CPLDs: Dispositivos Lógicos Programáveis Complexos

• Arquitetura do CPLD EPM7128S da família MAX7000S da Altera.

RSR PLDT-2 Altera

53

53

CPLDs: Dispositivos Lógicos Programáveis Complexos

• Macro célula do CPLD EPM7128S da família MAX7000S da Altera.

54

54

27
CPLDs: Dispositivos Lógicos Programáveis Complexos

• As principais estruturas do MAX7000S são:


• Os blocos de arranjos lógicos (LABs – Logic Array Blocks) e;
• O arranjo de interconexão programável (PIA – Programmable
Interconnect Array).

• Este dispositivo específico apresenta em seu arranjo:


• 8 LABs
• 128 macro células Depende muito do encapsulamento
• 100 pinos de E/S

55

55

FPGAs
Arranjos (matrizes) de portas programáveis no campo

• FPGA Diferente das CPLDs:


• No lugar de matrizes AND/OR fixo/programável, a FPGA utiliza
LUT;
• Possui matriz de células básicas de
lógica programável rodeada por
e a matriz de interconexão
programável formando o
núcleo do FPGA.

56

56

28
FPGAs: matrizes de portas programáveis no campo

• Os principais fatores que caracterizam os FPGAs são:


• A dimensão lógica (medida tanto pelo número de transistores,
como mais comumente, pelo número de elementos lógicos que
eles apresentam internamente)
• A estrutura lógica e de recursos de processamento;
• A velocidade e o consumo de energia.

• Embora variem em tamanho de alguns milhares a vários milhões


de equivalentes de portas lógicas, os FPGAs normalmente
apresentam as mesmas características básicas.

57

57

FPGAs: matrizes de portas programáveis no campo

• Características comuns aos FPGAs:


• Elementos Lógicos
• Todos os FPGA são baseados em matrizes ou arranjos, relativamente
pequenos, de elementos de lógica digital.
• Composto por: LUT, Flip-Flop, Circuitos de carry (para circuitos
aritmétricos) e circuitos em cascata.

• Look-up tables (LUTs) – tabelas de pesquisa/consulta


• Os elementos lógicos de um FPGA são geralmente compostos de
pelo menos um registrador programável e por uma lógica
combinacional de entrada;
• Lógica combinacional implementada como uma LUT de n
entradas, n geralmente menor que cinco. Estas LUTs são capazes de
implementar qualquer função combinacional de suas entradas.

58

58

29
FPGAs: matrizes de portas programáveis no campo

• Exemplo: Estrutura do Elemento Lógico do FPGA FLEX 10K

59

59

FPGAs: matrizes de portas programáveis no campo

• LE são agrupados formando um bloco matriz lógica (LAB);


• Arquitetura da LAB do FPGA FLEX 10K

60

60

30
FPGAs: matrizes de portas programáveis no campo

• Características comuns aos FPGAs:


• Recursos de memória:
• A maioria dos FPGAs incorpora alguns recursos de memória on-chip,
tais como SRAMs.
• Localizadas nos blocos de memória embutidas - EAB (Embedded Array
Block).

• Recursos de roteamento:
• Roteamento é o ponto chave para a grande flexibilidade do FPGA, e
representa um compromisso entre a flexibilidade de programação e a
eficiência da área utilizada.

61

61

FPGAs: matrizes de portas programáveis no campo

• Arquitetura da EAB do FLEX 10K e suas interconexões

62

62

31
FPGAs: matrizes de portas programáveis no campo

• Características comuns aos FPGAs:


• E/S configurável
• Os FPGAs apresentam pinos que podem ser configurados como TTL,
CMOS, PCI, e outros padrões mais, permitindo conectar-se com
diferentes tecnologias de circuitos;

• Muitos FPGAs têm inclusive E/S dedicadas de alta velocidade para


clocks e resets globais bem como muitos FPGAs incluem PLLs - Phase
Locked Loop (malha de captura de fase) e sistemas de gerenciamento
de clock que permitem a criação e o gerenciamento de projetos com
múltiplos e independentes domínios de clocks.

63

63

FPGAs: matrizes de portas programáveis no campo

• Estrutura de Elementos de I/O do Cyclone II


• Cada IOE contem um buffer
bidirecional e um registrador que
podem ser usados para armazenamento
de dados de entrada e saída.

64

64

32
FPGAs: matrizes de portas programáveis no campo

• Diagrama de blocos do FPGA FLEX 10K da Altera

65

65

FPGAs: matrizes de portas programáveis no campo

Características dos dispositivos que compõem a família Flex 10k

66

66

33
FPGAs: matrizes de portas programáveis no campo

Características dos dispositivos que compõem a família Cyclone III

67

67

FPGAs: matrizes de portas programáveis no campo

• Detalhes específicos de cada FPGA dependentes do fabricante:


• Células lógicas;
• Rede de interconexão programável;
• Blocos de E/S.

• Por exemplo:
• A Xilinx utiliza blocos lógicos configuráveis - CLB (configurable logic
block):
• CLB é baseado em um ou mais look-up tables (LUT) e biestáveis. As
LUTs por sua vez, se constituem em células de memória SRAM.
• Na Altera a definição dos blocos depende da família de FPGAs a ser
utilizada.

68

68

34

Você também pode gostar