Você está na página 1de 34

Tópicos em Microprocessadores Digitais

Sistemas Digitais
Introdução FPGA

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

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

1
Tópicos em Microprocessadores Digitais

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

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!

2
Tópicos em Microprocessadores Digitais

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
Tópicos em Microprocessadores Digitais

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
Tópicos em Microprocessadores Digitais

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

5
Tópicos em Microprocessadores Digitais

Onde utilizar FPGA?


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

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

6
Tópicos em Microprocessadores Digitais

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

Grandes empresas utilizando de FPGA


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

14

7
Tópicos em Microprocessadores Digitais

Grandes empresas utilizando de FPGA


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

15

O que preciso saber para começar?

• Conhecimento:
• Sistemas Digitais;

• Programação;

• Linguagem de Descrição de Hardware:

• VHDL

• Verilog

• SystemVerilog

16

8
Tópicos em Microprocessadores Digitais

Conceitos básicos

• Circuitos Combinacionais:

• Circuitos Sequenciais:

17

Metodologia de Projeto de Sistemas Digitais

18

9
Tópicos em Microprocessadores Digitais

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

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

10
Tópicos em Microprocessadores Digitais

Tecnologias de Circuito Integrado

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

11
Tópicos em Microprocessadores Digitais

Tecnologias de Circuito Integrado

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

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

12
Tópicos em Microprocessadores Digitais

Detalhando Time-to-Market

25

Janela de Oportunidade
• Ciclo de vida de um produto:

26

13
Tópicos em Microprocessadores Digitais

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

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

14
Tópicos em Microprocessadores Digitais

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
• Á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

Time-to-market

• Exemplo para θ = 45o :


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

• E considerando um atraso de 10 semanas?


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

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

30

15
Tópicos em Microprocessadores Digitais

Custo NRE e Custo por produto

• Considerando uma determinada implementação, os custos


envolvidos são:
• Custo NRE: 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

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

16
Tópicos em Microprocessadores Digitais

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

• 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

17
Tópicos em Microprocessadores Digitais

Tecnologias de Circuito Integrado


Continuação...

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

18
Tópicos em Microprocessadores Digitais

Tecnologias de Circuito Integrado - ASICS

37

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

38

19
Tópicos em Microprocessadores Digitais

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.

39

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

40

20
Tópicos em Microprocessadores Digitais

Tipos de PLDs:
SPLDs, CPLDs e FPGAs

41

SPLDs: Dispositivos Lógicos Programáveis Simples

• Idéia básica de um PLD.

42

21
Tópicos em Microprocessadores Digitais

SPLDs: Dispositivos Lógicos Programáveis Simples

• Simbologia simplificada

43

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.

44

22
Tópicos em Microprocessadores Digitais

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


45

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


46

23
Tópicos em Microprocessadores Digitais

SPLDs: Dispositivos Lógicos Programáveis Simples

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

47

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

Macro célula
Estrutura GAL

48

24
Tópicos em Microprocessadores Digitais

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)

49

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.
50

25
Tópicos em Microprocessadores Digitais

CPLDs: Dispositivos Lógicos Programáveis Complexos

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

51

CPLDs: Dispositivos Lógicos Programáveis Complexos

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

RSR PLDT-2 Altera

52

26
Tópicos em Microprocessadores Digitais

CPLDs: Dispositivos Lógicos Programáveis Complexos

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

53

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

54

27
Tópicos em Microprocessadores Digitais

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 arrodeada por
e a matriz de interconexão
programável formamando o
núcleo do FPGA.

55

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.

56

28
Tópicos em Microprocessadores Digitais

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.

57

FPGAs: matrizes de portas programáveis no campo

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

58

29
Tópicos em Microprocessadores Digitais

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

59

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.

60

30
Tópicos em Microprocessadores Digitais

FPGAs: matrizes de portas programáveis no campo

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

61

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.

62

31
Tópicos em Microprocessadores Digitais

FPGAs: matrizes de portas programáveis no campo

• Estrutura de I/O do Cyclone II

63

FPGAs: matrizes de portas programáveis no campo

• Diagrama de blocos do FPGA FLEX 10K da Altera

64

32
Tópicos em Microprocessadores Digitais

FPGAs: matrizes de portas programáveis no campo

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

65

FPGAs: matrizes de portas programáveis no campo

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

66

33
Tópicos em Microprocessadores Digitais

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.

67

34

Você também pode gostar