• Nenhum resultado encontrado

SISTEMAS EMBARCADOS. Prof. Alexandre S. Nery Sistemas Embarcados

N/A
N/A
Protected

Academic year: 2022

Share "SISTEMAS EMBARCADOS. Prof. Alexandre S. Nery Sistemas Embarcados"

Copied!
31
0
0

Texto

(1)

SISTEMAS EMBARCADOS

Prof. Alexandre S. Nery

Sistemas Embarcados

(2)

Pré-requisitos desejáveis

¨  Linguagem C

¤  programação baremetal (sem SO)

¨  Sistemas Digitais

¤  and, or, xor, decoder, mux, demux, latch, flip-flop,

register, ram, rom, fsm, ALU (adder, multiplier, …) etc.

¨  Arquitetura de computadores

¤  Espera ocupada (pooling), Interrupção, Pipeline,

Dataflow (dependência de dados), Stream Processing,

etc.

(3)

Ementa

¨ 

Fundamentos de lógica reconfiguráel, Fabricação de Circuitos Integrados;

¨ 

Aplicações, Tecnologias e Arquiteturas;

¨ 

Arquitetura FPGA (LUT, BlockRAM, Distributed RAM, DSP, FF, ARM Processing System);

¨ 

RTL e Linguagem de Descrição de Hardware VHDL:

¤  entidade, arquitetura, tipos de dados, atribuição concorrente e sequencial de sinais;

¨ 

Máquinas de Estado (Mealy vs. Moore);

¨ 

Microprocessador em VHDL (Memórias, Registradores, Controle, ULA, Micropromogração, etc.);

¨ 

Controladores (VGA, E/S, Comunicação Serial UART);

¨ 

Pipelining e Paralelismo;

¨ 

Síntese de código VHDL com Xilinx Vivado;

¨ 

Vivado High-Level Synthesis (HLS);

¨ 

Co-processador/Acelerador + ARM;

¨ 

Comunicação ARM-FPGA via AXI-Lite, AXI-Full e AXI-Stream;

¨ 

Partição Hardware/Software;

¨ 

Instrumentação de código;

¨ 

Computação de alto desempenho em FPGA.

(4)

Bibliografia (1)

¨  Design Recipes for FPGAs (2 nd Edition)

¤  PDF disponível no site

(5)

Bibliografia (2)

¨  Designing with Xilinx FPGAs

¤  PDF disponível no site

¨  Outros materiais serão disponibilizados no site também

¤  Manuais e Tutoriais da

própria Xilinx

(6)

Avaliação

¨ 

Hardware-Software Co-Design para HPC

1. 

Escolher uma aplicação

2. 

Instrumentá-la (descobrir os Hot-Spots)

3. 

Migrá-la para ARM (Baremetal, sem SO)

4. 

Projetar o acelerador (em VHDL) com comunicação AXI4 entre o ARM e a Lógica Reconfigurável

1. 

Simular, Sintetizar e Executar

2. 

Medir o desempenho, custo de área do circuito e consumo de energia

5. 

Projetar o acelerador (em HLS) com comunicação AXI4 entre o ARM e a Lógica Reconfigurável

1. 

Simular, Sintetizar e Executar

2. 

Medir o desempenho, custo de área do circuito e consumo de energia

6. 

Qual o melhor? VHDL ou HLS?

7. 

Apresentação

(7)

Software + FPGAs

¨  Software + Licenças

¤  Laboratórios LabCAD e LCC

¨  FPGA Boards (só nos laboratórios)

Digilentinc Zybo Zynq-7010

Parallella

Zynq-7020

(8)

Fundamentos de Lógica Reconfigurável Fabricação de Circuitos Integrados Aplicações, Tecnologias e Arquiteturas

Arquitetura FPGA (LUT, BlockRAM, Distributed RAM, DSP, FF, ARM Processing System)

Sistemas Embarcados

(9)

Fundamentos de Sistemas Digitais

¨  Sistemas Digitais

¤  Sinais elétricos em dois níveis de corrente

¤  Lógica Binária (0 ou 1)

¤  Constituídos pela associação de portas lógicas

n  And, Or, Not, Nand, Nor, Xor, Xnor

n  Juntos podem implementar:

n  Contadores, Unidades Lógicas e Aritméticas, Multiplexadores,

Decodificadores, etc.

(10)

Fundamentos de Sistemas Digitais

A B A and B

0 0 0

0 1 0

1 0 0

1 1 1

Tabela verdade AND

A B A or B

0 0 0

0 1 1

1 0 1

1 1 1

Tabela verdade OR

A B A xor B

0 0 0

0 1 1

1 0 1

1 1 0

Tabela verdade XOR

A not A

0 1

1 0

Tabela verdade NOT

(11)

Fundamentos de Sistemas Digitais

¨  Circuitos combinacionais

¤  Implementam funções booleanas

¤  A saída depende somente das combinações das variáveis de entrada

n  S = A and B, é um exemplo de circuito combinacional

¤  São incapazes de armazenar valores

(12)

Fundamentos de Sistemas Digitais

¨  Circuitos sequenciais

¤  Também têm Entradas

n  Usam um clock (relógio)

¤  Armazenam estado (flip-flops)

¤  A saída depende da entrada & do estado armazenado

¤  O estado pode ser atualizado a cada pulso positivo do relógio

¤  Usados para criar Máquinas de Estados e Elementos de

memória (registradores, etc.)

(13)

Fundamentos de Sistemas Digitais

¨  Circuitos sequenciais

¤  Síncronos:

n  A operação é “ditada” por um clock fornecido a todos os flip-flops (Clock Distribution Networks)

n  São simples, mas limitam a velocidade e desperdiçam energia

¤  Assíncronos

n  Os flip-flops não são ativados no mesmo ciclo

n  São complexos

(14)

Fundamentos de Sistemas Digitais

¨  O mundo é analógico

¤  Sinais pertencem a um conjunto infinito

¨  Sistemas digitais

¤  Sinais pertencem a um conjunto discreto de valores

Src: http://technodabbler.com/analog-music-in-a-digital-world/

(15)

Fundamentos de Sistemas Digitais

Sinal Analógico

Conversor Analógico

Digital (ADC)

Sinal Digital

Sinal Analógico

Conversor Digital Analógico

(DAC)

Sinal Digital Discretização

Reconstrução

(16)

Fabricação de ICs

(17)

Fabricação de ICs

(18)

Fabricação de ICs

¨  Circuito (Chip) totalmente customizado “in-the-fab”

para uma dada aplicação

¤  Alto desempenho (otimizados a aplicações)

¤  Eficientes (consumo de energia “menor”)

¤  Dimensões otimizadas (posição componentes e “fios”)

¤  $$$$$ (Projeto muito mais complexo)

¤  Longo ciclo de desenvolvimento (“Time-to-market”

demorado)

¤  Alto-Risco: Não-programável

(19)

Fabricação de ICs

(20)

Field-Programmable Gate Arrays

¨  Também é um IC (Integrated Circuit)

¨  Programação “in-the-field” para cada aplicação

¤  “Menor” desempenho

¤  Eficientes (consumo de energia < GPPs)

¤  Dimensões não-otimizadas (área maior)

¤  $ (muito mais barato)

¤  Projeto mais simplificado

¤  Curto ciclo de desenvolvimento (“Rapid Time-to- market”)

¤  Baixo risco: programável

(21)

Field-Programmable Gate Arrays

(22)

¨  FPGA (Field-Programmable Gate Array)

¤  Milhares de células lógicas (CLBs) interligadas por conexões reconfiguráveis

Fundamentos de Lógica Reconf.

CLB

3-input

LUT m

u x

a b c

y

Set/Rst Clk

FF d

q

(23)

Fundamentos de Lógica Reconf.

IOB

IOB

IOB

IOB

IOB IOB IOB IOB IOB

IOB

IOB

IOB

IOB

IOB

IOB

IOB IOB IOB IOB IOB

CLB

CLB

CLB

CLB

CLB

CLB

BRAM

BRAM

BRAM

CLB

CLB

CLB

CLB

CLB

CLB

CLB

BRAM

BRAM

BRAM

CLB

CLB

CLB

CLB

CLB

CLB

IOB

IOB

IOB

IOB

IOB

IOB

IOB

IOB

IOB

IOB

IOB IOB IOB IOB IOB

IOB IOB IOB IOB IOB

“FPGAs are programmable semiconductor devices that are based around a matrix of

Configurable Logic Blocks (CLBs)

connected through programmable

interconnects.”

(24)

Fundamentos de Lógica Reconf.

CLB

3-input

LUT m

u x

a b c

y

Set/Rst Clk

FF d

q

a b c

AND

XOR y

y = (a & b) ^ c

1

1 1

1

1 0

0

1 1

1 0 0 0 1 1 0 0 1 0 0 1

0

0 0

y c b a

1 0

1 1

1

1 0 1

0

1 1 1

1 0 0 0 0 1 1 1

0

0 1 0

0 0 1 1 0

0 0 0

y c b

a m LUT

u x

m u x

m u x

m u x

m u x

m u x

m u x

0/1

y b a

c bitstream

0/1 0/1 0/1 0/1 0/1 0/1 0/1

(25)

Fundamentos de Lógica Reconf.

Somador A

B Cin

S Cout

A

B

Cout

Cin S

(26)

Fundamentos de Lógica Reconf.

(27)

Fundamentos de Lógica Reconf.

¨  Evolução rápida

(28)

Fundamentos de Lógica Reconf.

¨  Aplicações para FPGAs

¤  Prototipagem ASIC

¤  Sistemas de Comunicação (com e sem fio)

¤  Visão Computacional

¤  Sistemas Industriais

¤  Sistemas Médicos

¤  Sistemas Automotivos

¤  Militar e Aeroespacial

¤  Data Center

(29)

FPGAs modernas

¨  Circuitos dedicados (otimizados):

¤  Fast Carry Chains (high-speed adders and counters)

¤  Small memories (Distributed RAMs)

¤  Block memories (Block RAMs)

¤  Hard RISC processor block

¤  Multi-Gigabit or MGT serial transceivers

¤  DSP48 for digital signal processing

¤  Hard PCI blocks

¤  Complete System-on-Chip (SoC)

(30)

FPGA Zynq

(31)

Dever de casa

¨  Ler os capítulos 1 e 2 da bibliografia 1

¨  Ler os capítulos 1 da bibliografia 2

¨  Ler o capítulo 1 do Technical Reference Manual da Zynq (no site)

Referências

Documentos relacionados

De acordo com os resultados obtidos, os quais são concordantes com as informações encontradas na literatura, a interação da radiação micro-ondas com a fase

Pretende-se desenvolver a ideia de que é possível interpretar um sistema lógico como a ex- pressão para uma doutrina metafísica sobre o ser que especifica um determinado conceito

Adriana Maria Cerqueira Bastos Fraga Dias 2012101367 Programa Inter-Universitário de Doutoramento em Psicologia, área de especialização em Psicologia Clínica - área

O melhor, sem dúvida, é estar atento para esse medo, dar um mergulho na própria vida e perceber que, no fundo, quando alguém está decidido a ficar sozinho por medo de ser

todas as quatro imobilizações principais com 25 golpes na tate- shio-gatame; 5 saídas nesta; a técnica de saber bater(atemi); 20 golpes na hon-kesa-gatame; 5 saídas; a

Para escrever em um LCD, a entrada RS (1 bit) do LCD deve estar em '1', a entrada EN (1 bit) do LCD deve estar em '1' e, após um delay deve ocorrer uma transição para '0' em EN

Instituto de Engenharia de Sistemas e Tecnologias da Informação ­ IESTI 1a Prova de ELT024 – Programação para Sistemas

Instituto de Engenharia de Sistemas e Tecnologias da Informação ­ IESTI 2a Prova de ELT024 – Programação para Sistemas