A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Altera Excalibur. DOCUMENTAÇÃO!!!! Ambiente de Simulação Ambiente de Hardware Ambiente de Software Sistema de Prototipação Excalibur.

Apresentações semelhantes


Apresentação em tema: "Altera Excalibur. DOCUMENTAÇÃO!!!! Ambiente de Simulação Ambiente de Hardware Ambiente de Software Sistema de Prototipação Excalibur."— Transcrição da apresentação:

1 Altera Excalibur

2 DOCUMENTAÇÃO!!!!

3 Ambiente de Simulação Ambiente de Hardware Ambiente de Software Sistema de Prototipação Excalibur

4 Placa de desenvolvimento Excalibur

5 Dispositivo APEX Características nº de portas KB de RAM nios ocupa entre 25% e 35% da lógica do dispositivo Modo de programação conexão JTAG (Quartus II) memória flash Placa de desenvolvimento Excalibur

6 Memória Flash Características 1Mbyte (512Kb x 16 bits) Propósito usada como memória não volátil pelo Nios (w/r) configuração do APEX (controle de configuração) Placa de desenvolvimento Excalibur

7 Memória SRAM Características 256Kb (64Kb x 16 bits) em cada chip Nios pré-carregado (64Kb x 32 bits) Placa de desenvolvimento Excalibur

8 Conectores SODIMM Características socket de 144 pinos SODIMM módulo SDRAM (64bits) Conectada ao APEX nios pré-carregado não faz uso desta memória Placa de desenvolvimento Excalibur

9 Pinos de expansão Características 3.3 V e 5 V O APEX esta protegido dos pinos de 5V por chaves analógicas Para conexão de placas filhas, como Ethernet Placa de desenvolvimento Excalibur

10 Conectores PCI (PMC ) Características APEX PCI padrão IEEE 1386 Placa de desenvolvimento Excalibur

11 Conectores JTAG Características compatível com ByteBlaster e MasterBlaster Propósitos programar o APEX (Quartus II) reprogramar o EPM7064 ( Quartus II ou MAX+PLUS II ) Placa de desenvolvimento Excalibur

12 Chaves Características compatível com ByteBlaster e MasterBlaster Propósitos programar o APEX (Quartus II) reprogramar o EPM7064 ( Quartus II ou MAX+PLUS II ) PCM software (host) Placa de desenvolvimento Excalibur

13 Controlador de Configuração Propósito configurar o APEX Dados de configuração Quartus hexout flash (ocupa 1/4 da mem. Flash) GERMS flash Configuração de usuário x fábrica 512Kb - instruções do Nios e espaço de dados não volátil 256Kb - configuração do usuário 256Kb - configuração de fábrica Placa de desenvolvimento Excalibur

14 Entrada/Saída básica Elementos push-button switches dip switch display de 7 segmentos Placa de desenvolvimento Excalibur

15 Chaves especiais Sw2 (reset) flash APEX Sw3 (clear) depende da configuração do APEX Nios pré-carregado passa a executar o código a partir do endereço 0 Placa de desenvolvimento Excalibur

16 Circuito de clock Elementos oscilador ( MHz) distribuidor de clock Placa de desenvolvimento Excalibur

17 Circuito de clock Elementos oscilador ( MHz) distribuidor de clock Dispositivos com clock APEX pinos de expansão conectores PCM conectores SODIMM Placa de desenvolvimento Excalibur

18 Processador Nios e Periféricos

19 Fluxo de projeto Projeto do processador (Verilog / VHDL) Test Bench para simulação C Header files Custom Library Boot monitor S í ntese Place & Route Cygnus/Red Hat GNUPro Altera PLD JTAG Serial Ethernet Projeto do usu á rio IP propriet á rios C ó digo execut á vel Arquivo de configura ç ão de hardware Configuração do processador Seleção dos periféricos Generate HardwareSoftware Download & Debug C ó digo do usu á rio Biblioteca S/W RTOS Biblioteca de periféricos

20 Processador Nios

21 Processador Soft Core Configurável (Firm Core) Arquitetura RISC 32-Bit –Instruções de 16-Bit –Maioria das instruções executadas em1 ciclo de clock –Pipeline de 5 estágios Grande Banco de Registradores Internos –128, 256 or 512 registradores –32 registradores por janela Bloco de Dados Configurável –16 bits –32 bits –inclusão ou não de multiplicação Timer IRQ PBM CPU UART Nosso projeto aqui FLASH SRAM Porta Serial Altera PLD

22 Processador Nios Faixa de endereçamento –128 kbytes (16 bits) –4 Gbytes (32 bits) Desempenho : até 50 MIPS Otimizado para PLD APEX –13% do APEX EP20K200E - 16 bits –20% do APEX EP20K200E - 32 bits Freqüência Máxima de 50 MHz Endereço Base do Vetor de Exceções –64 endereços de manipuladores de exceções –Nios 32 bits = 4 bytes –Nios 16 bits = 2 bytes Operações de deslocamento com número de ciclos parametrizável –1, 3, 7, 15 or 31 Bits/Clock

23 Parâmetros do Nios Data Path (32 or 16) Tamanho do Barramento de Endereços (10 a 33-bits) Tamanho do Bloco de Registradores (128, 256 or 512) Endereço de Reset Endereço Base do Vetor de Exceções –64 endereços de manipuladores de exceções –Nios 32 bits = 4 bytes –Nios 16 bits = 2 bytes Bit Shift Speed (1, 3, 7, 15 or 31 Bits/Clock) Opções de Multiplicação

24 Diagrama de Blocos do Nios

25 Banco de Registradores por Janela Até 512 registradores de propósito geral Janela móvel permite acesso a 32 registradores por janela –8 registradores globais (fixos) –24 registradores (móveis) Automaticamente usado pelo compilador (C) Vantagens: –passagem de parâmetros –chamada rápida a subrotinas

26 Múltiplos deslocamentos em um único ciclo de clock –Incrementos de até 3, 5, 7, 15, ou 31 Bits por clock –Caro (área ocupada) Exemplo: –Bit Shift Speed configurado para 7: i << 9;/* Shift Left by 9 Bits */ –Executa em 2 Clocks Bit Shift Speed 0 Clock 1 (Shift 7 bits) Clock 2 (Shift 2 bits)

27 Software –Usa a biblioteca matemática do GNU MSTEP –Hardware Multiplicador –multiplicação de 1 bit por clock –Aumento de ~ 4X sobre a rotina de multiplicação (software) MUL –Hardware Multiplicador –16 x em 2 Clocks Multiplicador Software MSTEP MUL Ciclos de Clock 16x16>32 Ciclos de Clock 32x32>32 LEs Adicionais Opções de Multiplicação

28 Avalon: Especificação do Barramento

29 Hardware Externo

30 Introdução Objetivos do Avalon: –simplicidade –operações síncronas –baixo consumo de área (LE) Para uso on-chip Barramento multimestre mestre (nios 2.0) Periféricos mapeados em memória

31 Funções do Barramento Decodificação de endereço –Geração de chip-select Multiplexação de barramento de dados –Transferência de dados do mestre para o periférico escolhido Geração de wait-state –Ciclos de clock extra Dimensionamento dinâmico de barramento –Suporta periféricos com barramento de dados menor que o tamanho do barramento de dados do avalon Controle de interrupção –Com prioridade

32 Sistema Nios CPU Avalon Bus User I/F Nios System Module I/O Altera PLD User HW User I/F Perif. Interno (timer) Perif. Interno (UART) Perif. Externo (memória) Perif. Externo (hardware do usuário)

33 Temporização do Barramento Sinais registered (sem atraso comb.) Sinais combinacionais (com atraso comb.) Informações IMPORTANTES para construção de um wrapper entre avalon e HW do usuário Lógica D Q clock D Q clock Lógica

34 Cíclos de Leitura do Nios 0 wait-state, 0 setup/hold time (asinc. perif) 1 wait-state, 1 setup/hold time (sinc. perif) NIOS HW Nios Avalon Hw Address, readn CSData

35 Cíclos de Escrita do Nios 0 wait-state, 0 setup/hold time (asinc. perif) 0 wait-state, 1 setup/hold time (sinc. perif)

36 Nios CPU Avalon Bus User I/F Nios System Module I/O Altera PLD User HW User I/F User-Defined Interface Criação de portas para interface com outros periféricos –On-Chip & Off-Chip Configuração de temporização do barramento

37 Criando um Projeto Agora vamos criar um projeto com uma interface para ligar um hardware do usuário Copie o projeto minimal_32 do diretório de exemplos do excalibur para o seu diretório Abra o seu projeto Dê um duplo click em no bloco nios_system_module

38 Adicionando um Novo Periférico

39 Interface do Usuário 1. Código do usuário mais wrapper 2. Seleciona o top 3. Varre o VHDL para as portas - scan files 4. Manualmente escolhe o tipo da porta no barramento Avalor (Type) 5. Finish

40 Temporização Neste caso, 1 wait state

41 Gerar o hw

42 Finalizando a integração Atualize o símbolo do processador com os sinais recém- criados –selecione o símbolo e com o botão da direita update symbol or block –crie um símbolo para o hw externo file--> open para abrir o VHDL e depois em tools criar o símbolo –selecione wr_880 conecte o wr_880 ao processador

43 Sintetizando Sintetize o SOC!

44 Realizando o download

45 Executando o Nios SDK Ir para o diretório do projeto (...minimal_32/cpu_sdk/src) Coloque o fonte Compile o fonte nb lfsr32.c Execute nr lfsr32.srec


Carregar ppt "Altera Excalibur. DOCUMENTAÇÃO!!!! Ambiente de Simulação Ambiente de Hardware Ambiente de Software Sistema de Prototipação Excalibur."

Apresentações semelhantes


Anúncios Google