altera excalibur galileu batista. o que é … um dispositivo configurável com um processador arm...

24
Altera Excalibur Galileu Batista

Upload: internet

Post on 17-Apr-2015

106 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Altera Excalibur Galileu Batista. O que é … Um dispositivo configurável com Um processador ARM 922T 200 MHz RISC 32-bit MMU e Cache (8KB Inst + 8KB Dados)

Altera Excalibur

Galileu Batista

Page 2: Altera Excalibur Galileu Batista. O que é … Um dispositivo configurável com Um processador ARM 922T 200 MHz RISC 32-bit MMU e Cache (8KB Inst + 8KB Dados)

O que é …

Um dispositivo configurável com Um processador ARM 922T 200 MHz

RISC 32-bitMMU e Cache (8KB Inst + 8KB Dados)

Um PLD APEX 20KE Barramento AMBA (AHB) Suporte a memória

Interna: SRAM 128KB/256KB (dual/single)Barramento de Expansão: até 128MB

Page 3: Altera Excalibur Galileu Batista. O que é … Um dispositivo configurável com Um processador ARM 922T 200 MHz RISC 32-bit MMU e Cache (8KB Inst + 8KB Dados)

Arquitetura Geral

Page 4: Altera Excalibur Galileu Batista. O que é … Um dispositivo configurável com Um processador ARM 922T 200 MHz RISC 32-bit MMU e Cache (8KB Inst + 8KB Dados)

Propriedades do Dispositivo

Page 5: Altera Excalibur Galileu Batista. O que é … Um dispositivo configurável com Um processador ARM 922T 200 MHz RISC 32-bit MMU e Cache (8KB Inst + 8KB Dados)
Page 6: Altera Excalibur Galileu Batista. O que é … Um dispositivo configurável com Um processador ARM 922T 200 MHz RISC 32-bit MMU e Cache (8KB Inst + 8KB Dados)

Arquitetura do Processador

Page 7: Altera Excalibur Galileu Batista. O que é … Um dispositivo configurável com Um processador ARM 922T 200 MHz RISC 32-bit MMU e Cache (8KB Inst + 8KB Dados)

Processador x PLD

Processador Boot de Dispositivoexterno Execução de código próprio Comunicar-se com mundo exterior Configurar/reconfigurar o PLD

PLD Implementar periféricos (Ethernet MAC, PCI) Periféricos com acesso direto às memórias Periféricos controlados pelo processador Outros IPs ….

Page 8: Altera Excalibur Galileu Batista. O que é … Um dispositivo configurável com Um processador ARM 922T 200 MHz RISC 32-bit MMU e Cache (8KB Inst + 8KB Dados)

Arquitetura PLD (MegaLABs)

Page 9: Altera Excalibur Galileu Batista. O que é … Um dispositivo configurável com Um processador ARM 922T 200 MHz RISC 32-bit MMU e Cache (8KB Inst + 8KB Dados)

Arquitetura do MegaLAB

1 MegaLAB = 16-24 LAB + 1 ESB*

*Embedded System Block

Page 10: Altera Excalibur Galileu Batista. O que é … Um dispositivo configurável com Um processador ARM 922T 200 MHz RISC 32-bit MMU e Cache (8KB Inst + 8KB Dados)

Arquitetura de um LE

Cascade em todo o MegaLAB

Page 11: Altera Excalibur Galileu Batista. O que é … Um dispositivo configurável com Um processador ARM 922T 200 MHz RISC 32-bit MMU e Cache (8KB Inst + 8KB Dados)

LE – Modo Normal

Page 12: Altera Excalibur Galileu Batista. O que é … Um dispositivo configurável com Um processador ARM 922T 200 MHz RISC 32-bit MMU e Cache (8KB Inst + 8KB Dados)

LE Modo Normal - Exemplo

Page 13: Altera Excalibur Galileu Batista. O que é … Um dispositivo configurável com Um processador ARM 922T 200 MHz RISC 32-bit MMU e Cache (8KB Inst + 8KB Dados)

LE – Modo Aritmético

Page 14: Altera Excalibur Galileu Batista. O que é … Um dispositivo configurável com Um processador ARM 922T 200 MHz RISC 32-bit MMU e Cache (8KB Inst + 8KB Dados)

LE – Modo Aritmético - Exemplo

Page 15: Altera Excalibur Galileu Batista. O que é … Um dispositivo configurável com Um processador ARM 922T 200 MHz RISC 32-bit MMU e Cache (8KB Inst + 8KB Dados)

LE – Modo Contador

Page 16: Altera Excalibur Galileu Batista. O que é … Um dispositivo configurável com Um processador ARM 922T 200 MHz RISC 32-bit MMU e Cache (8KB Inst + 8KB Dados)

Embedded System Block

Um bloco de macro células 32 entradas

Modos de operação Produto de Termos

16 macro células Memória

CAM FIFO ROM e RAM

Page 17: Altera Excalibur Galileu Batista. O que é … Um dispositivo configurável com Um processador ARM 922T 200 MHz RISC 32-bit MMU e Cache (8KB Inst + 8KB Dados)

Malha de Interconexão

Page 18: Altera Excalibur Galileu Batista. O que é … Um dispositivo configurável com Um processador ARM 922T 200 MHz RISC 32-bit MMU e Cache (8KB Inst + 8KB Dados)

Interconexão - Detalhes

Page 19: Altera Excalibur Galileu Batista. O que é … Um dispositivo configurável com Um processador ARM 922T 200 MHz RISC 32-bit MMU e Cache (8KB Inst + 8KB Dados)

Ferramentas de Desenvolvimento

SOPC Builder Geração de Periféricos

Kernel de Sistema Operacional Mapas de Memória Rotinas para acesso aos periféricos Drivers para o Sistema Operacional

Configuração

Quartus II Configuração para HDL do usuário

GnuPRO Código para o processador

Page 20: Altera Excalibur Galileu Batista. O que é … Um dispositivo configurável com Um processador ARM 922T 200 MHz RISC 32-bit MMU e Cache (8KB Inst + 8KB Dados)

SOC Builder

Page 21: Altera Excalibur Galileu Batista. O que é … Um dispositivo configurável com Um processador ARM 922T 200 MHz RISC 32-bit MMU e Cache (8KB Inst + 8KB Dados)

“Programando” Excalibur

O código objeto para o ARM Obtido pela programação C/C++

A configuração do PLD Obtida a partir do VHDL ou Verilog

Parametrização do Processador Booting device / Endianess Clock / Memória….

Page 22: Altera Excalibur Galileu Batista. O que é … Um dispositivo configurável com Um processador ARM 922T 200 MHz RISC 32-bit MMU e Cache (8KB Inst + 8KB Dados)

Fluxo de Desenvolvimento

Page 23: Altera Excalibur Galileu Batista. O que é … Um dispositivo configurável com Um processador ARM 922T 200 MHz RISC 32-bit MMU e Cache (8KB Inst + 8KB Dados)
Page 24: Altera Excalibur Galileu Batista. O que é … Um dispositivo configurável com Um processador ARM 922T 200 MHz RISC 32-bit MMU e Cache (8KB Inst + 8KB Dados)

Exemplo de Sistema